diff --git a/doc/_static/css/theme.css b/doc/_static/css/theme.css index 909adec4e..691982f99 100644 --- a/doc/_static/css/theme.css +++ b/doc/_static/css/theme.css @@ -1,5096 +1,5096 @@ @charset "UTF-8"; * { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; } article, aside, details, figcaption, figure, footer, header, hgroup, nav, section { display: block; } audio, canvas, video { display: inline-block; *display: inline; *zoom: 1; } audio:not([controls]) { display: none; } [hidden] { display: none; } * { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; } html { font-size: 100%; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; } body { margin: 0; } a:hover, a:active { outline: 0; } abbr[title] { border-bottom: 1px dotted; } b, strong { font-weight: bold; } blockquote { margin: 0; } dfn { font-style: italic; } ins { background: #ff9; color: #000; text-decoration: none; } mark { background: #ff0; color: #000; font-style: italic; font-weight: bold; } pre, code, .rst-content tt, .rst-content code, kbd, samp { font-family: monospace, serif; _font-family: "courier new", monospace; font-size: 1em; } pre { white-space: pre; } q { quotes: none; } q:before, q:after { content: ""; content: none; } small { font-size: 85%; } sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; } sup { top: -0.5em; } sub { bottom: -0.25em; } ul, ol, dl { margin: 0; padding: 0; list-style: none; list-style-image: none; } li { list-style: none; } dd { margin: 0; } img { border: 0; -ms-interpolation-mode: bicubic; vertical-align: middle; max-width: 100%; } svg:not(:root) { overflow: hidden; } figure { margin: 0; } form { margin: 0; } fieldset { border: 0; margin: 0; padding: 0; } label { cursor: pointer; } legend { border: 0; *margin-left: -7px; padding: 0; white-space: normal; } button, input, select, textarea { font-size: 100%; margin: 0; vertical-align: baseline; *vertical-align: middle; } button, input { line-height: normal; } button, input[type="button"], input[type="reset"], input[type="submit"] { cursor: pointer; -webkit-appearance: button; *overflow: visible; } button[disabled], input[disabled] { cursor: default; } input[type="checkbox"], input[type="radio"] { box-sizing: border-box; padding: 0; *width: 13px; *height: 13px; } input[type="search"] { -webkit-appearance: textfield; -moz-box-sizing: content-box; -webkit-box-sizing: content-box; box-sizing: content-box; } input[type="search"]::-webkit-search-decoration, input[type="search"]::-webkit-search-cancel-button { -webkit-appearance: none; } button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; } textarea { overflow: auto; vertical-align: top; resize: vertical; } table { border-collapse: collapse; border-spacing: 0; } td { vertical-align: top; } .chromeframe { margin: 0.2em 0; background: #ccc; color: black; padding: 0.2em 0; } .ir { display: block; border: 0; text-indent: -999em; overflow: hidden; background-color: transparent; background-repeat: no-repeat; text-align: left; direction: ltr; *line-height: 0; } .ir br { display: none; } .hidden { display: none !important; visibility: hidden; } .visuallyhidden { border: 0; clip: rect(0 0 0 0); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; } .visuallyhidden.focusable:active, .visuallyhidden.focusable:focus { clip: auto; height: auto; margin: 0; overflow: visible; position: static; width: auto; } .invisible { visibility: hidden; } .relative { position: relative; } big, small { font-size: 100%; } @media print { html, body, section { background: none !important; } * { box-shadow: none !important; text-shadow: none !important; filter: none !important; -ms-filter: none !important; } a, a:visited { text-decoration: underline; } .ir a:after, a[href^="javascript:"]:after, a[href^="#"]:after { content: ""; } pre, blockquote { page-break-inside: avoid; } thead { display: table-header-group; } tr, img { page-break-inside: avoid; } img { max-width: 100% !important; } @page { margin: 0.5cm; } p, h2, .rst-content .toctree-wrapper p.caption, h3 { orphans: 3; widows: 3; } h2, .rst-content .toctree-wrapper p.caption, h3 { page-break-after: avoid; } } .fa:before, .wy-menu-vertical li span.toctree-expand:before, .wy-menu-vertical li.on a span.toctree-expand:before, .wy-menu-vertical li.current > a span.toctree-expand:before, .rst-content .admonition-title:before, .rst-content h1 .headerlink:before, .rst-content h2 .headerlink:before, .rst-content h3 .headerlink:before, .rst-content h4 .headerlink:before, .rst-content h5 .headerlink:before, .rst-content h6 .headerlink:before, .rst-content dl dt .headerlink:before, .rst-content p.caption .headerlink:before, .rst-content tt.download span:first-child:before, .rst-content code.download span:first-child:before, .icon:before, .wy-dropdown .caret:before, .wy-inline-validate.wy-inline-validate-success .wy-input-context:before, .wy-inline-validate.wy-inline-validate-danger .wy-input-context:before, .wy-inline-validate.wy-inline-validate-warning .wy-input-context:before, .wy-inline-validate.wy-inline-validate-info .wy-input-context:before, .wy-alert, .rst-content .note, .rst-content .attention, .rst-content .caution, .rst-content .danger, .rst-content .error, .rst-content .hint, .rst-content .important, .rst-content .tip, .rst-content .warning, .rst-content .seealso, .rst-content .admonition-todo, .btn, input[type="text"], input[type="password"], input[type="email"], input[type="url"], input[type="date"], input[type="month"], input[type="time"], input[type="datetime"], input[type="datetime-local"], input[type="week"], input[type="number"], input[type="search"], input[type="tel"], input[type="color"], select, textarea, .wy-menu-vertical li.on a, .wy-menu-vertical li.current > a, .wy-side-nav-search > a, .wy-side-nav-search .wy-dropdown > a, .wy-nav-top a { -webkit-font-smoothing: antialiased; } .clearfix { *zoom: 1; } .clearfix:before, .clearfix:after { display: table; content: ""; } .clearfix:after { clear: both; } /*! * Font Awesome 4.2.0 by @davegandy - http://fontawesome.io - @fontawesome * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) */ /* FONT PATH * -------------------------- */ @font-face { font-family: 'FontAwesome'; src: url("../fonts/fontawesome-webfont.eot?v=4.2.0"); src: url("../fonts/fontawesome-webfont.eot?#iefix&v=4.2.0") format("embedded-opentype"), url("../fonts/fontawesome-webfont.woff?v=4.2.0") format("woff"), url("../fonts/fontawesome-webfont.ttf?v=4.2.0") format("truetype"), url("../fonts/fontawesome-webfont.svg?v=4.2.0#fontawesomeregular") format("svg"); font-weight: normal; font-style: normal; } .fa, .wy-menu-vertical li span.toctree-expand, .wy-menu-vertical li.on a span.toctree-expand, .wy-menu-vertical li.current > a span.toctree-expand, .rst-content .admonition-title, .rst-content h1 .headerlink, .rst-content h2 .headerlink, .rst-content h3 .headerlink, .rst-content h4 .headerlink, .rst-content h5 .headerlink, .rst-content h6 .headerlink, .rst-content dl dt .headerlink, .rst-content p.caption .headerlink, .rst-content tt.download span:first-child, .rst-content code.download span:first-child, .icon { display: inline-block; font: normal normal normal 14px/1 FontAwesome; font-size: inherit; text-rendering: auto; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } /* makes the font 33% larger relative to the icon container */ .fa-lg { font-size: 1.33333em; line-height: 0.75em; vertical-align: -15%; } .fa-2x { font-size: 2em; } .fa-3x { font-size: 3em; } .fa-4x { font-size: 4em; } .fa-5x { font-size: 5em; } .fa-fw { width: 1.28571em; text-align: center; } .fa-ul { padding-left: 0; margin-left: 2.14286em; list-style-type: none; } .fa-ul > li { position: relative; } .fa-li { position: absolute; left: -2.14286em; width: 2.14286em; top: 0.14286em; text-align: center; } .fa-li.fa-lg { left: -1.85714em; } .fa-border { padding: .2em .25em .15em; border: solid 0.08em #eee; border-radius: .1em; } .pull-right { float: right; } .pull-left { float: left; } .fa.pull-left, .wy-menu-vertical li span.pull-left.toctree-expand, .wy-menu-vertical li.on a span.pull-left.toctree-expand, .wy-menu-vertical li.current > a span.pull-left.toctree-expand, .rst-content .pull-left.admonition-title, .rst-content h1 .pull-left.headerlink, .rst-content h2 .pull-left.headerlink, .rst-content h3 .pull-left.headerlink, .rst-content h4 .pull-left.headerlink, .rst-content h5 .pull-left.headerlink, .rst-content h6 .pull-left.headerlink, .rst-content dl dt .pull-left.headerlink, .rst-content p.caption .pull-left.headerlink, .rst-content tt.download span.pull-left:first-child, .rst-content code.download span.pull-left:first-child, .pull-left.icon { margin-right: .3em; } .fa.pull-right, .wy-menu-vertical li span.pull-right.toctree-expand, .wy-menu-vertical li.on a span.pull-right.toctree-expand, .wy-menu-vertical li.current > a span.pull-right.toctree-expand, .rst-content .pull-right.admonition-title, .rst-content h1 .pull-right.headerlink, .rst-content h2 .pull-right.headerlink, .rst-content h3 .pull-right.headerlink, .rst-content h4 .pull-right.headerlink, .rst-content h5 .pull-right.headerlink, .rst-content h6 .pull-right.headerlink, .rst-content dl dt .pull-right.headerlink, .rst-content p.caption .pull-right.headerlink, .rst-content tt.download span.pull-right:first-child, .rst-content code.download span.pull-right:first-child, .pull-right.icon { margin-left: .3em; } .fa-spin { -webkit-animation: fa-spin 2s infinite linear; animation: fa-spin 2s infinite linear; } @-webkit-keyframes fa-spin { 0% { -webkit-transform: rotate(0deg); transform: rotate(0deg); } 100% { -webkit-transform: rotate(359deg); transform: rotate(359deg); } } @keyframes fa-spin { 0% { -webkit-transform: rotate(0deg); transform: rotate(0deg); } 100% { -webkit-transform: rotate(359deg); transform: rotate(359deg); } } .fa-rotate-90 { filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1); -webkit-transform: rotate(90deg); -ms-transform: rotate(90deg); transform: rotate(90deg); } .fa-rotate-180 { filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2); -webkit-transform: rotate(180deg); -ms-transform: rotate(180deg); transform: rotate(180deg); } .fa-rotate-270 { filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3); -webkit-transform: rotate(270deg); -ms-transform: rotate(270deg); transform: rotate(270deg); } .fa-flip-horizontal { filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=0); -webkit-transform: scale(-1, 1); -ms-transform: scale(-1, 1); transform: scale(-1, 1); } .fa-flip-vertical { filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2); -webkit-transform: scale(1, -1); -ms-transform: scale(1, -1); transform: scale(1, -1); } :root .fa-rotate-90, :root .fa-rotate-180, :root .fa-rotate-270, :root .fa-flip-horizontal, :root .fa-flip-vertical { filter: none; } .fa-stack { position: relative; display: inline-block; width: 2em; height: 2em; line-height: 2em; vertical-align: middle; } .fa-stack-1x, .fa-stack-2x { position: absolute; left: 0; width: 100%; text-align: center; } .fa-stack-1x { line-height: inherit; } .fa-stack-2x { font-size: 2em; } .fa-inverse { color: #fff; } /* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen readers do not read off random characters that represent icons */ .fa-glass:before { content: ""; } .fa-music:before { content: ""; } .fa-search:before, .icon-search:before { content: ""; } .fa-envelope-o:before { content: ""; } .fa-heart:before { content: ""; } .fa-star:before { content: ""; } .fa-star-o:before { content: ""; } .fa-user:before { content: ""; } .fa-film:before { content: ""; } .fa-th-large:before { content: ""; } .fa-th:before { content: ""; } .fa-th-list:before { content: ""; } .fa-check:before { content: ""; } .fa-remove:before, .fa-close:before, .fa-times:before { content: ""; } .fa-search-plus:before { content: ""; } .fa-search-minus:before { content: ""; } .fa-power-off:before { content: ""; } .fa-signal:before { content: ""; } .fa-gear:before, .fa-cog:before { content: ""; } .fa-trash-o:before { content: ""; } .fa-home:before, .icon-home:before { content: ""; } .fa-file-o:before { content: ""; } .fa-clock-o:before { content: ""; } .fa-road:before { content: ""; } .fa-download:before, .rst-content tt.download span:first-child:before, .rst-content code.download span:first-child:before { content: ""; } .fa-arrow-circle-o-down:before { content: ""; } .fa-arrow-circle-o-up:before { content: ""; } .fa-inbox:before { content: ""; } .fa-play-circle-o:before { content: ""; } .fa-rotate-right:before, .fa-repeat:before { content: ""; } .fa-refresh:before { content: ""; } .fa-list-alt:before { content: ""; } .fa-lock:before { content: ""; } .fa-flag:before { content: ""; } .fa-headphones:before { content: ""; } .fa-volume-off:before { content: ""; } .fa-volume-down:before { content: ""; } .fa-volume-up:before { content: ""; } .fa-qrcode:before { content: ""; } .fa-barcode:before { content: ""; } .fa-tag:before { content: ""; } .fa-tags:before { content: ""; } .fa-book:before, .icon-book:before { content: ""; } .fa-bookmark:before { content: ""; } .fa-print:before { content: ""; } .fa-camera:before { content: ""; } .fa-font:before { content: ""; } .fa-bold:before { content: ""; } .fa-italic:before { content: ""; } .fa-text-height:before { content: ""; } .fa-text-width:before { content: ""; } .fa-align-left:before { content: ""; } .fa-align-center:before { content: ""; } .fa-align-right:before { content: ""; } .fa-align-justify:before { content: ""; } .fa-list:before { content: ""; } .fa-dedent:before, .fa-outdent:before { content: ""; } .fa-indent:before { content: ""; } .fa-video-camera:before { content: ""; } .fa-photo:before, .fa-image:before, .fa-picture-o:before { content: ""; } .fa-pencil:before { content: ""; } .fa-map-marker:before { content: ""; } .fa-adjust:before { content: ""; } .fa-tint:before { content: ""; } .fa-edit:before, .fa-pencil-square-o:before { content: ""; } .fa-share-square-o:before { content: ""; } .fa-check-square-o:before { content: ""; } .fa-arrows:before { content: ""; } .fa-step-backward:before { content: ""; } .fa-fast-backward:before { content: ""; } .fa-backward:before { content: ""; } .fa-play:before { content: ""; } .fa-pause:before { content: ""; } .fa-stop:before { content: ""; } .fa-forward:before { content: ""; } .fa-fast-forward:before { content: ""; } .fa-step-forward:before { content: ""; } .fa-eject:before { content: ""; } .fa-chevron-left:before { content: ""; } .fa-chevron-right:before { content: ""; } .fa-plus-circle:before { content: ""; } .fa-minus-circle:before { content: ""; } .fa-times-circle:before, .wy-inline-validate.wy-inline-validate-danger .wy-input-context:before { content: ""; } .fa-check-circle:before, .wy-inline-validate.wy-inline-validate-success .wy-input-context:before { content: ""; } .fa-question-circle:before { content: ""; } .fa-info-circle:before { content: ""; } .fa-crosshairs:before { content: ""; } .fa-times-circle-o:before { content: ""; } .fa-check-circle-o:before { content: ""; } .fa-ban:before { content: ""; } .fa-arrow-left:before { content: ""; } .fa-arrow-right:before { content: ""; } .fa-arrow-up:before { content: ""; } .fa-arrow-down:before { content: ""; } .fa-mail-forward:before, .fa-share:before { content: ""; } .fa-expand:before { content: ""; } .fa-compress:before { content: ""; } .fa-plus:before { content: ""; } .fa-minus:before { content: ""; } .fa-asterisk:before { content: ""; } .fa-exclamation-circle:before, .wy-inline-validate.wy-inline-validate-warning .wy-input-context:before, .wy-inline-validate.wy-inline-validate-info .wy-input-context:before, .rst-content .admonition-title:before { content: ""; } .fa-gift:before { content: ""; } .fa-leaf:before { content: ""; } .fa-fire:before, .icon-fire:before { content: ""; } .fa-eye:before { content: ""; } .fa-eye-slash:before { content: ""; } .fa-warning:before, .fa-exclamation-triangle:before { content: ""; } .fa-plane:before { content: ""; } .fa-calendar:before { content: ""; } .fa-random:before { content: ""; } .fa-comment:before { content: ""; } .fa-magnet:before { content: ""; } .fa-chevron-up:before { content: ""; } .fa-chevron-down:before { content: ""; } .fa-retweet:before { content: ""; } .fa-shopping-cart:before { content: ""; } .fa-folder:before { content: ""; } .fa-folder-open:before { content: ""; } .fa-arrows-v:before { content: ""; } .fa-arrows-h:before { content: ""; } .fa-bar-chart-o:before, .fa-bar-chart:before { content: ""; } .fa-twitter-square:before { content: ""; } .fa-facebook-square:before { content: ""; } .fa-camera-retro:before { content: ""; } .fa-key:before { content: ""; } .fa-gears:before, .fa-cogs:before { content: ""; } .fa-comments:before { content: ""; } .fa-thumbs-o-up:before { content: ""; } .fa-thumbs-o-down:before { content: ""; } .fa-star-half:before { content: ""; } .fa-heart-o:before { content: ""; } .fa-sign-out:before { content: ""; } .fa-linkedin-square:before { content: ""; } .fa-thumb-tack:before { content: ""; } .fa-external-link:before { content: ""; } .fa-sign-in:before { content: ""; } .fa-trophy:before { content: ""; } .fa-github-square:before { content: ""; } .fa-upload:before { content: ""; } .fa-lemon-o:before { content: ""; } .fa-phone:before { content: ""; } .fa-square-o:before { content: ""; } .fa-bookmark-o:before { content: ""; } .fa-phone-square:before { content: ""; } .fa-twitter:before { content: ""; } .fa-facebook:before { content: ""; } .fa-github:before, .icon-github:before { content: ""; } .fa-unlock:before { content: ""; } .fa-credit-card:before { content: ""; } .fa-rss:before { content: ""; } .fa-hdd-o:before { content: ""; } .fa-bullhorn:before { content: ""; } .fa-bell:before { content: ""; } .fa-certificate:before { content: ""; } .fa-hand-o-right:before { content: ""; } .fa-hand-o-left:before { content: ""; } .fa-hand-o-up:before { content: ""; } .fa-hand-o-down:before { content: ""; } .fa-arrow-circle-left:before, .icon-circle-arrow-left:before { content: ""; } .fa-arrow-circle-right:before, .icon-circle-arrow-right:before { content: ""; } .fa-arrow-circle-up:before { content: ""; } .fa-arrow-circle-down:before { content: ""; } .fa-globe:before { content: ""; } .fa-wrench:before { content: ""; } .fa-tasks:before { content: ""; } .fa-filter:before { content: ""; } .fa-briefcase:before { content: ""; } .fa-arrows-alt:before { content: ""; } .fa-group:before, .fa-users:before { content: ""; } .fa-chain:before, .fa-link:before, .icon-link:before { content: ""; } .fa-cloud:before { content: ""; } .fa-flask:before { content: ""; } .fa-cut:before, .fa-scissors:before { content: ""; } .fa-copy:before, .fa-files-o:before { content: ""; } .fa-paperclip:before { content: ""; } .fa-save:before, .fa-floppy-o:before { content: ""; } .fa-square:before { content: ""; } .fa-navicon:before, .fa-reorder:before, .fa-bars:before { content: ""; } .fa-list-ul:before { content: ""; } .fa-list-ol:before { content: ""; } .fa-strikethrough:before { content: ""; } .fa-underline:before { content: ""; } .fa-table:before { content: ""; } .fa-magic:before { content: ""; } .fa-truck:before { content: ""; } .fa-pinterest:before { content: ""; } .fa-pinterest-square:before { content: ""; } .fa-google-plus-square:before { content: ""; } .fa-google-plus:before { content: ""; } .fa-money:before { content: ""; } .fa-caret-down:before, .wy-dropdown .caret:before, .icon-caret-down:before { content: ""; } .fa-caret-up:before { content: ""; } .fa-caret-left:before { content: ""; } .fa-caret-right:before { content: ""; } .fa-columns:before { content: ""; } .fa-unsorted:before, .fa-sort:before { content: ""; } .fa-sort-down:before, .fa-sort-desc:before { content: ""; } .fa-sort-up:before, .fa-sort-asc:before { content: ""; } .fa-envelope:before { content: ""; } .fa-linkedin:before { content: ""; } .fa-rotate-left:before, .fa-undo:before { content: ""; } .fa-legal:before, .fa-gavel:before { content: ""; } .fa-dashboard:before, .fa-tachometer:before { content: ""; } .fa-comment-o:before { content: ""; } .fa-comments-o:before { content: ""; } .fa-flash:before, .fa-bolt:before { content: ""; } .fa-sitemap:before { content: ""; } .fa-umbrella:before { content: ""; } .fa-paste:before, .fa-clipboard:before { content: ""; } .fa-lightbulb-o:before { content: ""; } .fa-exchange:before { content: ""; } .fa-cloud-download:before { content: ""; } .fa-cloud-upload:before { content: ""; } .fa-user-md:before { content: ""; } .fa-stethoscope:before { content: ""; } .fa-suitcase:before { content: ""; } .fa-bell-o:before { content: ""; } .fa-coffee:before { content: ""; } .fa-cutlery:before { content: ""; } .fa-file-text-o:before { content: ""; } .fa-building-o:before { content: ""; } .fa-hospital-o:before { content: ""; } .fa-ambulance:before { content: ""; } .fa-medkit:before { content: ""; } .fa-fighter-jet:before { content: ""; } .fa-beer:before { content: ""; } .fa-h-square:before { content: ""; } .fa-plus-square:before { content: ""; } .fa-angle-double-left:before { content: ""; } .fa-angle-double-right:before { content: ""; } .fa-angle-double-up:before { content: ""; } .fa-angle-double-down:before { content: ""; } .fa-angle-left:before { content: ""; } .fa-angle-right:before { content: ""; } .fa-angle-up:before { content: ""; } .fa-angle-down:before { content: ""; } .fa-desktop:before { content: ""; } .fa-laptop:before { content: ""; } .fa-tablet:before { content: ""; } .fa-mobile-phone:before, .fa-mobile:before { content: ""; } .fa-circle-o:before { content: ""; } .fa-quote-left:before { content: ""; } .fa-quote-right:before { content: ""; } .fa-spinner:before { content: ""; } .fa-circle:before { content: ""; } .fa-mail-reply:before, .fa-reply:before { content: ""; } .fa-github-alt:before { content: ""; } .fa-folder-o:before { content: ""; } .fa-folder-open-o:before { content: ""; } .fa-smile-o:before { content: ""; } .fa-frown-o:before { content: ""; } .fa-meh-o:before { content: ""; } .fa-gamepad:before { content: ""; } .fa-keyboard-o:before { content: ""; } .fa-flag-o:before { content: ""; } .fa-flag-checkered:before { content: ""; } .fa-terminal:before { content: ""; } .fa-code:before { content: ""; } .fa-mail-reply-all:before, .fa-reply-all:before { content: ""; } .fa-star-half-empty:before, .fa-star-half-full:before, .fa-star-half-o:before { content: ""; } .fa-location-arrow:before { content: ""; } .fa-crop:before { content: ""; } .fa-code-fork:before { content: ""; } .fa-unlink:before, .fa-chain-broken:before { content: ""; } .fa-question:before { content: ""; } .fa-info:before { content: ""; } .fa-exclamation:before { content: ""; } .fa-superscript:before { content: ""; } .fa-subscript:before { content: ""; } .fa-eraser:before { content: ""; } .fa-puzzle-piece:before { content: ""; } .fa-microphone:before { content: ""; } .fa-microphone-slash:before { content: ""; } .fa-shield:before { content: ""; } .fa-calendar-o:before { content: ""; } .fa-fire-extinguisher:before { content: ""; } .fa-rocket:before { content: ""; } .fa-maxcdn:before { content: ""; } .fa-chevron-circle-left:before { content: ""; } .fa-chevron-circle-right:before { content: ""; } .fa-chevron-circle-up:before { content: ""; } .fa-chevron-circle-down:before { content: ""; } .fa-html5:before { content: ""; } .fa-css3:before { content: ""; } .fa-anchor:before { content: ""; } .fa-unlock-alt:before { content: ""; } .fa-bullseye:before { content: ""; } .fa-ellipsis-h:before { content: ""; } .fa-ellipsis-v:before { content: ""; } .fa-rss-square:before { content: ""; } .fa-play-circle:before { content: ""; } .fa-ticket:before { content: ""; } .fa-minus-square:before { content: ""; } .fa-minus-square-o:before, .wy-menu-vertical li.on a span.toctree-expand:before, .wy-menu-vertical li.current > a span.toctree-expand:before { content: ""; } .fa-level-up:before { content: ""; } .fa-level-down:before { content: ""; } .fa-check-square:before { content: ""; } .fa-pencil-square:before { content: ""; } .fa-external-link-square:before { content: ""; } .fa-share-square:before { content: ""; } .fa-compass:before { content: ""; } .fa-toggle-down:before, .fa-caret-square-o-down:before { content: ""; } .fa-toggle-up:before, .fa-caret-square-o-up:before { content: ""; } .fa-toggle-right:before, .fa-caret-square-o-right:before { content: ""; } .fa-euro:before, .fa-eur:before { content: ""; } .fa-gbp:before { content: ""; } .fa-dollar:before, .fa-usd:before { content: ""; } .fa-rupee:before, .fa-inr:before { content: ""; } .fa-cny:before, .fa-rmb:before, .fa-yen:before, .fa-jpy:before { content: ""; } .fa-ruble:before, .fa-rouble:before, .fa-rub:before { content: ""; } .fa-won:before, .fa-krw:before { content: ""; } .fa-bitcoin:before, .fa-btc:before { content: ""; } .fa-file:before { content: ""; } .fa-file-text:before { content: ""; } .fa-sort-alpha-asc:before { content: ""; } .fa-sort-alpha-desc:before { content: ""; } .fa-sort-amount-asc:before { content: ""; } .fa-sort-amount-desc:before { content: ""; } .fa-sort-numeric-asc:before { content: ""; } .fa-sort-numeric-desc:before { content: ""; } .fa-thumbs-up:before { content: ""; } .fa-thumbs-down:before { content: ""; } .fa-youtube-square:before { content: ""; } .fa-youtube:before { content: ""; } .fa-xing:before { content: ""; } .fa-xing-square:before { content: ""; } .fa-youtube-play:before { content: ""; } .fa-dropbox:before { content: ""; } .fa-stack-overflow:before { content: ""; } .fa-instagram:before { content: ""; } .fa-flickr:before { content: ""; } .fa-adn:before { content: ""; } .fa-bitbucket:before, .icon-bitbucket:before { content: ""; } .fa-bitbucket-square:before { content: ""; } .fa-tumblr:before { content: ""; } .fa-tumblr-square:before { content: ""; } .fa-long-arrow-down:before { content: ""; } .fa-long-arrow-up:before { content: ""; } .fa-long-arrow-left:before { content: ""; } .fa-long-arrow-right:before { content: ""; } .fa-apple:before { content: ""; } .fa-windows:before { content: ""; } .fa-android:before { content: ""; } .fa-linux:before { content: ""; } .fa-dribbble:before { content: ""; } .fa-skype:before { content: ""; } .fa-foursquare:before { content: ""; } .fa-trello:before { content: ""; } .fa-female:before { content: ""; } .fa-male:before { content: ""; } .fa-gittip:before { content: ""; } .fa-sun-o:before { content: ""; } .fa-moon-o:before { content: ""; } .fa-archive:before { content: ""; } .fa-bug:before { content: ""; } .fa-vk:before { content: ""; } .fa-weibo:before { content: ""; } .fa-renren:before { content: ""; } .fa-pagelines:before { content: ""; } .fa-stack-exchange:before { content: ""; } .fa-arrow-circle-o-right:before { content: ""; } .fa-arrow-circle-o-left:before { content: ""; } .fa-toggle-left:before, .fa-caret-square-o-left:before { content: ""; } .fa-dot-circle-o:before { content: ""; } .fa-wheelchair:before { content: ""; } .fa-vimeo-square:before { content: ""; } .fa-turkish-lira:before, .fa-try:before { content: ""; } .fa-plus-square-o:before, .wy-menu-vertical li span.toctree-expand:before { content: ""; } .fa-space-shuttle:before { content: ""; } .fa-slack:before { content: ""; } .fa-envelope-square:before { content: ""; } .fa-wordpress:before { content: ""; } .fa-openid:before { content: ""; } .fa-institution:before, .fa-bank:before, .fa-university:before { content: ""; } .fa-mortar-board:before, .fa-graduation-cap:before { content: ""; } .fa-yahoo:before { content: ""; } .fa-google:before { content: ""; } .fa-reddit:before { content: ""; } .fa-reddit-square:before { content: ""; } .fa-stumbleupon-circle:before { content: ""; } .fa-stumbleupon:before { content: ""; } .fa-delicious:before { content: ""; } .fa-digg:before { content: ""; } .fa-pied-piper:before { content: ""; } .fa-pied-piper-alt:before { content: ""; } .fa-drupal:before { content: ""; } .fa-joomla:before { content: ""; } .fa-language:before { content: ""; } .fa-fax:before { content: ""; } .fa-building:before { content: ""; } .fa-child:before { content: ""; } .fa-paw:before { content: ""; } .fa-spoon:before { content: ""; } .fa-cube:before { content: ""; } .fa-cubes:before { content: ""; } .fa-behance:before { content: ""; } .fa-behance-square:before { content: ""; } .fa-steam:before { content: ""; } .fa-steam-square:before { content: ""; } .fa-recycle:before { content: ""; } .fa-automobile:before, .fa-car:before { content: ""; } .fa-cab:before, .fa-taxi:before { content: ""; } .fa-tree:before { content: ""; } .fa-spotify:before { content: ""; } .fa-deviantart:before { content: ""; } .fa-soundcloud:before { content: ""; } .fa-database:before { content: ""; } .fa-file-pdf-o:before { content: ""; } .fa-file-word-o:before { content: ""; } .fa-file-excel-o:before { content: ""; } .fa-file-powerpoint-o:before { content: ""; } .fa-file-photo-o:before, .fa-file-picture-o:before, .fa-file-image-o:before { content: ""; } .fa-file-zip-o:before, .fa-file-archive-o:before { content: ""; } .fa-file-sound-o:before, .fa-file-audio-o:before { content: ""; } .fa-file-movie-o:before, .fa-file-video-o:before { content: ""; } .fa-file-code-o:before { content: ""; } .fa-vine:before { content: ""; } .fa-codepen:before { content: ""; } .fa-jsfiddle:before { content: ""; } .fa-life-bouy:before, .fa-life-buoy:before, .fa-life-saver:before, .fa-support:before, .fa-life-ring:before { content: ""; } .fa-circle-o-notch:before { content: ""; } .fa-ra:before, .fa-rebel:before { content: ""; } .fa-ge:before, .fa-empire:before { content: ""; } .fa-git-square:before { content: ""; } .fa-git:before { content: ""; } .fa-hacker-news:before { content: ""; } .fa-tencent-weibo:before { content: ""; } .fa-qq:before { content: ""; } .fa-wechat:before, .fa-weixin:before { content: ""; } .fa-send:before, .fa-paper-plane:before { content: ""; } .fa-send-o:before, .fa-paper-plane-o:before { content: ""; } .fa-history:before { content: ""; } .fa-circle-thin:before { content: ""; } .fa-header:before { content: ""; } .fa-paragraph:before { content: ""; } .fa-sliders:before { content: ""; } .fa-share-alt:before { content: ""; } .fa-share-alt-square:before { content: ""; } .fa-bomb:before { content: ""; } .fa-soccer-ball-o:before, .fa-futbol-o:before { content: ""; } .fa-tty:before { content: ""; } .fa-binoculars:before { content: ""; } .fa-plug:before { content: ""; } .fa-slideshare:before { content: ""; } .fa-twitch:before { content: ""; } .fa-yelp:before { content: ""; } .fa-newspaper-o:before { content: ""; } .fa-wifi:before { content: ""; } .fa-calculator:before { content: ""; } .fa-paypal:before { content: ""; } .fa-google-wallet:before { content: ""; } .fa-cc-visa:before { content: ""; } .fa-cc-mastercard:before { content: ""; } .fa-cc-discover:before { content: ""; } .fa-cc-amex:before { content: ""; } .fa-cc-paypal:before { content: ""; } .fa-cc-stripe:before { content: ""; } .fa-bell-slash:before { content: ""; } .fa-bell-slash-o:before { content: ""; } .fa-trash:before { content: ""; } .fa-copyright:before { content: ""; } .fa-at:before { content: ""; } .fa-eyedropper:before { content: ""; } .fa-paint-brush:before { content: ""; } .fa-birthday-cake:before { content: ""; } .fa-area-chart:before { content: ""; } .fa-pie-chart:before { content: ""; } .fa-line-chart:before { content: ""; } .fa-lastfm:before { content: ""; } .fa-lastfm-square:before { content: ""; } .fa-toggle-off:before { content: ""; } .fa-toggle-on:before { content: ""; } .fa-bicycle:before { content: ""; } .fa-bus:before { content: ""; } .fa-ioxhost:before { content: ""; } .fa-angellist:before { content: ""; } .fa-cc:before { content: ""; } .fa-shekel:before, .fa-sheqel:before, .fa-ils:before { content: ""; } .fa-meanpath:before { content: ""; } .fa, .wy-menu-vertical li span.toctree-expand, .wy-menu-vertical li.on a span.toctree-expand, .wy-menu-vertical li.current > a span.toctree-expand, .rst-content .admonition-title, .rst-content h1 .headerlink, .rst-content h2 .headerlink, .rst-content h3 .headerlink, .rst-content h4 .headerlink, .rst-content h5 .headerlink, .rst-content h6 .headerlink, .rst-content dl dt .headerlink, .rst-content p.caption .headerlink, .rst-content tt.download span:first-child, .rst-content code.download span:first-child, .icon, .wy-dropdown .caret, .wy-inline-validate.wy-inline-validate-success .wy-input-context, .wy-inline-validate.wy-inline-validate-danger .wy-input-context, .wy-inline-validate.wy-inline-validate-warning .wy-input-context, .wy-inline-validate.wy-inline-validate-info .wy-input-context { font-family: inherit; } .fa:before, .wy-menu-vertical li span.toctree-expand:before, .wy-menu-vertical li.on a span.toctree-expand:before, .wy-menu-vertical li.current > a span.toctree-expand:before, .rst-content .admonition-title:before, .rst-content h1 .headerlink:before, .rst-content h2 .headerlink:before, .rst-content h3 .headerlink:before, .rst-content h4 .headerlink:before, .rst-content h5 .headerlink:before, .rst-content h6 .headerlink:before, .rst-content dl dt .headerlink:before, .rst-content p.caption .headerlink:before, .rst-content tt.download span:first-child:before, .rst-content code.download span:first-child:before, .icon:before, .wy-dropdown .caret:before, .wy-inline-validate.wy-inline-validate-success .wy-input-context:before, .wy-inline-validate.wy-inline-validate-danger .wy-input-context:before, .wy-inline-validate.wy-inline-validate-warning .wy-input-context:before, .wy-inline-validate.wy-inline-validate-info .wy-input-context:before { font-family: "FontAwesome"; display: inline-block; font-style: normal; font-weight: normal; line-height: 1; text-decoration: inherit; } a .fa, a .wy-menu-vertical li span.toctree-expand, .wy-menu-vertical li a span.toctree-expand, .wy-menu-vertical li.on a span.toctree-expand, .wy-menu-vertical li.current > a span.toctree-expand, a .rst-content .admonition-title, .rst-content a .admonition-title, a .rst-content h1 .headerlink, .rst-content h1 a .headerlink, a .rst-content h2 .headerlink, .rst-content h2 a .headerlink, a .rst-content h3 .headerlink, .rst-content h3 a .headerlink, a .rst-content h4 .headerlink, .rst-content h4 a .headerlink, a .rst-content h5 .headerlink, .rst-content h5 a .headerlink, a .rst-content h6 .headerlink, .rst-content h6 a .headerlink, a .rst-content dl dt .headerlink, .rst-content dl dt a .headerlink, a .rst-content p.caption .headerlink, .rst-content p.caption a .headerlink, a .rst-content tt.download span:first-child, .rst-content tt.download a span:first-child, a .rst-content code.download span:first-child, .rst-content code.download a span:first-child, a .icon { display: inline-block; text-decoration: inherit; } .btn .fa, .btn .wy-menu-vertical li span.toctree-expand, .wy-menu-vertical li .btn span.toctree-expand, .btn .wy-menu-vertical li.on a span.toctree-expand, .wy-menu-vertical li.on a .btn span.toctree-expand, .btn .wy-menu-vertical li.current > a span.toctree-expand, .wy-menu-vertical li.current > a .btn span.toctree-expand, .btn .rst-content .admonition-title, .rst-content .btn .admonition-title, .btn .rst-content h1 .headerlink, .rst-content h1 .btn .headerlink, .btn .rst-content h2 .headerlink, .rst-content h2 .btn .headerlink, .btn .rst-content h3 .headerlink, .rst-content h3 .btn .headerlink, .btn .rst-content h4 .headerlink, .rst-content h4 .btn .headerlink, .btn .rst-content h5 .headerlink, .rst-content h5 .btn .headerlink, .btn .rst-content h6 .headerlink, .rst-content h6 .btn .headerlink, .btn .rst-content dl dt .headerlink, .rst-content dl dt .btn .headerlink, .btn .rst-content p.caption .headerlink, .rst-content p.caption .btn .headerlink, .btn .rst-content tt.download span:first-child, .rst-content tt.download .btn span:first-child, .btn .rst-content code.download span:first-child, .rst-content code.download .btn span:first-child, .btn .icon, .nav .fa, .nav .wy-menu-vertical li span.toctree-expand, .wy-menu-vertical li .nav span.toctree-expand, .nav .wy-menu-vertical li.on a span.toctree-expand, .wy-menu-vertical li.on a .nav span.toctree-expand, .nav .wy-menu-vertical li.current > a span.toctree-expand, .wy-menu-vertical li.current > a .nav span.toctree-expand, .nav .rst-content .admonition-title, .rst-content .nav .admonition-title, .nav .rst-content h1 .headerlink, .rst-content h1 .nav .headerlink, .nav .rst-content h2 .headerlink, .rst-content h2 .nav .headerlink, .nav .rst-content h3 .headerlink, .rst-content h3 .nav .headerlink, .nav .rst-content h4 .headerlink, .rst-content h4 .nav .headerlink, .nav .rst-content h5 .headerlink, .rst-content h5 .nav .headerlink, .nav .rst-content h6 .headerlink, .rst-content h6 .nav .headerlink, .nav .rst-content dl dt .headerlink, .rst-content dl dt .nav .headerlink, .nav .rst-content p.caption .headerlink, .rst-content p.caption .nav .headerlink, .nav .rst-content tt.download span:first-child, .rst-content tt.download .nav span:first-child, .nav .rst-content code.download span:first-child, .rst-content code.download .nav span:first-child, .nav .icon { display: inline; } .btn .fa.fa-large, .btn .wy-menu-vertical li span.fa-large.toctree-expand, .wy-menu-vertical li .btn span.fa-large.toctree-expand, .btn .rst-content .fa-large.admonition-title, .rst-content .btn .fa-large.admonition-title, .btn .rst-content h1 .fa-large.headerlink, .rst-content h1 .btn .fa-large.headerlink, .btn .rst-content h2 .fa-large.headerlink, .rst-content h2 .btn .fa-large.headerlink, .btn .rst-content h3 .fa-large.headerlink, .rst-content h3 .btn .fa-large.headerlink, .btn .rst-content h4 .fa-large.headerlink, .rst-content h4 .btn .fa-large.headerlink, .btn .rst-content h5 .fa-large.headerlink, .rst-content h5 .btn .fa-large.headerlink, .btn .rst-content h6 .fa-large.headerlink, .rst-content h6 .btn .fa-large.headerlink, .btn .rst-content dl dt .fa-large.headerlink, .rst-content dl dt .btn .fa-large.headerlink, .btn .rst-content p.caption .fa-large.headerlink, .rst-content p.caption .btn .fa-large.headerlink, .btn .rst-content tt.download span.fa-large:first-child, .rst-content tt.download .btn span.fa-large:first-child, .btn .rst-content code.download span.fa-large:first-child, .rst-content code.download .btn span.fa-large:first-child, .btn .fa-large.icon, .nav .fa.fa-large, .nav .wy-menu-vertical li span.fa-large.toctree-expand, .wy-menu-vertical li .nav span.fa-large.toctree-expand, .nav .rst-content .fa-large.admonition-title, .rst-content .nav .fa-large.admonition-title, .nav .rst-content h1 .fa-large.headerlink, .rst-content h1 .nav .fa-large.headerlink, .nav .rst-content h2 .fa-large.headerlink, .rst-content h2 .nav .fa-large.headerlink, .nav .rst-content h3 .fa-large.headerlink, .rst-content h3 .nav .fa-large.headerlink, .nav .rst-content h4 .fa-large.headerlink, .rst-content h4 .nav .fa-large.headerlink, .nav .rst-content h5 .fa-large.headerlink, .rst-content h5 .nav .fa-large.headerlink, .nav .rst-content h6 .fa-large.headerlink, .rst-content h6 .nav .fa-large.headerlink, .nav .rst-content dl dt .fa-large.headerlink, .rst-content dl dt .nav .fa-large.headerlink, .nav .rst-content p.caption .fa-large.headerlink, .rst-content p.caption .nav .fa-large.headerlink, .nav .rst-content tt.download span.fa-large:first-child, .rst-content tt.download .nav span.fa-large:first-child, .nav .rst-content code.download span.fa-large:first-child, .rst-content code.download .nav span.fa-large:first-child, .nav .fa-large.icon { line-height: 0.9em; } .btn .fa.fa-spin, .btn .wy-menu-vertical li span.fa-spin.toctree-expand, .wy-menu-vertical li .btn span.fa-spin.toctree-expand, .btn .rst-content .fa-spin.admonition-title, .rst-content .btn .fa-spin.admonition-title, .btn .rst-content h1 .fa-spin.headerlink, .rst-content h1 .btn .fa-spin.headerlink, .btn .rst-content h2 .fa-spin.headerlink, .rst-content h2 .btn .fa-spin.headerlink, .btn .rst-content h3 .fa-spin.headerlink, .rst-content h3 .btn .fa-spin.headerlink, .btn .rst-content h4 .fa-spin.headerlink, .rst-content h4 .btn .fa-spin.headerlink, .btn .rst-content h5 .fa-spin.headerlink, .rst-content h5 .btn .fa-spin.headerlink, .btn .rst-content h6 .fa-spin.headerlink, .rst-content h6 .btn .fa-spin.headerlink, .btn .rst-content dl dt .fa-spin.headerlink, .rst-content dl dt .btn .fa-spin.headerlink, .btn .rst-content p.caption .fa-spin.headerlink, .rst-content p.caption .btn .fa-spin.headerlink, .btn .rst-content tt.download span.fa-spin:first-child, .rst-content tt.download .btn span.fa-spin:first-child, .btn .rst-content code.download span.fa-spin:first-child, .rst-content code.download .btn span.fa-spin:first-child, .btn .fa-spin.icon, .nav .fa.fa-spin, .nav .wy-menu-vertical li span.fa-spin.toctree-expand, .wy-menu-vertical li .nav span.fa-spin.toctree-expand, .nav .rst-content .fa-spin.admonition-title, .rst-content .nav .fa-spin.admonition-title, .nav .rst-content h1 .fa-spin.headerlink, .rst-content h1 .nav .fa-spin.headerlink, .nav .rst-content h2 .fa-spin.headerlink, .rst-content h2 .nav .fa-spin.headerlink, .nav .rst-content h3 .fa-spin.headerlink, .rst-content h3 .nav .fa-spin.headerlink, .nav .rst-content h4 .fa-spin.headerlink, .rst-content h4 .nav .fa-spin.headerlink, .nav .rst-content h5 .fa-spin.headerlink, .rst-content h5 .nav .fa-spin.headerlink, .nav .rst-content h6 .fa-spin.headerlink, .rst-content h6 .nav .fa-spin.headerlink, .nav .rst-content dl dt .fa-spin.headerlink, .rst-content dl dt .nav .fa-spin.headerlink, .nav .rst-content p.caption .fa-spin.headerlink, .rst-content p.caption .nav .fa-spin.headerlink, .nav .rst-content tt.download span.fa-spin:first-child, .rst-content tt.download .nav span.fa-spin:first-child, .nav .rst-content code.download span.fa-spin:first-child, .rst-content code.download .nav span.fa-spin:first-child, .nav .fa-spin.icon { display: inline-block; } .btn.fa:before, .wy-menu-vertical li span.btn.toctree-expand:before, .rst-content .btn.admonition-title:before, .rst-content h1 .btn.headerlink:before, .rst-content h2 .btn.headerlink:before, .rst-content h3 .btn.headerlink:before, .rst-content h4 .btn.headerlink:before, .rst-content h5 .btn.headerlink:before, .rst-content h6 .btn.headerlink:before, .rst-content dl dt .btn.headerlink:before, .rst-content p.caption .btn.headerlink:before, .rst-content tt.download span.btn:first-child:before, .rst-content code.download span.btn:first-child:before, .btn.icon:before { opacity: 0.5; -webkit-transition: opacity 0.05s ease-in; -moz-transition: opacity 0.05s ease-in; transition: opacity 0.05s ease-in; } .btn.fa:hover:before, .wy-menu-vertical li span.btn.toctree-expand:hover:before, .rst-content .btn.admonition-title:hover:before, .rst-content h1 .btn.headerlink:hover:before, .rst-content h2 .btn.headerlink:hover:before, .rst-content h3 .btn.headerlink:hover:before, .rst-content h4 .btn.headerlink:hover:before, .rst-content h5 .btn.headerlink:hover:before, .rst-content h6 .btn.headerlink:hover:before, .rst-content dl dt .btn.headerlink:hover:before, .rst-content p.caption .btn.headerlink:hover:before, .rst-content tt.download span.btn:first-child:hover:before, .rst-content code.download span.btn:first-child:hover:before, .btn.icon:hover:before { opacity: 1; } .btn-mini .fa:before, .btn-mini .wy-menu-vertical li span.toctree-expand:before, .wy-menu-vertical li .btn-mini span.toctree-expand:before, .btn-mini .rst-content .admonition-title:before, .rst-content .btn-mini .admonition-title:before, .btn-mini .rst-content h1 .headerlink:before, .rst-content h1 .btn-mini .headerlink:before, .btn-mini .rst-content h2 .headerlink:before, .rst-content h2 .btn-mini .headerlink:before, .btn-mini .rst-content h3 .headerlink:before, .rst-content h3 .btn-mini .headerlink:before, .btn-mini .rst-content h4 .headerlink:before, .rst-content h4 .btn-mini .headerlink:before, .btn-mini .rst-content h5 .headerlink:before, .rst-content h5 .btn-mini .headerlink:before, .btn-mini .rst-content h6 .headerlink:before, .rst-content h6 .btn-mini .headerlink:before, .btn-mini .rst-content dl dt .headerlink:before, .rst-content dl dt .btn-mini .headerlink:before, .btn-mini .rst-content p.caption .headerlink:before, .rst-content p.caption .btn-mini .headerlink:before, .btn-mini .rst-content tt.download span:first-child:before, .rst-content tt.download .btn-mini span:first-child:before, .btn-mini .rst-content code.download span:first-child:before, .rst-content code.download .btn-mini span:first-child:before, .btn-mini .icon:before { font-size: 14px; vertical-align: -15%; } .wy-alert, .rst-content .note, .rst-content .attention, .rst-content .caution, .rst-content .danger, .rst-content .error, .rst-content .hint, .rst-content .important, .rst-content .tip, .rst-content .warning, .rst-content .seealso, .rst-content .admonition-todo { padding: 12px; line-height: 24px; margin-bottom: 24px; background: #e7f2fa; } .wy-alert-title, .rst-content .admonition-title { color: #fff; font-weight: bold; display: block; color: #fff; background: #6ab0de; margin: -12px; padding: 6px 12px; margin-bottom: 12px; } .wy-alert.wy-alert-danger, .rst-content .wy-alert-danger.note, .rst-content .wy-alert-danger.attention, .rst-content .wy-alert-danger.caution, .rst-content .danger, .rst-content .error, .rst-content .wy-alert-danger.hint, .rst-content .wy-alert-danger.important, .rst-content .wy-alert-danger.tip, .rst-content .wy-alert-danger.warning, .rst-content .wy-alert-danger.seealso, .rst-content .wy-alert-danger.admonition-todo { background: #fdf3f2; } .wy-alert.wy-alert-danger .wy-alert-title, .rst-content .wy-alert-danger.note .wy-alert-title, .rst-content .wy-alert-danger.attention .wy-alert-title, .rst-content .wy-alert-danger.caution .wy-alert-title, .rst-content .danger .wy-alert-title, .rst-content .error .wy-alert-title, .rst-content .wy-alert-danger.hint .wy-alert-title, .rst-content .wy-alert-danger.important .wy-alert-title, .rst-content .wy-alert-danger.tip .wy-alert-title, .rst-content .wy-alert-danger.warning .wy-alert-title, .rst-content .wy-alert-danger.seealso .wy-alert-title, .rst-content .wy-alert-danger.admonition-todo .wy-alert-title, .wy-alert.wy-alert-danger .rst-content .admonition-title, .rst-content .wy-alert.wy-alert-danger .admonition-title, .rst-content .wy-alert-danger.note .admonition-title, .rst-content .wy-alert-danger.attention .admonition-title, .rst-content .wy-alert-danger.caution .admonition-title, .rst-content .danger .admonition-title, .rst-content .error .admonition-title, .rst-content .wy-alert-danger.hint .admonition-title, .rst-content .wy-alert-danger.important .admonition-title, .rst-content .wy-alert-danger.tip .admonition-title, .rst-content .wy-alert-danger.warning .admonition-title, .rst-content .wy-alert-danger.seealso .admonition-title, .rst-content .wy-alert-danger.admonition-todo .admonition-title { background: #f29f97; } .wy-alert.wy-alert-warning, .rst-content .wy-alert-warning.note, .rst-content .attention, .rst-content .caution, .rst-content .wy-alert-warning.danger, .rst-content .wy-alert-warning.error, .rst-content .wy-alert-warning.hint, .rst-content .wy-alert-warning.important, .rst-content .wy-alert-warning.tip, .rst-content .warning, .rst-content .wy-alert-warning.seealso, .rst-content .admonition-todo { background: #ffedcc; } .wy-alert.wy-alert-warning .wy-alert-title, .rst-content .wy-alert-warning.note .wy-alert-title, .rst-content .attention .wy-alert-title, .rst-content .caution .wy-alert-title, .rst-content .wy-alert-warning.danger .wy-alert-title, .rst-content .wy-alert-warning.error .wy-alert-title, .rst-content .wy-alert-warning.hint .wy-alert-title, .rst-content .wy-alert-warning.important .wy-alert-title, .rst-content .wy-alert-warning.tip .wy-alert-title, .rst-content .warning .wy-alert-title, .rst-content .wy-alert-warning.seealso .wy-alert-title, .rst-content .admonition-todo .wy-alert-title, .wy-alert.wy-alert-warning .rst-content .admonition-title, .rst-content .wy-alert.wy-alert-warning .admonition-title, .rst-content .wy-alert-warning.note .admonition-title, .rst-content .attention .admonition-title, .rst-content .caution .admonition-title, .rst-content .wy-alert-warning.danger .admonition-title, .rst-content .wy-alert-warning.error .admonition-title, .rst-content .wy-alert-warning.hint .admonition-title, .rst-content .wy-alert-warning.important .admonition-title, .rst-content .wy-alert-warning.tip .admonition-title, .rst-content .warning .admonition-title, .rst-content .wy-alert-warning.seealso .admonition-title, .rst-content .admonition-todo .admonition-title { background: #f0b37e; } .wy-alert.wy-alert-info, .rst-content .note, .rst-content .wy-alert-info.attention, .rst-content .wy-alert-info.caution, .rst-content .wy-alert-info.danger, .rst-content .wy-alert-info.error, .rst-content .wy-alert-info.hint, .rst-content .wy-alert-info.important, .rst-content .wy-alert-info.tip, .rst-content .wy-alert-info.warning, .rst-content .seealso, .rst-content .wy-alert-info.admonition-todo { background: #e7f2fa; } .wy-alert.wy-alert-info .wy-alert-title, .rst-content .note .wy-alert-title, .rst-content .wy-alert-info.attention .wy-alert-title, .rst-content .wy-alert-info.caution .wy-alert-title, .rst-content .wy-alert-info.danger .wy-alert-title, .rst-content .wy-alert-info.error .wy-alert-title, .rst-content .wy-alert-info.hint .wy-alert-title, .rst-content .wy-alert-info.important .wy-alert-title, .rst-content .wy-alert-info.tip .wy-alert-title, .rst-content .wy-alert-info.warning .wy-alert-title, .rst-content .seealso .wy-alert-title, .rst-content .wy-alert-info.admonition-todo .wy-alert-title, .wy-alert.wy-alert-info .rst-content .admonition-title, .rst-content .wy-alert.wy-alert-info .admonition-title, .rst-content .note .admonition-title, .rst-content .wy-alert-info.attention .admonition-title, .rst-content .wy-alert-info.caution .admonition-title, .rst-content .wy-alert-info.danger .admonition-title, .rst-content .wy-alert-info.error .admonition-title, .rst-content .wy-alert-info.hint .admonition-title, .rst-content .wy-alert-info.important .admonition-title, .rst-content .wy-alert-info.tip .admonition-title, .rst-content .wy-alert-info.warning .admonition-title, .rst-content .seealso .admonition-title, .rst-content .wy-alert-info.admonition-todo .admonition-title { background: #6ab0de; } .wy-alert.wy-alert-success, .rst-content .wy-alert-success.note, .rst-content .wy-alert-success.attention, .rst-content .wy-alert-success.caution, .rst-content .wy-alert-success.danger, .rst-content .wy-alert-success.error, .rst-content .hint, .rst-content .important, .rst-content .tip, .rst-content .wy-alert-success.warning, .rst-content .wy-alert-success.seealso, .rst-content .wy-alert-success.admonition-todo { background: #dbfaf4; } .wy-alert.wy-alert-success .wy-alert-title, .rst-content .wy-alert-success.note .wy-alert-title, .rst-content .wy-alert-success.attention .wy-alert-title, .rst-content .wy-alert-success.caution .wy-alert-title, .rst-content .wy-alert-success.danger .wy-alert-title, .rst-content .wy-alert-success.error .wy-alert-title, .rst-content .hint .wy-alert-title, .rst-content .important .wy-alert-title, .rst-content .tip .wy-alert-title, .rst-content .wy-alert-success.warning .wy-alert-title, .rst-content .wy-alert-success.seealso .wy-alert-title, .rst-content .wy-alert-success.admonition-todo .wy-alert-title, .wy-alert.wy-alert-success .rst-content .admonition-title, .rst-content .wy-alert.wy-alert-success .admonition-title, .rst-content .wy-alert-success.note .admonition-title, .rst-content .wy-alert-success.attention .admonition-title, .rst-content .wy-alert-success.caution .admonition-title, .rst-content .wy-alert-success.danger .admonition-title, .rst-content .wy-alert-success.error .admonition-title, .rst-content .hint .admonition-title, .rst-content .important .admonition-title, .rst-content .tip .admonition-title, .rst-content .wy-alert-success.warning .admonition-title, .rst-content .wy-alert-success.seealso .admonition-title, .rst-content .wy-alert-success.admonition-todo .admonition-title { background: #1abc9c; } .wy-alert.wy-alert-neutral, .rst-content .wy-alert-neutral.note, .rst-content .wy-alert-neutral.attention, .rst-content .wy-alert-neutral.caution, .rst-content .wy-alert-neutral.danger, .rst-content .wy-alert-neutral.error, .rst-content .wy-alert-neutral.hint, .rst-content .wy-alert-neutral.important, .rst-content .wy-alert-neutral.tip, .rst-content .wy-alert-neutral.warning, .rst-content .wy-alert-neutral.seealso, .rst-content .wy-alert-neutral.admonition-todo { background: #f3f6f6; } .wy-alert.wy-alert-neutral .wy-alert-title, .rst-content .wy-alert-neutral.note .wy-alert-title, .rst-content .wy-alert-neutral.attention .wy-alert-title, .rst-content .wy-alert-neutral.caution .wy-alert-title, .rst-content .wy-alert-neutral.danger .wy-alert-title, .rst-content .wy-alert-neutral.error .wy-alert-title, .rst-content .wy-alert-neutral.hint .wy-alert-title, .rst-content .wy-alert-neutral.important .wy-alert-title, .rst-content .wy-alert-neutral.tip .wy-alert-title, .rst-content .wy-alert-neutral.warning .wy-alert-title, .rst-content .wy-alert-neutral.seealso .wy-alert-title, .rst-content .wy-alert-neutral.admonition-todo .wy-alert-title, .wy-alert.wy-alert-neutral .rst-content .admonition-title, .rst-content .wy-alert.wy-alert-neutral .admonition-title, .rst-content .wy-alert-neutral.note .admonition-title, .rst-content .wy-alert-neutral.attention .admonition-title, .rst-content .wy-alert-neutral.caution .admonition-title, .rst-content .wy-alert-neutral.danger .admonition-title, .rst-content .wy-alert-neutral.error .admonition-title, .rst-content .wy-alert-neutral.hint .admonition-title, .rst-content .wy-alert-neutral.important .admonition-title, .rst-content .wy-alert-neutral.tip .admonition-title, .rst-content .wy-alert-neutral.warning .admonition-title, .rst-content .wy-alert-neutral.seealso .admonition-title, .rst-content .wy-alert-neutral.admonition-todo .admonition-title { color: #404040; background: #e1e4e5; } .wy-alert.wy-alert-neutral a, .rst-content .wy-alert-neutral.note a, .rst-content .wy-alert-neutral.attention a, .rst-content .wy-alert-neutral.caution a, .rst-content .wy-alert-neutral.danger a, .rst-content .wy-alert-neutral.error a, .rst-content .wy-alert-neutral.hint a, .rst-content .wy-alert-neutral.important a, .rst-content .wy-alert-neutral.tip a, .rst-content .wy-alert-neutral.warning a, .rst-content .wy-alert-neutral.seealso a, .rst-content .wy-alert-neutral.admonition-todo a { color: #2980B9; } .wy-alert p:last-child, .rst-content .note p:last-child, .rst-content .attention p:last-child, .rst-content .caution p:last-child, .rst-content .danger p:last-child, .rst-content .error p:last-child, .rst-content .hint p:last-child, .rst-content .important p:last-child, .rst-content .tip p:last-child, .rst-content .warning p:last-child, .rst-content .seealso p:last-child, .rst-content .admonition-todo p:last-child { margin-bottom: 0; } .wy-tray-container { position: fixed; bottom: 0px; left: 0; z-index: 600; } .wy-tray-container li { display: block; width: 300px; background: transparent; color: #fff; text-align: center; box-shadow: 0 5px 5px 0 rgba(0, 0, 0, 0.1); padding: 0 24px; min-width: 20%; opacity: 0; height: 0; line-height: 56px; overflow: hidden; -webkit-transition: all 0.3s ease-in; -moz-transition: all 0.3s ease-in; transition: all 0.3s ease-in; } .wy-tray-container li.wy-tray-item-success { background: #27AE60; } .wy-tray-container li.wy-tray-item-info { background: #2980B9; } .wy-tray-container li.wy-tray-item-warning { background: #E67E22; } .wy-tray-container li.wy-tray-item-danger { background: #E74C3C; } .wy-tray-container li.on { opacity: 1; height: 56px; } @media screen and (max-width: 768px) { .wy-tray-container { bottom: auto; top: 0; width: 100%; } .wy-tray-container li { width: 100%; } } button { font-size: 100%; margin: 0; vertical-align: baseline; *vertical-align: middle; cursor: pointer; line-height: normal; -webkit-appearance: button; *overflow: visible; } button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; } button[disabled] { cursor: default; } .btn { /* Structure */ display: inline-block; border-radius: 2px; line-height: normal; white-space: nowrap; text-align: center; cursor: pointer; font-size: 100%; padding: 6px 12px 8px 12px; color: #fff; border: 1px solid rgba(0, 0, 0, 0.1); background-color: #27AE60; text-decoration: none; font-weight: normal; font-family: "Lato", "proxima-nova", "Helvetica Neue", Arial, sans-serif; box-shadow: 0px 1px 2px -1px rgba(255, 255, 255, 0.5) inset, 0px -2px 0px 0px rgba(0, 0, 0, 0.1) inset; outline-none: false; vertical-align: middle; *display: inline; zoom: 1; -webkit-user-drag: none; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; -webkit-transition: all 0.1s linear; -moz-transition: all 0.1s linear; transition: all 0.1s linear; } .btn-hover { background: #2e8ece; color: #fff; } .btn:hover { background: #2cc36b; color: #fff; } .btn:focus { background: #2cc36b; outline: 0; } .btn:active { box-shadow: 0px -1px 0px 0px rgba(0, 0, 0, 0.05) inset, 0px 2px 0px 0px rgba(0, 0, 0, 0.1) inset; padding: 8px 12px 6px 12px; } .btn:visited { color: #fff; } .btn:disabled { background-image: none; filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); filter: alpha(opacity=40); opacity: 0.4; cursor: not-allowed; box-shadow: none; } .btn-disabled { background-image: none; filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); filter: alpha(opacity=40); opacity: 0.4; cursor: not-allowed; box-shadow: none; } .btn-disabled:hover, .btn-disabled:focus, .btn-disabled:active { background-image: none; filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); filter: alpha(opacity=40); opacity: 0.4; cursor: not-allowed; box-shadow: none; } .btn::-moz-focus-inner { padding: 0; border: 0; } .btn-small { font-size: 80%; } .btn-info { background-color: #2980B9 !important; } .btn-info:hover { background-color: #2e8ece !important; } .btn-neutral { background-color: #f3f6f6 !important; color: #404040 !important; } .btn-neutral:hover { background-color: #e5ebeb !important; color: #404040; } .btn-neutral:visited { color: #404040 !important; } .btn-success { background-color: #27AE60 !important; } .btn-success:hover { background-color: #229955 !important; } .btn-danger { background-color: #E74C3C !important; } .btn-danger:hover { background-color: #ea6153 !important; } .btn-warning { background-color: #E67E22 !important; } .btn-warning:hover { background-color: #e98b39 !important; } .btn-invert { background-color: #222; } .btn-invert:hover { background-color: #2f2f2f !important; } .btn-link { background-color: transparent !important; color: #2980B9; box-shadow: none; border-color: transparent !important; } .btn-link:hover { background-color: transparent !important; color: #409ad5 !important; box-shadow: none; } .btn-link:active { background-color: transparent !important; color: #409ad5 !important; box-shadow: none; } .btn-link:visited { color: #9B59B6; } .wy-btn-group .btn, .wy-control .btn { vertical-align: middle; } .wy-btn-group { margin-bottom: 24px; *zoom: 1; } .wy-btn-group:before, .wy-btn-group:after { display: table; content: ""; } .wy-btn-group:after { clear: both; } .wy-dropdown { position: relative; display: inline-block; } .wy-dropdown-active .wy-dropdown-menu { display: block; } .wy-dropdown-menu { position: absolute; left: 0; display: none; float: left; top: 100%; min-width: 100%; background: #fcfcfc; z-index: 100; border: solid 1px #cfd7dd; box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.1); padding: 12px; } .wy-dropdown-menu > dd > a { display: block; clear: both; color: #404040; white-space: nowrap; font-size: 90%; padding: 0 12px; cursor: pointer; } .wy-dropdown-menu > dd > a:hover { background: #2980B9; color: #fff; } .wy-dropdown-menu > dd.divider { border-top: solid 1px #cfd7dd; margin: 6px 0; } .wy-dropdown-menu > dd.search { padding-bottom: 12px; } .wy-dropdown-menu > dd.search input[type="search"] { width: 100%; } .wy-dropdown-menu > dd.call-to-action { background: #e3e3e3; text-transform: uppercase; font-weight: 500; font-size: 80%; } .wy-dropdown-menu > dd.call-to-action:hover { background: #e3e3e3; } .wy-dropdown-menu > dd.call-to-action .btn { color: #fff; } .wy-dropdown.wy-dropdown-up .wy-dropdown-menu { bottom: 100%; top: auto; left: auto; right: 0; } .wy-dropdown.wy-dropdown-bubble .wy-dropdown-menu { background: #fcfcfc; margin-top: 2px; } .wy-dropdown.wy-dropdown-bubble .wy-dropdown-menu a { padding: 6px 12px; } .wy-dropdown.wy-dropdown-bubble .wy-dropdown-menu a:hover { background: #2980B9; color: #fff; } .wy-dropdown.wy-dropdown-left .wy-dropdown-menu { right: 0; left: auto; text-align: right; } .wy-dropdown-arrow:before { content: " "; border-bottom: 5px solid whitesmoke; border-left: 5px solid transparent; border-right: 5px solid transparent; position: absolute; display: block; top: -4px; left: 50%; margin-left: -3px; } .wy-dropdown-arrow.wy-dropdown-arrow-left:before { left: 11px; } .wy-form-stacked select { display: block; } .wy-form-aligned input, .wy-form-aligned textarea, .wy-form-aligned select, .wy-form-aligned .wy-help-inline, .wy-form-aligned label { display: inline-block; *display: inline; *zoom: 1; vertical-align: middle; } .wy-form-aligned .wy-control-group > label { display: inline-block; vertical-align: middle; width: 10em; margin: 6px 12px 0 0; float: left; } .wy-form-aligned .wy-control { float: left; } .wy-form-aligned .wy-control label { display: block; } .wy-form-aligned .wy-control select { margin-top: 6px; } fieldset { border: 0; margin: 0; padding: 0; } legend { display: block; width: 100%; border: 0; padding: 0; white-space: normal; margin-bottom: 24px; font-size: 150%; *margin-left: -7px; } label { display: block; margin: 0 0 0.3125em 0; color: #333; font-size: 90%; } input, select, textarea { font-size: 100%; margin: 0; vertical-align: baseline; *vertical-align: middle; } .wy-control-group { margin-bottom: 24px; *zoom: 1; max-width: 68em; margin-left: auto; margin-right: auto; *zoom: 1; } .wy-control-group:before, .wy-control-group:after { display: table; content: ""; } .wy-control-group:after { clear: both; } .wy-control-group:before, .wy-control-group:after { display: table; content: ""; } .wy-control-group:after { clear: both; } .wy-control-group.wy-control-group-required > label:after { content: " *"; color: #E74C3C; } .wy-control-group .wy-form-full, .wy-control-group .wy-form-halves, .wy-control-group .wy-form-thirds { padding-bottom: 12px; } .wy-control-group .wy-form-full select, .wy-control-group .wy-form-halves select, .wy-control-group .wy-form-thirds select { width: 100%; } .wy-control-group .wy-form-full input[type="text"], .wy-control-group .wy-form-full input[type="password"], .wy-control-group .wy-form-full input[type="email"], .wy-control-group .wy-form-full input[type="url"], .wy-control-group .wy-form-full input[type="date"], .wy-control-group .wy-form-full input[type="month"], .wy-control-group .wy-form-full input[type="time"], .wy-control-group .wy-form-full input[type="datetime"], .wy-control-group .wy-form-full input[type="datetime-local"], .wy-control-group .wy-form-full input[type="week"], .wy-control-group .wy-form-full input[type="number"], .wy-control-group .wy-form-full input[type="search"], .wy-control-group .wy-form-full input[type="tel"], .wy-control-group .wy-form-full input[type="color"], .wy-control-group .wy-form-halves input[type="text"], .wy-control-group .wy-form-halves input[type="password"], .wy-control-group .wy-form-halves input[type="email"], .wy-control-group .wy-form-halves input[type="url"], .wy-control-group .wy-form-halves input[type="date"], .wy-control-group .wy-form-halves input[type="month"], .wy-control-group .wy-form-halves input[type="time"], .wy-control-group .wy-form-halves input[type="datetime"], .wy-control-group .wy-form-halves input[type="datetime-local"], .wy-control-group .wy-form-halves input[type="week"], .wy-control-group .wy-form-halves input[type="number"], .wy-control-group .wy-form-halves input[type="search"], .wy-control-group .wy-form-halves input[type="tel"], .wy-control-group .wy-form-halves input[type="color"], .wy-control-group .wy-form-thirds input[type="text"], .wy-control-group .wy-form-thirds input[type="password"], .wy-control-group .wy-form-thirds input[type="email"], .wy-control-group .wy-form-thirds input[type="url"], .wy-control-group .wy-form-thirds input[type="date"], .wy-control-group .wy-form-thirds input[type="month"], .wy-control-group .wy-form-thirds input[type="time"], .wy-control-group .wy-form-thirds input[type="datetime"], .wy-control-group .wy-form-thirds input[type="datetime-local"], .wy-control-group .wy-form-thirds input[type="week"], .wy-control-group .wy-form-thirds input[type="number"], .wy-control-group .wy-form-thirds input[type="search"], .wy-control-group .wy-form-thirds input[type="tel"], .wy-control-group .wy-form-thirds input[type="color"] { width: 100%; } .wy-control-group .wy-form-full { float: left; display: block; margin-right: 2.35765%; width: 100%; margin-right: 0; } .wy-control-group .wy-form-full:last-child { margin-right: 0; } .wy-control-group .wy-form-halves { float: left; display: block; margin-right: 2.35765%; width: 48.82117%; } .wy-control-group .wy-form-halves:last-child { margin-right: 0; } .wy-control-group .wy-form-halves:nth-of-type(2n) { margin-right: 0; } .wy-control-group .wy-form-halves:nth-of-type(2n+1) { clear: left; } .wy-control-group .wy-form-thirds { float: left; display: block; margin-right: 2.35765%; width: 31.76157%; } .wy-control-group .wy-form-thirds:last-child { margin-right: 0; } .wy-control-group .wy-form-thirds:nth-of-type(3n) { margin-right: 0; } .wy-control-group .wy-form-thirds:nth-of-type(3n+1) { clear: left; } .wy-control-group.wy-control-group-no-input .wy-control { margin: 6px 0 0 0; font-size: 90%; } .wy-control-no-input { display: inline-block; margin: 6px 0 0 0; font-size: 90%; } .wy-control-group.fluid-input input[type="text"], .wy-control-group.fluid-input input[type="password"], .wy-control-group.fluid-input input[type="email"], .wy-control-group.fluid-input input[type="url"], .wy-control-group.fluid-input input[type="date"], .wy-control-group.fluid-input input[type="month"], .wy-control-group.fluid-input input[type="time"], .wy-control-group.fluid-input input[type="datetime"], .wy-control-group.fluid-input input[type="datetime-local"], .wy-control-group.fluid-input input[type="week"], .wy-control-group.fluid-input input[type="number"], .wy-control-group.fluid-input input[type="search"], .wy-control-group.fluid-input input[type="tel"], .wy-control-group.fluid-input input[type="color"] { width: 100%; } .wy-form-message-inline { display: inline-block; padding-left: 0.3em; color: #666; vertical-align: middle; font-size: 90%; } .wy-form-message { display: block; color: #999; font-size: 70%; margin-top: 0.3125em; font-style: italic; } .wy-form-message p { font-size: inherit; font-style: italic; margin-bottom: 6px; } .wy-form-message p:last-child { margin-bottom: 0; } input { line-height: normal; } input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; cursor: pointer; font-family: "Lato", "proxima-nova", "Helvetica Neue", Arial, sans-serif; *overflow: visible; } input[type="text"], input[type="password"], input[type="email"], input[type="url"], input[type="date"], input[type="month"], input[type="time"], input[type="datetime"], input[type="datetime-local"], input[type="week"], input[type="number"], input[type="search"], input[type="tel"], input[type="color"] { -webkit-appearance: none; padding: 6px; display: inline-block; border: 1px solid #ccc; font-size: 80%; font-family: "Lato", "proxima-nova", "Helvetica Neue", Arial, sans-serif; box-shadow: inset 0 1px 3px #ddd; border-radius: 0; -webkit-transition: border 0.3s linear; -moz-transition: border 0.3s linear; transition: border 0.3s linear; } input[type="datetime-local"] { padding: 0.34375em 0.625em; } input[disabled] { cursor: default; } input[type="checkbox"], input[type="radio"] { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; padding: 0; margin-right: 0.3125em; *height: 13px; *width: 13px; } input[type="search"] { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; } input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; } input[type="text"]:focus, input[type="password"]:focus, input[type="email"]:focus, input[type="url"]:focus, input[type="date"]:focus, input[type="month"]:focus, input[type="time"]:focus, input[type="datetime"]:focus, input[type="datetime-local"]:focus, input[type="week"]:focus, input[type="number"]:focus, input[type="search"]:focus, input[type="tel"]:focus, input[type="color"]:focus { outline: 0; outline: thin dotted \9; border-color: #333; } input.no-focus:focus { border-color: #ccc !important; } input[type="file"]:focus, input[type="radio"]:focus, input[type="checkbox"]:focus { outline: thin dotted #333; outline: 1px auto #129FEA; } input[type="text"][disabled], input[type="password"][disabled], input[type="email"][disabled], input[type="url"][disabled], input[type="date"][disabled], input[type="month"][disabled], input[type="time"][disabled], input[type="datetime"][disabled], input[type="datetime-local"][disabled], input[type="week"][disabled], input[type="number"][disabled], input[type="search"][disabled], input[type="tel"][disabled], input[type="color"][disabled] { cursor: not-allowed; background-color: #fafafa; } input:focus:invalid, textarea:focus:invalid, select:focus:invalid { color: #E74C3C; border: 1px solid #E74C3C; } input:focus:invalid:focus, textarea:focus:invalid:focus, select:focus:invalid:focus { border-color: #E74C3C; } input[type="file"]:focus:invalid:focus, input[type="radio"]:focus:invalid:focus, input[type="checkbox"]:focus:invalid:focus { outline-color: #E74C3C; } input.wy-input-large { padding: 12px; font-size: 100%; } textarea { overflow: auto; vertical-align: top; width: 100%; font-family: "Lato", "proxima-nova", "Helvetica Neue", Arial, sans-serif; } select, textarea { padding: 0.5em 0.625em; display: inline-block; border: 1px solid #ccc; font-size: 80%; box-shadow: inset 0 1px 3px #ddd; -webkit-transition: border 0.3s linear; -moz-transition: border 0.3s linear; transition: border 0.3s linear; } select { border: 1px solid #ccc; background-color: #fff; } select[multiple] { height: auto; } select:focus, textarea:focus { outline: 0; } select[disabled], textarea[disabled], input[readonly], select[readonly], textarea[readonly] { cursor: not-allowed; background-color: #fafafa; } input[type="radio"][disabled], input[type="checkbox"][disabled] { cursor: not-allowed; } .wy-checkbox, .wy-radio { margin: 6px 0; color: #404040; display: block; } .wy-checkbox input, .wy-radio input { vertical-align: baseline; } .wy-form-message-inline { display: inline-block; *display: inline; *zoom: 1; vertical-align: middle; } .wy-input-prefix, .wy-input-suffix { white-space: nowrap; padding: 6px; } .wy-input-prefix .wy-input-context, .wy-input-suffix .wy-input-context { line-height: 27px; padding: 0 8px; display: inline-block; font-size: 80%; background-color: #f3f6f6; border: solid 1px #ccc; color: #999; } .wy-input-suffix .wy-input-context { border-left: 0; } .wy-input-prefix .wy-input-context { border-right: 0; } .wy-switch { width: 36px; height: 12px; margin: 12px 0; position: relative; border-radius: 4px; background: #ccc; cursor: pointer; -webkit-transition: all 0.2s ease-in-out; -moz-transition: all 0.2s ease-in-out; transition: all 0.2s ease-in-out; } .wy-switch:before { position: absolute; content: ""; display: block; width: 18px; height: 18px; border-radius: 4px; background: #999; left: -3px; top: -3px; -webkit-transition: all 0.2s ease-in-out; -moz-transition: all 0.2s ease-in-out; transition: all 0.2s ease-in-out; } .wy-switch:after { content: "false"; position: absolute; left: 48px; display: block; font-size: 12px; color: #ccc; } .wy-switch.active { background: #1e8449; } .wy-switch.active:before { left: 24px; background: #27AE60; } .wy-switch.active:after { content: "true"; } .wy-switch.disabled, .wy-switch.active.disabled { cursor: not-allowed; } .wy-control-group.wy-control-group-error .wy-form-message, .wy-control-group.wy-control-group-error > label { color: #E74C3C; } .wy-control-group.wy-control-group-error input[type="text"], .wy-control-group.wy-control-group-error input[type="password"], .wy-control-group.wy-control-group-error input[type="email"], .wy-control-group.wy-control-group-error input[type="url"], .wy-control-group.wy-control-group-error input[type="date"], .wy-control-group.wy-control-group-error input[type="month"], .wy-control-group.wy-control-group-error input[type="time"], .wy-control-group.wy-control-group-error input[type="datetime"], .wy-control-group.wy-control-group-error input[type="datetime-local"], .wy-control-group.wy-control-group-error input[type="week"], .wy-control-group.wy-control-group-error input[type="number"], .wy-control-group.wy-control-group-error input[type="search"], .wy-control-group.wy-control-group-error input[type="tel"], .wy-control-group.wy-control-group-error input[type="color"] { border: solid 1px #E74C3C; } .wy-control-group.wy-control-group-error textarea { border: solid 1px #E74C3C; } .wy-inline-validate { white-space: nowrap; } .wy-inline-validate .wy-input-context { padding: 0.5em 0.625em; display: inline-block; font-size: 80%; } .wy-inline-validate.wy-inline-validate-success .wy-input-context { color: #27AE60; } .wy-inline-validate.wy-inline-validate-danger .wy-input-context { color: #E74C3C; } .wy-inline-validate.wy-inline-validate-warning .wy-input-context { color: #E67E22; } .wy-inline-validate.wy-inline-validate-info .wy-input-context { color: #2980B9; } .rotate-90 { -webkit-transform: rotate(90deg); -moz-transform: rotate(90deg); -ms-transform: rotate(90deg); -o-transform: rotate(90deg); transform: rotate(90deg); } .rotate-180 { -webkit-transform: rotate(180deg); -moz-transform: rotate(180deg); -ms-transform: rotate(180deg); -o-transform: rotate(180deg); transform: rotate(180deg); } .rotate-270 { -webkit-transform: rotate(270deg); -moz-transform: rotate(270deg); -ms-transform: rotate(270deg); -o-transform: rotate(270deg); transform: rotate(270deg); } .mirror { -webkit-transform: scaleX(-1); -moz-transform: scaleX(-1); -ms-transform: scaleX(-1); -o-transform: scaleX(-1); transform: scaleX(-1); } .mirror.rotate-90 { -webkit-transform: scaleX(-1) rotate(90deg); -moz-transform: scaleX(-1) rotate(90deg); -ms-transform: scaleX(-1) rotate(90deg); -o-transform: scaleX(-1) rotate(90deg); transform: scaleX(-1) rotate(90deg); } .mirror.rotate-180 { -webkit-transform: scaleX(-1) rotate(180deg); -moz-transform: scaleX(-1) rotate(180deg); -ms-transform: scaleX(-1) rotate(180deg); -o-transform: scaleX(-1) rotate(180deg); transform: scaleX(-1) rotate(180deg); } .mirror.rotate-270 { -webkit-transform: scaleX(-1) rotate(270deg); -moz-transform: scaleX(-1) rotate(270deg); -ms-transform: scaleX(-1) rotate(270deg); -o-transform: scaleX(-1) rotate(270deg); transform: scaleX(-1) rotate(270deg); } @media only screen and (max-width: 480px) { .wy-form button[type="submit"] { margin: 0.7em 0 0; } .wy-form input[type="text"], .wy-form input[type="password"], .wy-form input[type="email"], .wy-form input[type="url"], .wy-form input[type="date"], .wy-form input[type="month"], .wy-form input[type="time"], .wy-form input[type="datetime"], .wy-form input[type="datetime-local"], .wy-form input[type="week"], .wy-form input[type="number"], .wy-form input[type="search"], .wy-form input[type="tel"], .wy-form input[type="color"] { margin-bottom: 0.3em; display: block; } .wy-form label { margin-bottom: 0.3em; display: block; } .wy-form input[type="password"], .wy-form input[type="email"], .wy-form input[type="url"], .wy-form input[type="date"], .wy-form input[type="month"], .wy-form input[type="time"], .wy-form input[type="datetime"], .wy-form input[type="datetime-local"], .wy-form input[type="week"], .wy-form input[type="number"], .wy-form input[type="search"], .wy-form input[type="tel"], .wy-form input[type="color"] { margin-bottom: 0; } .wy-form-aligned .wy-control-group label { margin-bottom: 0.3em; text-align: left; display: block; width: 100%; } .wy-form-aligned .wy-control { margin: 1.5em 0 0 0; } .wy-form .wy-help-inline, .wy-form-message-inline, .wy-form-message { display: block; font-size: 80%; padding: 6px 0; } } @media screen and (max-width: 768px) { .tablet-hide { display: none; } } @media screen and (max-width: 480px) { .mobile-hide { display: none; } } .float-left { float: left; } .float-right { float: right; } .full-width { width: 100%; } .wy-table, .rst-content table.docutils, .rst-content table.field-list { border-collapse: collapse; border-spacing: 0; empty-cells: show; margin-bottom: 24px; } .wy-table caption, .rst-content table.docutils caption, .rst-content table.field-list caption { color: #000; font: italic 85%/1 arial, sans-serif; padding: 1em 0; text-align: center; } .wy-table td, .rst-content table.docutils td, .rst-content table.field-list td, .wy-table th, .rst-content table.docutils th, .rst-content table.field-list th { font-size: 90%; margin: 0; overflow: visible; padding: 8px 16px; } .wy-table td:first-child, .rst-content table.docutils td:first-child, .rst-content table.field-list td:first-child, .wy-table th:first-child, .rst-content table.docutils th:first-child, .rst-content table.field-list th:first-child { border-left-width: 0; } .wy-table thead, .rst-content table.docutils thead, .rst-content table.field-list thead { color: #000; text-align: left; vertical-align: bottom; white-space: nowrap; } .wy-table thead th, .rst-content table.docutils thead th, .rst-content table.field-list thead th { font-weight: bold; border-bottom: solid 2px #e1e4e5; } .wy-table td, .rst-content table.docutils td, .rst-content table.field-list td { background-color: transparent; vertical-align: middle; } .wy-table td p, .rst-content table.docutils td p, .rst-content table.field-list td p { line-height: 18px; } .wy-table td p:last-child, .rst-content table.docutils td p:last-child, .rst-content table.field-list td p:last-child { margin-bottom: 0; } .wy-table .wy-table-cell-min, .rst-content table.docutils .wy-table-cell-min, .rst-content table.field-list .wy-table-cell-min { width: 1%; padding-right: 0; } .wy-table .wy-table-cell-min input[type=checkbox], .rst-content table.docutils .wy-table-cell-min input[type=checkbox], .rst-content table.field-list .wy-table-cell-min input[type=checkbox], .wy-table .wy-table-cell-min input[type=checkbox], .rst-content table.docutils .wy-table-cell-min input[type=checkbox], .rst-content table.field-list .wy-table-cell-min input[type=checkbox] { margin: 0; } .wy-table-secondary { color: gray; font-size: 90%; } .wy-table-tertiary { color: gray; font-size: 80%; } .wy-table-odd td, .wy-table-striped tr:nth-child(2n-1) td, .rst-content table.docutils:not(.field-list) tr:nth-child(2n-1) td { background-color: #f3f6f6; } .wy-table-backed { background-color: #f3f6f6; } /* BORDERED TABLES */ .wy-table-bordered-all, .rst-content table.docutils { border: 1px solid #e1e4e5; } .wy-table-bordered-all td, .rst-content table.docutils td { border-bottom: 1px solid #e1e4e5; border-left: 1px solid #e1e4e5; } .wy-table-bordered-all tbody > tr:last-child td, .rst-content table.docutils tbody > tr:last-child td { border-bottom-width: 0; } .wy-table-bordered { border: 1px solid #e1e4e5; } .wy-table-bordered-rows td { border-bottom: 1px solid #e1e4e5; } .wy-table-bordered-rows tbody > tr:last-child td { border-bottom-width: 0; } .wy-table-horizontal tbody > tr:last-child td { border-bottom-width: 0; } .wy-table-horizontal td, .wy-table-horizontal th { border-width: 0 0 1px 0; border-bottom: 1px solid #e1e4e5; } .wy-table-horizontal tbody > tr:last-child td { border-bottom-width: 0; } /* RESPONSIVE TABLES */ .wy-table-responsive { margin-bottom: 24px; max-width: 100%; overflow: auto; } .wy-table-responsive table { margin-bottom: 0 !important; } .wy-table-responsive table td, .wy-table-responsive table th { white-space: nowrap; } a { color: #2980B9; text-decoration: none; cursor: pointer; } a:hover { color: #3091d1; } a:visited { color: #9B59B6; } html { height: 100%; overflow-x: hidden; } body { font-family: "Lato", "proxima-nova", "Helvetica Neue", Arial, sans-serif; font-weight: normal; color: #404040; min-height: 100%; overflow-x: hidden; background: #edf0f2; } .wy-text-left { text-align: left; } .wy-text-center { text-align: center; } .wy-text-right { text-align: right; } .wy-text-large { font-size: 120%; } .wy-text-normal { font-size: 100%; } .wy-text-small, small { font-size: 80%; } .wy-text-strike { text-decoration: line-through; } .wy-text-warning { color: #E67E22 !important; } a.wy-text-warning:hover { color: #eb9950 !important; } .wy-text-info { color: #2980B9 !important; } a.wy-text-info:hover { color: #409ad5 !important; } .wy-text-success { color: #27AE60 !important; } a.wy-text-success:hover { color: #36d278 !important; } .wy-text-danger { color: #E74C3C !important; } a.wy-text-danger:hover { color: #ed7669 !important; } .wy-text-neutral { color: #404040 !important; } a.wy-text-neutral:hover { color: #595959 !important; } h1, h2, .rst-content .toctree-wrapper p.caption, h3, h4, h5, h6, legend { margin-top: 0; font-weight: 700; font-family: "Roboto Slab", "ff-tisa-web-pro", "Georgia", Arial, sans-serif; } p { line-height: 24px; margin: 0; font-size: 16px; margin-bottom: 24px; } h1 { font-size: 175%; } h2, .rst-content .toctree-wrapper p.caption { font-size: 150%; } h3 { font-size: 125%; } h4 { font-size: 115%; } h5 { font-size: 110%; } h6 { font-size: 100%; } hr { display: block; height: 1px; border: 0; - border-top: 1px solid #e1e4e5; + border-top: 2px solid #e1e4e5; margin: 24px 0; padding: 0; } code, .rst-content tt, .rst-content code { white-space: nowrap; max-width: 100%; background: #fff; border: solid 1px #e1e4e5; font-size: 75%; padding: 0 5px; font-family: Consolas, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", Monaco, "Courier New", Courier, monospace; color: #E74C3C; overflow-x: auto; } code.code-large, .rst-content tt.code-large { font-size: 90%; } .wy-plain-list-disc, .rst-content .section ul, .rst-content .toctree-wrapper ul, article ul { list-style: disc; line-height: 24px; margin-bottom: 24px; } .wy-plain-list-disc li, .rst-content .section ul li, .rst-content .toctree-wrapper ul li, article ul li { list-style: disc; margin-left: 24px; } .wy-plain-list-disc li p:last-child, .rst-content .section ul li p:last-child, .rst-content .toctree-wrapper ul li p:last-child, article ul li p:last-child { margin-bottom: 0; } .wy-plain-list-disc li ul, .rst-content .section ul li ul, .rst-content .toctree-wrapper ul li ul, article ul li ul { margin-bottom: 0; } .wy-plain-list-disc li li, .rst-content .section ul li li, .rst-content .toctree-wrapper ul li li, article ul li li { list-style: circle; } .wy-plain-list-disc li li li, .rst-content .section ul li li li, .rst-content .toctree-wrapper ul li li li, article ul li li li { list-style: square; } .wy-plain-list-disc li ol li, .rst-content .section ul li ol li, .rst-content .toctree-wrapper ul li ol li, article ul li ol li { list-style: decimal; } .wy-plain-list-decimal, .rst-content .section ol, .rst-content ol.arabic, article ol { list-style: decimal; line-height: 24px; margin-bottom: 24px; } .wy-plain-list-decimal li, .rst-content .section ol li, .rst-content ol.arabic li, article ol li { list-style: decimal; margin-left: 24px; } .wy-plain-list-decimal li p:last-child, .rst-content .section ol li p:last-child, .rst-content ol.arabic li p:last-child, article ol li p:last-child { margin-bottom: 0; } .wy-plain-list-decimal li ul, .rst-content .section ol li ul, .rst-content ol.arabic li ul, article ol li ul { margin-bottom: 0; } .wy-plain-list-decimal li ul li, .rst-content .section ol li ul li, .rst-content ol.arabic li ul li, article ol li ul li { list-style: disc; } .codeblock-example { border: 1px solid #e1e4e5; border-bottom: none; padding: 24px; padding-top: 48px; font-weight: 500; background: #fff; position: relative; } .codeblock-example:after { content: "Example"; position: absolute; top: 0px; left: 0px; background: #9B59B6; color: white; padding: 6px 12px; } .codeblock-example.prettyprint-example-only { border: 1px solid #e1e4e5; margin-bottom: 24px; } .codeblock, pre.literal-block, .rst-content .literal-block, .rst-content pre.literal-block, div[class^='highlight'] { border: 1px solid #e1e4e5; padding: 0px; overflow-x: auto; background: #fff; margin: 1px 0 24px 0; } .codeblock div[class^='highlight'], pre.literal-block div[class^='highlight'], .rst-content .literal-block div[class^='highlight'], div[class^='highlight'] div[class^='highlight'] { border: none; background: none; margin: 0; } div[class^='highlight'] td.code { width: 100%; } .linenodiv pre { border-right: solid 1px #e6e9ea; margin: 0; padding: 12px 12px; font-family: Consolas, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", Monaco, "Courier New", Courier, monospace; font-size: 12px; line-height: 1.5; color: #d9d9d9; } div[class^='highlight'] pre { white-space: pre; margin: 0; padding: 12px 12px; font-family: Consolas, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", Monaco, "Courier New", Courier, monospace; font-size: 12px; line-height: 1.5; display: block; overflow: auto; color: #404040; } @media print { .codeblock, pre.literal-block, .rst-content .literal-block, .rst-content pre.literal-block, div[class^='highlight'], div[class^='highlight'] pre { white-space: pre-wrap; } } .hll { background-color: #ffffcc; margin: 0 -12px; padding: 0 12px; display: block; } .c { color: #999988; font-style: italic; } .err { color: #a61717; background-color: #e3d2d2; } .k { font-weight: bold; } .o { font-weight: bold; } .cm { color: #999988; font-style: italic; } .cp { color: #999999; font-weight: bold; } .c1 { color: #999988; font-style: italic; } .cs { color: #999999; font-weight: bold; font-style: italic; } .gd { color: #000000; background-color: #ffdddd; } .gd .x { color: #000000; background-color: #ffaaaa; } .ge { font-style: italic; } .gr { color: #aa0000; } .gh { color: #999999; } .gi { color: #000000; background-color: #ddffdd; } .gi .x { color: #000000; background-color: #aaffaa; } .go { color: #888888; } .gp { color: #555555; } .gs { font-weight: bold; } .gu { color: #800080; font-weight: bold; } .gt { color: #aa0000; } .kc { font-weight: bold; } .kd { font-weight: bold; } .kn { font-weight: bold; } .kp { font-weight: bold; } .kr { font-weight: bold; } .kt { color: #445588; font-weight: bold; } .m { color: #009999; } .s { color: #dd1144; } .n { color: #333333; } .na { color: teal; } .nb { color: #0086b3; } .nc { color: #445588; font-weight: bold; } .no { color: teal; } .ni { color: purple; } .ne { color: #990000; font-weight: bold; } .nf { color: #990000; font-weight: bold; } .nn { color: #555555; } .nt { color: navy; } .nv { color: teal; } .ow { font-weight: bold; } .w { color: #bbbbbb; } .mf { color: #009999; } .mh { color: #009999; } .mi { color: #009999; } .mo { color: #009999; } .sb { color: #dd1144; } .sc { color: #dd1144; } .sd { color: #dd1144; } .s2 { color: #dd1144; } .se { color: #dd1144; } .sh { color: #dd1144; } .si { color: #dd1144; } .sx { color: #dd1144; } .sr { color: #009926; } .s1 { color: #dd1144; } .ss { color: #990073; } .bp { color: #999999; } .vc { color: teal; } .vg { color: teal; } .vi { color: teal; } .il { color: #009999; } .gc { color: #999; background-color: #EAF2F5; } .wy-breadcrumbs li { display: inline-block; } .wy-breadcrumbs li.wy-breadcrumbs-aside { float: right; } .wy-breadcrumbs li a { display: inline-block; padding: 5px; } .wy-breadcrumbs li a:first-child { padding-left: 0; } .wy-breadcrumbs li code, .wy-breadcrumbs li .rst-content tt, .rst-content .wy-breadcrumbs li tt { padding: 5px; border: none; background: none; } .wy-breadcrumbs li code.literal, .wy-breadcrumbs li .rst-content tt.literal, .rst-content .wy-breadcrumbs li tt.literal { color: #404040; } .wy-breadcrumbs-extra { margin-bottom: 0; color: #b3b3b3; font-size: 80%; display: inline-block; } @media screen and (max-width: 480px) { .wy-breadcrumbs-extra { display: none; } .wy-breadcrumbs li.wy-breadcrumbs-aside { display: none; } } @media print { .wy-breadcrumbs li.wy-breadcrumbs-aside { display: none; } } .wy-affix { position: fixed; top: 1.618em; } .wy-menu a:hover { text-decoration: none; } .wy-menu-horiz { *zoom: 1; } .wy-menu-horiz:before, .wy-menu-horiz:after { display: table; content: ""; } .wy-menu-horiz:after { clear: both; } .wy-menu-horiz ul, .wy-menu-horiz li { display: inline-block; } .wy-menu-horiz li:hover { background: rgba(255, 255, 255, 0.1); } .wy-menu-horiz li.divide-left { border-left: solid 1px #404040; } .wy-menu-horiz li.divide-right { border-right: solid 1px #404040; } .wy-menu-horiz a { height: 32px; display: inline-block; line-height: 32px; padding: 0 16px; } .wy-menu-vertical header, .wy-menu-vertical p.caption { height: 32px; display: inline-block; line-height: 32px; padding: 0 1.618em; margin-bottom: 0; display: block; font-weight: bold; text-transform: uppercase; font-size: 80%; color: #555; white-space: nowrap; } .wy-menu-vertical ul { margin-bottom: 0; } .wy-menu-vertical li.divide-top { border-top: solid 1px #404040; } .wy-menu-vertical li.divide-bottom { border-bottom: solid 1px #404040; } .wy-menu-vertical li.current { background: #e3e3e3; } .wy-menu-vertical li.current a { color: gray; border-right: solid 1px #c9c9c9; padding: 0.4045em 2.427em; } .wy-menu-vertical li.current a:hover { background: #d6d6d6; } .wy-menu-vertical li code, .wy-menu-vertical li .rst-content tt, .rst-content .wy-menu-vertical li tt { border: none; background: inherit; color: inherit; padding-left: 0; padding-right: 0; } .wy-menu-vertical li span.toctree-expand { display: block; float: left; margin-left: -1.2em; font-size: 0.8em; line-height: 1.6em; color: #4d4d4d; } .wy-menu-vertical li.on a, .wy-menu-vertical li.current > a { color: #404040; padding: 0.4045em 1.618em; font-weight: bold; position: relative; background: #fcfcfc; border: none; border-bottom: solid 1px #c9c9c9; border-top: solid 1px #c9c9c9; padding-left: 1.618em -4px; } .wy-menu-vertical li.on a:hover, .wy-menu-vertical li.current > a:hover { background: #fcfcfc; } .wy-menu-vertical li.on a:hover span.toctree-expand, .wy-menu-vertical li.current > a:hover span.toctree-expand { color: gray; } .wy-menu-vertical li.on a span.toctree-expand, .wy-menu-vertical li.current > a span.toctree-expand { display: block; font-size: 0.8em; line-height: 1.6em; color: #333333; } .wy-menu-vertical li.toctree-l1.current li.toctree-l2 > ul, .wy-menu-vertical li.toctree-l2.current li.toctree-l3 > ul { display: none; } .wy-menu-vertical li.toctree-l1.current li.toctree-l2.current > ul, .wy-menu-vertical li.toctree-l2.current li.toctree-l3.current > ul { display: block; } .wy-menu-vertical li.toctree-l2.current > a { background: #c9c9c9; padding: 0.4045em 2.427em; } .wy-menu-vertical li.toctree-l2.current li.toctree-l3 > a { display: block; background: #c9c9c9; padding: 0.4045em 4.045em; } .wy-menu-vertical li.toctree-l2 a:hover span.toctree-expand { color: gray; } .wy-menu-vertical li.toctree-l2 span.toctree-expand { color: #a3a3a3; } .wy-menu-vertical li.toctree-l3 { font-size: 0.9em; } .wy-menu-vertical li.toctree-l3.current > a { background: #bdbdbd; padding: 0.4045em 4.045em; } .wy-menu-vertical li.toctree-l3.current li.toctree-l4 > a { display: block; background: #bdbdbd; padding: 0.4045em 5.663em; border-top: none; border-bottom: none; } .wy-menu-vertical li.toctree-l3 a:hover span.toctree-expand { color: gray; } .wy-menu-vertical li.toctree-l3 span.toctree-expand { color: #969696; } .wy-menu-vertical li.toctree-l4 { font-size: 0.9em; } .wy-menu-vertical li.current ul { display: block; } .wy-menu-vertical li ul { margin-bottom: 0; display: none; } .wy-menu-vertical .local-toc li ul { display: block; } .wy-menu-vertical li ul li a { margin-bottom: 0; color: #b3b3b3; font-weight: normal; } .wy-menu-vertical a { display: inline-block; line-height: 18px; padding: 0.4045em 1.618em; display: block; position: relative; font-size: 90%; color: #b3b3b3; } .wy-menu-vertical a:hover { background-color: #4e4a4a; cursor: pointer; } .wy-menu-vertical a:hover span.toctree-expand { color: #b3b3b3; } .wy-menu-vertical a:active { background-color: #2980B9; cursor: pointer; color: #fff; } .wy-menu-vertical a:active span.toctree-expand { color: #fff; } .wy-side-nav-search { z-index: 200; background-color: #2980B9; text-align: center; padding: 0.809em; display: block; color: #fcfcfc; margin-bottom: 0.809em; } .wy-side-nav-search input[type=text] { width: 100%; border-radius: 50px; padding: 6px 12px; border-color: #2472a4; } .wy-side-nav-search img { display: block; margin: auto auto 0.809em auto; height: 45px; width: 45px; background-color: #2980B9; padding: 5px; border-radius: 100%; } .wy-side-nav-search > a, .wy-side-nav-search .wy-dropdown > a { color: #fcfcfc; font-size: 100%; font-weight: bold; display: inline-block; padding: 4px 6px; margin-bottom: 0.809em; } .wy-side-nav-search > a:hover, .wy-side-nav-search .wy-dropdown > a:hover { background: rgba(255, 255, 255, 0.1); } .wy-side-nav-search > a img.logo, .wy-side-nav-search .wy-dropdown > a img.logo { display: block; margin: 0 auto; height: auto; width: auto; border-radius: 0; max-width: 100%; background: transparent; } .wy-side-nav-search > a.icon img.logo, .wy-side-nav-search .wy-dropdown > a.icon img.logo { margin-top: 0.85em; } .wy-side-nav-search > div.version { margin-top: -0.4045em; margin-bottom: 0.809em; font-weight: normal; color: rgba(255, 255, 255, 0.3); } .wy-nav .wy-menu-vertical header { color: #2980B9; } .wy-nav .wy-menu-vertical a { color: #b3b3b3; } .wy-nav .wy-menu-vertical a:hover { background-color: #2980B9; color: #fff; } [data-menu-wrap] { -webkit-transition: all 0.2s ease-in; -moz-transition: all 0.2s ease-in; transition: all 0.2s ease-in; position: absolute; opacity: 1; width: 100%; opacity: 0; } [data-menu-wrap].move-center { left: 0; right: auto; opacity: 1; } [data-menu-wrap].move-left { right: auto; left: -100%; opacity: 0; } [data-menu-wrap].move-right { right: -100%; left: auto; opacity: 0; } .wy-body-for-nav { background: left repeat-y #fcfcfc; background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDoxOERBMTRGRDBFMUUxMUUzODUwMkJCOThDMEVFNURFMCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDoxOERBMTRGRTBFMUUxMUUzODUwMkJCOThDMEVFNURFMCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjE4REExNEZCMEUxRTExRTM4NTAyQkI5OEMwRUU1REUwIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjE4REExNEZDMEUxRTExRTM4NTAyQkI5OEMwRUU1REUwIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+EwrlwAAAAA5JREFUeNpiMDU0BAgwAAE2AJgB9BnaAAAAAElFTkSuQmCC); background-size: 300px 1px; } .wy-grid-for-nav { position: absolute; width: 100%; height: 100%; } .wy-nav-side { position: fixed; top: 0; bottom: 0; left: 0; padding-bottom: 2em; width: 300px; overflow-x: hidden; overflow-y: scroll; min-height: 100%; background: #343131; z-index: 200; } .wy-nav-top { display: none; background: #2980B9; color: #fff; padding: 0.4045em 0.809em; position: relative; line-height: 50px; text-align: center; font-size: 100%; *zoom: 1; } .wy-nav-top:before, .wy-nav-top:after { display: table; content: ""; } .wy-nav-top:after { clear: both; } .wy-nav-top a { color: #fff; font-weight: bold; } .wy-nav-top img { margin-right: 12px; height: 45px; width: 45px; background-color: #2980B9; padding: 5px; border-radius: 100%; } .wy-nav-top i { font-size: 30px; float: left; cursor: pointer; } .wy-nav-content-wrap { margin-left: 300px; background: #fcfcfc; min-height: 100%; } .wy-nav-content { padding: 1.618em 3.236em; height: 100%; margin: auto; } .wy-body-mask { position: fixed; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.2); display: none; z-index: 499; } .wy-body-mask.on { display: block; } footer { color: #999; } footer p { margin-bottom: 12px; } footer span.commit code, footer span.commit .rst-content tt, .rst-content footer span.commit tt { padding: 0px; font-family: Consolas, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", Monaco, "Courier New", Courier, monospace; font-size: 1em; background: none; border: none; color: #999; } .rst-footer-buttons { *zoom: 1; } .rst-footer-buttons:before, .rst-footer-buttons:after { display: table; content: ""; } .rst-footer-buttons:after { clear: both; } #search-results .search li { margin-bottom: 24px; border-bottom: solid 1px #e1e4e5; padding-bottom: 24px; } #search-results .search li:first-child { border-top: solid 1px #e1e4e5; padding-top: 24px; } #search-results .search li a { font-size: 120%; margin-bottom: 12px; display: inline-block; } #search-results .context { color: gray; font-size: 90%; } @media screen and (max-width: 768px) { .wy-body-for-nav { background: #fcfcfc; } .wy-nav-top { display: block; } .wy-nav-side { left: -300px; } .wy-nav-side.shift { width: 85%; left: 0; } .wy-nav-content-wrap { margin-left: 0; } .wy-nav-content-wrap .wy-nav-content { padding: 1.618em; } .wy-nav-content-wrap.shift { position: fixed; min-width: 100%; left: 85%; top: 0; height: 100%; overflow: hidden; } } @media screen and (min-width: 1400px) { .wy-nav-content-wrap { background: rgba(0, 0, 0, 0.05); } .wy-nav-content { margin: 0; background: #fcfcfc; } } @media print { .rst-versions, footer, .wy-nav-side { display: none; } .wy-nav-content-wrap { margin-left: 0; } } .rst-versions { position: fixed; bottom: 0; left: 0; width: 300px; color: #fcfcfc; background: #1f1d1d; border-top: solid 10px #343131; font-family: "Lato", "proxima-nova", "Helvetica Neue", Arial, sans-serif; z-index: 400; } .rst-versions a { color: #2980B9; text-decoration: none; } .rst-versions .rst-badge-small { display: none; } .rst-versions .rst-current-version { padding: 12px; background-color: #272525; display: block; text-align: right; font-size: 90%; cursor: pointer; color: #27AE60; *zoom: 1; } .rst-versions .rst-current-version:before, .rst-versions .rst-current-version:after { display: table; content: ""; } .rst-versions .rst-current-version:after { clear: both; } .rst-versions .rst-current-version .fa, .rst-versions .rst-current-version .wy-menu-vertical li span.toctree-expand, .wy-menu-vertical li .rst-versions .rst-current-version span.toctree-expand, .rst-versions .rst-current-version .rst-content .admonition-title, .rst-content .rst-versions .rst-current-version .admonition-title, .rst-versions .rst-current-version .rst-content h1 .headerlink, .rst-content h1 .rst-versions .rst-current-version .headerlink, .rst-versions .rst-current-version .rst-content h2 .headerlink, .rst-content h2 .rst-versions .rst-current-version .headerlink, .rst-versions .rst-current-version .rst-content h3 .headerlink, .rst-content h3 .rst-versions .rst-current-version .headerlink, .rst-versions .rst-current-version .rst-content h4 .headerlink, .rst-content h4 .rst-versions .rst-current-version .headerlink, .rst-versions .rst-current-version .rst-content h5 .headerlink, .rst-content h5 .rst-versions .rst-current-version .headerlink, .rst-versions .rst-current-version .rst-content h6 .headerlink, .rst-content h6 .rst-versions .rst-current-version .headerlink, .rst-versions .rst-current-version .rst-content dl dt .headerlink, .rst-content dl dt .rst-versions .rst-current-version .headerlink, .rst-versions .rst-current-version .rst-content p.caption .headerlink, .rst-content p.caption .rst-versions .rst-current-version .headerlink, .rst-versions .rst-current-version .rst-content tt.download span:first-child, .rst-content tt.download .rst-versions .rst-current-version span:first-child, .rst-versions .rst-current-version .rst-content code.download span:first-child, .rst-content code.download .rst-versions .rst-current-version span:first-child, .rst-versions .rst-current-version .icon { color: #fcfcfc; } .rst-versions .rst-current-version .fa-book, .rst-versions .rst-current-version .icon-book { float: left; } .rst-versions .rst-current-version .icon-book { float: left; } .rst-versions .rst-current-version.rst-out-of-date { background-color: #E74C3C; color: #fff; } .rst-versions .rst-current-version.rst-active-old-version { background-color: #F1C40F; color: #000; } .rst-versions.shift-up .rst-other-versions { display: block; } .rst-versions .rst-other-versions { font-size: 90%; padding: 12px; color: gray; display: none; } .rst-versions .rst-other-versions hr { display: block; height: 1px; border: 0; margin: 20px 0; padding: 0; border-top: solid 1px #413d3d; } .rst-versions .rst-other-versions dd { display: inline-block; margin: 0; } .rst-versions .rst-other-versions dd a { display: inline-block; padding: 6px; color: #fcfcfc; } .rst-versions.rst-badge { width: auto; bottom: 20px; right: 20px; left: auto; border: none; max-width: 300px; } .rst-versions.rst-badge .icon-book { float: none; } .rst-versions.rst-badge .fa-book, .rst-versions.rst-badge .icon-book { float: none; } .rst-versions.rst-badge.shift-up .rst-current-version { text-align: right; } .rst-versions.rst-badge.shift-up .rst-current-version .fa-book, .rst-versions.rst-badge.shift-up .rst-current-version .icon-book { float: left; } .rst-versions.rst-badge.shift-up .rst-current-version .icon-book { float: left; } .rst-versions.rst-badge .rst-current-version { width: auto; height: 30px; line-height: 30px; padding: 0 6px; display: block; text-align: center; } @media screen and (max-width: 768px) { .rst-versions { width: 85%; display: none; } .rst-versions.shift { display: block; } img { width: 100%; height: auto; } } .rst-content img { max-width: 100%; height: auto !important; } .rst-content div.figure { margin-bottom: 24px; } .rst-content div.figure p.caption { font-style: italic; } .rst-content div.figure.align-center { text-align: center; } .rst-content .section > img, .rst-content .section > a > img { margin-bottom: 24px; } .rst-content blockquote { margin-left: 24px; line-height: 24px; margin-bottom: 24px; } .rst-content .note .last, .rst-content .attention .last, .rst-content .caution .last, .rst-content .danger .last, .rst-content .error .last, .rst-content .hint .last, .rst-content .important .last, .rst-content .tip .last, .rst-content .warning .last, .rst-content .seealso .last, .rst-content .admonition-todo .last { margin-bottom: 0; } .rst-content .admonition-title:before { margin-right: 4px; } .rst-content .admonition table { border-color: rgba(0, 0, 0, 0.1); } .rst-content .admonition table td, .rst-content .admonition table th { background: transparent !important; border-color: rgba(0, 0, 0, 0.1) !important; } .rst-content .section ol.loweralpha, .rst-content .section ol.loweralpha li { list-style: lower-alpha; } .rst-content .section ol.upperalpha, .rst-content .section ol.upperalpha li { list-style: upper-alpha; } .rst-content .section ol p, .rst-content .section ul p { margin-bottom: 12px; } .rst-content .line-block { margin-left: 24px; } .rst-content .topic-title { font-weight: bold; margin-bottom: 12px; } .rst-content .toc-backref { color: #404040; } .rst-content .align-right { float: right; margin: 0px 0px 24px 24px; } .rst-content .align-left { float: left; margin: 0px 24px 24px 0px; } .rst-content .align-center { margin: auto; display: block; } .rst-content h1 .headerlink, .rst-content h2 .headerlink, .rst-content .toctree-wrapper p.caption .headerlink, .rst-content h3 .headerlink, .rst-content h4 .headerlink, .rst-content h5 .headerlink, .rst-content h6 .headerlink, .rst-content dl dt .headerlink, .rst-content p.caption .headerlink { display: none; visibility: hidden; font-size: 14px; } .rst-content h1 .headerlink:after, .rst-content h2 .headerlink:after, .rst-content .toctree-wrapper p.caption .headerlink:after, .rst-content h3 .headerlink:after, .rst-content h4 .headerlink:after, .rst-content h5 .headerlink:after, .rst-content h6 .headerlink:after, .rst-content dl dt .headerlink:after, .rst-content p.caption .headerlink:after { visibility: visible; content: ""; font-family: FontAwesome; display: inline-block; } .rst-content h1:hover .headerlink, .rst-content h2:hover .headerlink, .rst-content .toctree-wrapper p.caption:hover .headerlink, .rst-content h3:hover .headerlink, .rst-content h4:hover .headerlink, .rst-content h5:hover .headerlink, .rst-content h6:hover .headerlink, .rst-content dl dt:hover .headerlink, .rst-content p.caption:hover .headerlink { display: inline-block; } .rst-content .sidebar { float: right; width: 40%; display: block; margin: 0 0 24px 24px; padding: 24px; background: #f3f6f6; border: solid 1px #e1e4e5; } .rst-content .sidebar p, .rst-content .sidebar ul, .rst-content .sidebar dl { font-size: 90%; } .rst-content .sidebar .last { margin-bottom: 0; } .rst-content .sidebar .sidebar-title { display: block; font-family: "Roboto Slab", "ff-tisa-web-pro", "Georgia", Arial, sans-serif; font-weight: bold; background: #e1e4e5; padding: 6px 12px; margin: -24px; margin-bottom: 24px; font-size: 100%; } .rst-content .highlighted { background: #F1C40F; display: inline-block; font-weight: bold; padding: 0 6px; } .rst-content .footnote-reference, .rst-content .citation-reference { vertical-align: super; font-size: 90%; } .rst-content table.docutils.citation, .rst-content table.docutils.footnote { background: none; border: none; color: #999; } .rst-content table.docutils.citation td, .rst-content table.docutils.citation tr, .rst-content table.docutils.footnote td, .rst-content table.docutils.footnote tr { border: none; background-color: transparent !important; white-space: normal; } .rst-content table.docutils.citation td.label, .rst-content table.docutils.footnote td.label { padding-left: 0; padding-right: 0; vertical-align: top; } .rst-content table.docutils.citation tt, .rst-content table.docutils.citation code, .rst-content table.docutils.footnote tt, .rst-content table.docutils.footnote code { color: #555; } .rst-content table.field-list { border: none; } .rst-content table.field-list td { border: none; padding-top: 5px; } .rst-content table.field-list td > strong { display: inline-block; margin-top: 3px; } .rst-content table.field-list .field-name { padding-right: 10px; text-align: left; white-space: nowrap; } .rst-content table.field-list .field-body { text-align: left; padding-left: 0; } .rst-content tt, .rst-content tt, .rst-content code { color: #000; } .rst-content tt big, .rst-content tt em, .rst-content tt big, .rst-content code big, .rst-content tt em, .rst-content code em { font-size: 100% !important; line-height: normal; } .rst-content tt.literal, .rst-content tt.literal, .rst-content code.literal { color: #E74C3C; } .rst-content tt.xref, a .rst-content tt, .rst-content tt.xref, .rst-content code.xref, a .rst-content tt, a .rst-content code { font-weight: bold; color: #404040; } .rst-content a tt, .rst-content a tt, .rst-content a code { color: #2980B9; } .rst-content dl { margin-bottom: 24px; } .rst-content dl dt { font-weight: bold; } .rst-content dl p, .rst-content dl table, .rst-content dl ul, .rst-content dl ol { margin-bottom: 12px !important; } .rst-content dl dd { margin: 0 0 12px 24px; } .rst-content dl:not(.docutils) { margin-bottom: 24px; } .rst-content dl:not(.docutils) dt { display: inline-block; margin: 6px 0; font-size: 90%; line-height: normal; background: #e7f2fa; color: #2980B9; border-top: solid 3px #6ab0de; padding: 6px; position: relative; } .rst-content dl:not(.docutils) dt:before { color: #6ab0de; } .rst-content dl:not(.docutils) dt .headerlink { color: #404040; font-size: 100% !important; } .rst-content dl:not(.docutils) dl dt { margin-bottom: 6px; border: none; border-left: solid 3px #cccccc; background: #f0f0f0; color: gray; } .rst-content dl:not(.docutils) dl dt .headerlink { color: #404040; font-size: 100% !important; } .rst-content dl:not(.docutils) dt:first-child { margin-top: 0; } .rst-content dl:not(.docutils) tt, .rst-content dl:not(.docutils) tt, .rst-content dl:not(.docutils) code { font-weight: bold; } .rst-content dl:not(.docutils) tt.descname, .rst-content dl:not(.docutils) tt.descclassname, .rst-content dl:not(.docutils) tt.descname, .rst-content dl:not(.docutils) code.descname, .rst-content dl:not(.docutils) tt.descclassname, .rst-content dl:not(.docutils) code.descclassname { background-color: transparent; border: none; padding: 0; font-size: 100% !important; } .rst-content dl:not(.docutils) tt.descname, .rst-content dl:not(.docutils) tt.descname, .rst-content dl:not(.docutils) code.descname { font-weight: bold; } .rst-content dl:not(.docutils) .optional { display: inline-block; padding: 0 4px; color: #000; font-weight: bold; } .rst-content dl:not(.docutils) .property { display: inline-block; padding-right: 8px; } .rst-content .viewcode-link, .rst-content .viewcode-back { display: inline-block; color: #27AE60; font-size: 80%; padding-left: 24px; } .rst-content .viewcode-back { display: block; float: right; } .rst-content p.rubric { margin-bottom: 12px; font-weight: bold; } .rst-content tt.download, .rst-content code.download { background: inherit; padding: inherit; font-family: inherit; font-size: inherit; color: inherit; border: inherit; white-space: inherit; } .rst-content tt.download span:first-child:before, .rst-content code.download span:first-child:before { margin-right: 4px; } @media screen and (max-width: 480px) { .rst-content .sidebar { width: 100%; } } span[id*='MathJax-Span'] { color: #404040; } .math { text-align: center; } @font-face { font-family: "Inconsolata"; font-style: normal; font-weight: 400; src: local("Inconsolata"), url(../fonts/Inconsolata.ttf) format("truetype"); } @font-face { font-family: "Inconsolata"; font-style: normal; font-weight: 700; src: local("Inconsolata Bold"), local("Inconsolata-Bold"), url(../fonts/Inconsolata-Bold.ttf) format("truetype"); } @font-face { font-family: "Lato"; font-style: normal; font-weight: 400; src: local("Lato Regular"), local("Lato-Regular"), url(../fonts/Lato-Regular.ttf) format("truetype"); } @font-face { font-family: "Lato"; font-style: normal; font-weight: 700; src: local("Lato Bold"), local("Lato-Bold"), url(../fonts/Lato-Bold.ttf) format("truetype"); } @font-face { font-family: "Roboto Slab"; font-style: normal; font-weight: 400; src: local("Roboto Slab Regular"), local("RobotoSlab-Regular"), url(../fonts/RobotoSlab-Regular.ttf) format("truetype"); } @font-face { font-family: "Roboto Slab"; font-style: normal; font-weight: 700; src: local("Roboto Slab Bold"), local("RobotoSlab-Bold"), url(../fonts/RobotoSlab-Bold.ttf) format("truetype"); } /*# sourceMappingURL=theme.css.map */ diff --git a/doc/atom_modify.html b/doc/atom_modify.html index 3feff05e5..38d7bec37 100644 --- a/doc/atom_modify.html +++ b/doc/atom_modify.html @@ -1,343 +1,343 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>atom_modify command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>atom_modify command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="atom-modify-command"> <span id="index-0"></span><h1>atom_modify command<a class="headerlink" href="#atom-modify-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>atom_modify keyword values ... </pre></div> </div> <ul class="simple"> <li>one or more keyword/value pairs may be appended</li> <li>keyword = <em>id</em> or <em>map</em> or <em>first</em> or <em>sort</em></li> </ul> <pre class="literal-block"> <em>id</em> value = <em>yes</em> or <em>no</em> - <em>map</em> value = <em>array</em> or <em>hash</em> - <em>first</em> value = group-ID = group whose atoms will appear first in internal atom lists - <em>sort</em> values = Nfreq binsize - Nfreq = sort atoms spatially every this many time steps - binsize = bin size for spatial sorting (distance units) +<em>map</em> value = <em>array</em> or <em>hash</em> +<em>first</em> value = group-ID = group whose atoms will appear first in internal atom lists +<em>sort</em> values = Nfreq binsize + Nfreq = sort atoms spatially every this many time steps + binsize = bin size for spatial sorting (distance units) </pre> </div> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>atom_modify map hash atom_modify map array sort 10000 2.0 atom_modify first colloid </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>Modify certain attributes of atoms defined and stored within LAMMPS, in addition to what is specified by the <a class="reference internal" href="atom_style.html"><em>atom_style</em></a> command. The <em>id</em> and <em>map</em> keywords must be specified before a simulation box is defined; other keywords can be specified any time.</p> <p>The <em>id</em> keyword determines whether non-zero atom IDs can be assigned to each atom. If the value is <em>yes</em>, which is the default, IDs are assigned, whether you use the <a class="reference internal" href="create_atoms.html"><em>create atoms</em></a> or <a class="reference internal" href="read_data.html"><em>read_data</em></a> or <a class="reference internal" href="read_restart.html"><em>read_restart</em></a> commands to initialize atoms. If the value is <em>no</em> the IDs for all atoms are assumed to be 0.</p> <p>If atom IDs are used, they must all be positive integers. They should also be unique, though LAMMPS does not check for this. Typically they should also be consecutively numbered (from 1 to Natoms), though this is not required. Molecular <a class="reference internal" href="atom_style.html"><em>atom styles</em></a> are those that store bond topology information (styles bond, angle, molecular, full). These styles require atom IDs since the IDs are used to encode the topology. Some other LAMMPS commands also require the use of atom IDs. E.g. some many-body pair styles use them to avoid double computation of the I-J interaction between two atoms.</p> <p>The only reason not to use atom IDs is if you are running an atomic simulation so large that IDs cannot be uniquely assigned. For a default LAMMPS build this limit is 2^31 or about 2 billion atoms. However, even in this case, you can use 64-bit atom IDs, allowing 2^63 or about 9e18 atoms, if you build LAMMPS with the - DLAMMPS_BIGBIG switch. This is described in <a class="reference internal" href="Section_start.html#start-2"><span>Section 2.2</span></a> of the manual. If atom IDs are not used, they must be specified as 0 for all atoms, e.g. in a data or restart file.</p> <p>The <em>map</em> keyword determines how atom ID lookup is done for molecular atom styles. Lookups are performed by bond (angle, etc) routines in LAMMPS to find the local atom index associated with a global atom ID.</p> <p>When the <em>array</em> value is used, each processor stores a lookup table of length N, where N is the largest atom ID in the system. This is a fast, simple method for many simulations, but requires too much memory for large simulations. The <em>hash</em> value uses a hash table to perform the lookups. This can be slightly slower than the <em>array</em> method, but its memory cost is proportional to the number of atoms owned by a processor, i.e. N/P when N is the total number of atoms in the system and P is the number of processors.</p> <p>When this setting is not specified in your input script, LAMMPS creates a map, if one is needed, as an array or hash. See the discussion of default values below for how LAMMPS chooses which kind of map to build. Note that atomic systems do not normally need to create a map. However, even in this case some LAMMPS commands will create a map to find atoms (and then destroy it), or require a permanent map. An example of the former is the <a class="reference internal" href="velocity.html"><em>velocity loop all</em></a> command, which uses a map when looping over all atoms and insuring the same velocity values are assigned to an atom ID, no matter which processor owns it.</p> <p>The <em>first</em> keyword allows a <a class="reference internal" href="group.html"><em>group</em></a> to be specified whose atoms will be maintained as the first atoms in each processor’s list of owned atoms. This in only useful when the specified group is a small fraction of all the atoms, and there are other operations LAMMPS is performing that will be sped-up significantly by being able to loop over the smaller set of atoms. Otherwise the reordering required by this option will be a net slow-down. The <a class="reference internal" href="neigh_modify.html"><em>neigh_modify include</em></a> and <a class="reference internal" href="comm_modify.html"><em>comm_modify group</em></a> commands are two examples of commands that require this setting to work efficiently. Several <a class="reference internal" href="fix.html"><em>fixes</em></a>, most notably time integration fixes like <a class="reference internal" href="fix_nve.html"><em>fix nve</em></a>, also take advantage of this setting if the group they operate on is the group specified by this command. Note that specifying “all” as the group-ID effectively turns off the <em>first</em> option.</p> <p>It is OK to use the <em>first</em> keyword with a group that has not yet been defined, e.g. to use the atom_modify first command at the beginning of your input script. LAMMPS does not use the group until a simullation is run.</p> <p>The <em>sort</em> keyword turns on a spatial sorting or reordering of atoms within each processor’s sub-domain every <em>Nfreq</em> timesteps. If <em>Nfreq</em> is set to 0, then sorting is turned off. Sorting can improve cache performance and thus speed-up a LAMMPS simulation, as discussed in a paper by <a class="reference internal" href="#meloni"><span>(Meloni)</span></a>. Its efficacy depends on the problem size (atoms/processor), how quickly the system becomes disordered, and various other factors. As a general rule, sorting is typically more effective at speeding up simulations of liquids as opposed to solids. In tests we have done, the speed-up can range from zero to 3-4x.</p> <p>Reordering is peformed every <em>Nfreq</em> timesteps during a dynamics run or iterations during a minimization. More precisely, reordering occurs at the first reneighboring that occurs after the target timestep. The reordering is performed locally by each processor, using bins of the specified <em>binsize</em>. If <em>binsize</em> is set to 0.0, then a binsize equal to half the <a class="reference internal" href="neighbor.html"><em>neighbor</em></a> cutoff distance (force cutoff plus skin distance) is used, which is a reasonable value. After the atoms have been binned, they are reordered so that atoms in the same bin are adjacent to each other in the processor’s 1d list of atoms.</p> <p>The goal of this procedure is for atoms to put atoms close to each other in the processor’s one-dimensional list of atoms that are also near to each other spatially. This can improve cache performance when pairwise intereractions and neighbor lists are computed. Note that if bins are too small, there will be few atoms/bin. Likewise if bins are too large, there will be many atoms/bin. In both cases, the goal of cache locality will be undermined.</p> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">Running a simulation with sorting on versus off should not change the simulation results in a statistical sense. However, a different ordering will induce round-off differences, which will lead to diverging trajectories over time when comparing two simluations. Various commands, particularly those which use random numbers (e.g. <a class="reference internal" href="velocity.html"><em>velocity create</em></a>, and <a class="reference internal" href="fix_langevin.html"><em>fix langevin</em></a>), may generate (statistically identical) results which depend on the order in which atoms are processed. The order of atoms in a <a class="reference internal" href="dump.html"><em>dump</em></a> file will also typically change if sorting is enabled.</p> </div> </div> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <p>The <em>first</em> and <em>sort</em> options cannot be used together. Since sorting is on by default, it will be turned off if the <em>first</em> keyword is used with a group-ID that is not “all”.</p> <p><strong>Related commands:</strong> none</p> </div> <div class="section" id="default"> <h2>Default<a class="headerlink" href="#default" title="Permalink to this headline">¶</a></h2> <p>By default, <em>id</em> is yes. By default, atomic systems (no bond topology info) do not use a map. For molecular systems (with bond topology info), a map is used. The default map style is array if no atom ID is larger than 1 million, otherwise the default is hash. By default, a “first” group is not defined. By default, sorting is enabled with a frequency of 1000 and a binsize of 0.0, which means the neighbor cutoff will be used to set the bin size.</p> <hr class="docutils" /> <p id="meloni"><strong>(Meloni)</strong> Meloni, Rosati and Colombo, J Chem Phys, 126, 121102 (2007).</p> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/atom_style.html b/doc/atom_style.html index a335d9a18..44c663f6b 100644 --- a/doc/atom_style.html +++ b/doc/atom_style.html @@ -1,472 +1,472 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>atom_style command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>atom_style command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="atom-style-command"> <span id="index-0"></span><h1>atom_style command<a class="headerlink" href="#atom-style-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>atom_style style args </pre></div> </div> <ul class="simple"> <li>style = <em>angle</em> or <em>atomic</em> or <em>body</em> or <em>bond</em> or <em>charge</em> or <em>dipole</em> or <em>electron</em> or <em>ellipsoid</em> or <em>full</em> or <em>line</em> or <em>meso</em> or <em>molecular</em> or <em>peri</em> or <em>sphere</em> or <em>tri</em> or <em>template</em> or <em>hybrid</em></li> </ul> <pre class="literal-block"> args = none for any style except <em>body</em> and <em>hybrid</em> - <em>body</em> args = bstyle bstyle-args - bstyle = style of body particles - bstyle-args = additional arguments specific to the bstyle - see the <a class="reference internal" href="body.html"><em>body</em></a> doc page for details - <em>template</em> args = template-ID - template-ID = ID of molecule template specified in a separate <a class="reference internal" href="molecule.html"><em>molecule</em></a> command - <em>hybrid</em> args = list of one or more sub-styles, each with their args +<em>body</em> args = bstyle bstyle-args + bstyle = style of body particles + bstyle-args = additional arguments specific to the bstyle + see the <a class="reference internal" href="body.html"><em>body</em></a> doc page for details +<em>template</em> args = template-ID + template-ID = ID of molecule template specified in a separate <a class="reference internal" href="molecule.html"><em>molecule</em></a> command +<em>hybrid</em> args = list of one or more sub-styles, each with their args </pre> <ul class="simple"> <li>accelerated styles (with same args) = <em>angle/cuda</em> or <em>angle/kk</em> or <em>atomic/cuda</em> or <em>atomic/kk</em> or <em>bond/kk</em> or <em>charge/cuda</em> or <em>charge/kk</em> or <em>full/cuda</em> or <em>full/kk</em> or <em>molecular/kk</em></li> </ul> </div> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>atom_style atomic atom_style bond atom_style full atom_style full/cuda atom_style body nparticle 2 10 atom_style hybrid charge bond atom_style hybrid charge body nparticle 2 5 atom_style template myMols </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>Define what style of atoms to use in a simulation. This determines what attributes are associated with the atoms. This command must be used before a simulation is setup via a <a class="reference internal" href="read_data.html"><em>read_data</em></a>, <a class="reference internal" href="read_restart.html"><em>read_restart</em></a>, or <a class="reference internal" href="create_box.html"><em>create_box</em></a> command.</p> <p>Once a style is assigned, it cannot be changed, so use a style general enough to encompass all attributes. E.g. with style <em>bond</em>, angular terms cannot be used or added later to the model. It is OK to use a style more general than needed, though it may be slightly inefficient.</p> <p>The choice of style affects what quantities are stored by each atom, what quantities are communicated between processors to enable forces to be computed, and what quantities are listed in the data file read by the <a class="reference internal" href="read_data.html"><em>read_data</em></a> command.</p> <p>These are the additional attributes of each style and the typical kinds of physical systems they are used to model. All styles store coordinates, velocities, atom IDs and types. See the <a class="reference internal" href="read_data.html"><em>read_data</em></a>, <a class="reference internal" href="create_atoms.html"><em>create_atoms</em></a>, and <a class="reference internal" href="set.html"><em>set</em></a> commands for info on how to set these various quantities.</p> <table border="1" class="docutils"> <colgroup> <col width="13%" /> <col width="50%" /> <col width="36%" /> </colgroup> <tbody valign="top"> <tr class="row-odd"><td><em>angle</em></td> <td>bonds and angles</td> <td>bead-spring polymers with stiffness</td> </tr> <tr class="row-even"><td><em>atomic</em></td> <td>only the default values</td> <td>coarse-grain liquids, solids, metals</td> </tr> <tr class="row-odd"><td><em>body</em></td> <td>mass, inertia moments, quaternion, angular momentum</td> <td>arbitrary bodies</td> </tr> <tr class="row-even"><td><em>bond</em></td> <td>bonds</td> <td>bead-spring polymers</td> </tr> <tr class="row-odd"><td><em>charge</em></td> <td>charge</td> <td>atomic system with charges</td> </tr> <tr class="row-even"><td><em>dipole</em></td> <td>charge and dipole moment</td> <td>system with dipolar particles</td> </tr> <tr class="row-odd"><td><em>electron</em></td> <td>charge and spin and eradius</td> <td>electronic force field</td> </tr> <tr class="row-even"><td><em>ellipsoid</em></td> <td>shape, quaternion, angular momentum</td> <td>aspherical particles</td> </tr> <tr class="row-odd"><td><em>full</em></td> <td>molecular + charge</td> <td>bio-molecules</td> </tr> <tr class="row-even"><td><em>line</em></td> <td>end points, angular velocity</td> <td>rigid bodies</td> </tr> <tr class="row-odd"><td><em>meso</em></td> <td>rho, e, cv</td> <td>SPH particles</td> </tr> <tr class="row-even"><td><em>molecular</em></td> <td>bonds, angles, dihedrals, impropers</td> <td>uncharged molecules</td> </tr> <tr class="row-odd"><td><em>peri</em></td> <td>mass, volume</td> <td>mesocopic Peridynamic models</td> </tr> <tr class="row-even"><td><em>sphere</em></td> <td>diameter, mass, angular velocity</td> <td>granular models</td> </tr> <tr class="row-odd"><td><em>template</em></td> <td>template index, template atom</td> <td>small molecules with fixed topology</td> </tr> <tr class="row-even"><td><em>tri</em></td> <td>corner points, angular momentum</td> <td>rigid bodies</td> </tr> <tr class="row-odd"><td><em>wavepacket</em></td> <td>charge, spin, eradius, etag, cs_re, cs_im</td> <td>AWPMD</td> </tr> </tbody> </table> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">It is possible to add some attributes, such as a molecule ID, to atom styles that do not have them via the <a class="reference internal" href="fix_property_atom.html"><em>fix property/atom</em></a> command. This command also allows new custom attributes consisting of extra integer or floating-point values to be added to atoms. See the <a class="reference internal" href="fix_property_atom.html"><em>fix property/atom</em></a> doc page for examples of cases where this is useful and details on how to initialize, access, and output the custom values.</p> </div> <p>All of the above styles define point particles, except the <em>sphere</em>, <em>ellipsoid</em>, <em>electron</em>, <em>peri</em>, <em>wavepacket</em>, <em>line</em>, <em>tri</em>, and <em>body</em> styles, which define finite-size particles. See <a class="reference internal" href="Section_howto.html#howto-14"><span>Section_howto 14</span></a> for an overview of using finite-size particle models with LAMMPS.</p> <p>All of the point-particle styles assign mass to particles on a per-type basis, using the <a class="reference internal" href="mass.html"><em>mass</em></a> command, The finite-size particle styles assign mass to individual particles on a per-particle basis.</p> <p>For the <em>sphere</em> style, the particles are spheres and each stores a per-particle diameter and mass. If the diameter > 0.0, the particle is a finite-size sphere. If the diameter = 0.0, it is a point particle.</p> <p>For the <em>ellipsoid</em> style, the particles are ellipsoids and each stores a flag which indicates whether it is a finite-size ellipsoid or a point particle. If it is an ellipsoid, it also stores a shape vector with the 3 diamters of the ellipsoid and a quaternion 4-vector with its orientation.</p> <p>For the <em>electron</em> style, the particles representing electrons are 3d Gaussians with a specified position and bandwidth or uncertainty in position, which is represented by the eradius = electron size.</p> <p>For the <em>peri</em> style, the particles are spherical and each stores a per-particle mass and volume.</p> <p>The <em>meso</em> style is for smoothed particle hydrodynamics (SPH) particles which store a density (rho), energy (e), and heat capacity (cv).</p> <p>The <em>wavepacket</em> style is similar to <em>electron</em>, but the electrons may consist of several Gaussian wave packets, summed up with coefficients cs= (cs_re,cs_im). Each of the wave packets is treated as a separate particle in LAMMPS, wave packets belonging to the same electron must have identical <em>etag</em> values.</p> <p>For the <em>line</em> style, the particles are idealized line segments and each stores a per-particle mass and length and orientation (i.e. the end points of the line segment).</p> <p>For the <em>tri</em> style, the particles are planar triangles and each stores a per-particle mass and size and orientation (i.e. the corner points of the triangle).</p> <p>The <em>template</em> style allows molecular topolgy (bonds,angles,etc) to be defined via a molecule template using the <a class="reference external" href="molecule.txt">molecule</a> command. The template stores one or more molecules with a single copy of the topology info (bonds,angles,etc) of each. Individual atoms only store a template index and template atom to identify which molecule and which atom-within-the-molecule they represent. Using the <em>template</em> style instead of the <em>bond</em>, <em>angle</em>, <em>molecular</em> styles can save memory for systems comprised of a large number of small molecules, all of a single type (or small number of types). See the paper by Grime and Voth, in <a class="reference internal" href="#grime"><span>(Grime)</span></a>, for examples of how this can be advantageous for large-scale coarse-grained systems.</p> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">When using the <em>template</em> style with a <a class="reference internal" href="molecule.html"><em>molecule template</em></a> that contains multiple molecules, you should insure the atom types, bond types, angle_types, etc in all the molecules are consistent. E.g. if one molecule represents H2O and another CO2, then you probably do not want each molecule file to define 2 atom types and a single bond type, because they will conflict with each other when a mixture system of H2O and CO2 molecules is defined, e.g. by the <a class="reference internal" href="read_data.html"><em>read_data</em></a> command. Rather the H2O molecule should define atom types 1 and 2, and bond type 1. And the CO2 molecule should define atom types 3 and 4 (or atom types 3 and 2 if a single oxygen type is desired), and bond type 2.</p> </div> <p>For the <em>body</em> style, the particles are arbitrary bodies with internal attributes defined by the “style” of the bodies, which is specified by the <em>bstyle</em> argument. Body particles can represent complex entities, such as surface meshes of discrete points, collections of sub-particles, deformable objects, etc.</p> <p>The <a class="reference internal" href="body.html"><em>body</em></a> doc page descibes the body styles LAMMPS currently supports, and provides more details as to the kind of body particles they represent. For all styles, each body particle stores moments of inertia and a quaternion 4-vector, so that its orientation and position can be time integrated due to forces and torques.</p> <p>Note that there may be additional arguments required along with the <em>bstyle</em> specification, in the atom_style body command. These arguments are described in the <a class="reference internal" href="body.html"><em>body</em></a> doc page.</p> <hr class="docutils" /> <p>Typically, simulations require only a single (non-hybrid) atom style. If some atoms in the simulation do not have all the properties defined by a particular style, use the simplest style that defines all the needed properties by any atom. For example, if some atoms in a simulation are charged, but others are not, use the <em>charge</em> style. If some atoms have bonds, but others do not, use the <em>bond</em> style.</p> <p>The only scenario where the <em>hybrid</em> style is needed is if there is no single style which defines all needed properties of all atoms. For example, if you want dipolar particles which will rotate due to torque, you would need to use “atom_style hybrid sphere dipole”. When a hybrid style is used, atoms store and communicate the union of all quantities implied by the individual styles.</p> <p>When using the <em>hybrid</em> style, you cannot combine the <em>template</em> style with another molecular style that stores bond,angle,etc info on a per-atom basis.</p> <p>LAMMPS can be extended with new atom styles as well as new body styles; see <a class="reference internal" href="Section_modify.html"><em>this section</em></a>.</p> <hr class="docutils" /> <p>Styles with a <em>cuda</em> or <em>kk</em> suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available hardware, as discussed in <a class="reference internal" href="Section_accelerate.html"><em>Section_accelerate</em></a> of the manual. The accelerated styles take the same arguments and should produce the same results, except for round-off and precision issues.</p> <p>Note that other acceleration packages in LAMMPS, specifically the GPU, USER-INTEL, USER-OMP, and OPT packages do not use accelerated atom styles.</p> <p>The accelerated styles are part of the USER-CUDA and KOKKOS packages respectively. They are only enabled if LAMMPS was built with those packages. See the <a class="reference internal" href="Section_start.html#start-3"><span>Making LAMMPS</span></a> section for more info.</p> <p>You can specify the accelerated styles explicitly in your input script by including their suffix, or you can use the <a class="reference internal" href="Section_start.html#start-7"><span>-suffix command-line switch</span></a> when you invoke LAMMPS, or you can use the <a class="reference internal" href="suffix.html"><em>suffix</em></a> command in your input script.</p> <p>See <a class="reference internal" href="Section_accelerate.html"><em>Section_accelerate</em></a> of the manual for more instructions on how to use the accelerated styles effectively.</p> </div> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <p>This command cannot be used after the simulation box is defined by a <a class="reference internal" href="read_data.html"><em>read_data</em></a> or <a class="reference internal" href="create_box.html"><em>create_box</em></a> command.</p> <p>The <em>angle</em>, <em>bond</em>, <em>full</em>, <em>molecular</em>, and <em>template</em> styles are part of the MOLECULE package. The <em>line</em> and <em>tri</em> styles are part of the ASPHERE pacakge. The <em>body</em> style is part of the BODY package. The <em>dipole</em> style is part of the DIPOLE package. The <em>peri</em> style is part of the PERI package for Peridynamics. The <em>electron</em> style is part of the USER-EFF package for <a class="reference internal" href="pair_eff.html"><em>electronic force fields</em></a>. The <em>meso</em> style is part of the USER-SPH package for smoothed particle hydrodyanmics (SPH). See <a class="reference external" href="USER/sph/SPH_LAMMPS_userguide.pdf">this PDF guide</a> to using SPH in LAMMPS. The <em>wavepacket</em> style is part of the USER-AWPMD package for the <a class="reference internal" href="pair_awpmd.html"><em>antisymmetrized wave packet MD method</em></a>. They are only enabled if LAMMPS was built with that package. See the <a class="reference internal" href="Section_start.html#start-3"><span>Making LAMMPS</span></a> section for more info.</p> </div> <div class="section" id="related-commands"> <h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2> <p><a class="reference internal" href="read_data.html"><em>read_data</em></a>, <a class="reference internal" href="pair_style.html"><em>pair_style</em></a></p> </div> <div class="section" id="default"> <h2>Default<a class="headerlink" href="#default" title="Permalink to this headline">¶</a></h2> <p>atom_style atomic</p> <hr class="docutils" /> <p id="grime"><strong>(Grime)</strong> Grime and Voth, to appear in J Chem Theory & Computation (2014).</p> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/balance.html b/doc/balance.html index 7899e7a6a..7fcca6c69 100644 --- a/doc/balance.html +++ b/doc/balance.html @@ -1,543 +1,543 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>balance command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>balance command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="balance-command"> <span id="index-0"></span><h1>balance command<a class="headerlink" href="#balance-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>balance thresh style args ... keyword value ... </pre></div> </div> <ul class="simple"> <li>thresh = imbalance threshhold that must be exceeded to perform a re-balance</li> <li>one style/arg pair can be used (or multiple for <em>x</em>,*y*,*z*)</li> <li>style = <em>x</em> or <em>y</em> or <em>z</em> or <em>shift</em> or <em>rcb</em></li> </ul> <pre class="literal-block"> <em>x</em> args = <em>uniform</em> or Px-1 numbers between 0 and 1 - <em>uniform</em> = evenly spaced cuts between processors in x dimension - numbers = Px-1 ascending values between 0 and 1, Px - # of processors in x dimension - <em>x</em> can be specified together with <em>y</em> or <em>z</em> - <em>y</em> args = <em>uniform</em> or Py-1 numbers between 0 and 1 - <em>uniform</em> = evenly spaced cuts between processors in y dimension - numbers = Py-1 ascending values between 0 and 1, Py - # of processors in y dimension - <em>y</em> can be specified together with <em>x</em> or <em>z</em> - <em>z</em> args = <em>uniform</em> or Pz-1 numbers between 0 and 1 - <em>uniform</em> = evenly spaced cuts between processors in z dimension - numbers = Pz-1 ascending values between 0 and 1, Pz - # of processors in z dimension - <em>z</em> can be specified together with <em>x</em> or <em>y</em> - <em>shift</em> args = dimstr Niter stopthresh - dimstr = sequence of letters containing "x" or "y" or "z", each not more than once - Niter = # of times to iterate within each dimension of dimstr sequence - stopthresh = stop balancing when this imbalance threshhold is reached - <em>rcb</em> args = none + <em>uniform</em> = evenly spaced cuts between processors in x dimension + numbers = Px-1 ascending values between 0 and 1, Px - # of processors in x dimension + <em>x</em> can be specified together with <em>y</em> or <em>z</em> +<em>y</em> args = <em>uniform</em> or Py-1 numbers between 0 and 1 + <em>uniform</em> = evenly spaced cuts between processors in y dimension + numbers = Py-1 ascending values between 0 and 1, Py - # of processors in y dimension + <em>y</em> can be specified together with <em>x</em> or <em>z</em> +<em>z</em> args = <em>uniform</em> or Pz-1 numbers between 0 and 1 + <em>uniform</em> = evenly spaced cuts between processors in z dimension + numbers = Pz-1 ascending values between 0 and 1, Pz - # of processors in z dimension + <em>z</em> can be specified together with <em>x</em> or <em>y</em> +<em>shift</em> args = dimstr Niter stopthresh + dimstr = sequence of letters containing "x" or "y" or "z", each not more than once + Niter = # of times to iterate within each dimension of dimstr sequence + stopthresh = stop balancing when this imbalance threshhold is reached +<em>rcb</em> args = none </pre> <ul class="simple"> <li>zero or more keyword/value pairs may be appended</li> <li>keyword = <em>out</em></li> </ul> <pre class="literal-block"> <em>out</em> value = filename - filename = write each processor's sub-domain to a file + filename = write each processor's sub-domain to a file </pre> </div> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>balance 0.9 x uniform y 0.4 0.5 0.6 balance 1.2 shift xz 5 1.1 balance 1.0 shift xz 5 1.1 balance 1.1 rcb balance 1.0 shift x 20 1.0 out tmp.balance </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>This command adjusts the size and shape of processor sub-domains within the simulation box, to attempt to balance the number of particles and thus the computational cost (load) evenly across processors. The load balancing is “static” in the sense that this command performs the balancing once, before or between simulations. The processor sub-domains will then remain static during the subsequent run. To perform “dynamic” balancing, see the <a class="reference internal" href="fix_balance.html"><em>fix balance</em></a> command, which can adjust processor sub-domain sizes and shapes on-the-fly during a <a class="reference internal" href="run.html"><em>run</em></a>.</p> <p>Load-balancing is typically only useful if the particles in the simulation box have a spatially-varying density distribution. E.g. a model of a vapor/liquid interface, or a solid with an irregular-shaped geometry containing void regions. In this case, the LAMMPS default of dividing the simulation box volume into a regular-spaced grid of 3d bricks, with one equal-volume sub-domain per procesor, may assign very different numbers of particles per processor. This can lead to poor performance when the simulation is run in parallel.</p> <p>Note that the <a class="reference internal" href="processors.html"><em>processors</em></a> command allows some control over how the box volume is split across processors. Specifically, for a Px by Py by Pz grid of processors, it allows choice of Px, Py, and Pz, subject to the constraint that Px * Py * Pz = P, the total number of processors. This is sufficient to achieve good load-balance for some problems on some processor counts. However, all the processor sub-domains will still have the same shape and same volume.</p> <p>The requested load-balancing operation is only performed if the current “imbalance factor” in particles owned by each processor exceeds the specified <em>thresh</em> parameter. The imbalance factor is defined as the maximum number of particles owned by any processor, divided by the average number of particles per processor. Thus an imbalance factor of 1.0 is perfect balance.</p> <p>As an example, for 10000 particles running on 10 processors, if the most heavily loaded processor has 1200 particles, then the factor is 1.2, meaning there is a 20% imbalance. Note that a re-balance can be forced even if the current balance is perfect (1.0) be specifying a <em>thresh</em> < 1.0.</p> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">Balancing is performed even if the imbalance factor does not exceed the <em>thresh</em> parameter if a “grid” style is specified when the current partitioning is “tiled”. The meaning of “grid” vs “tiled” is explained below. This is to allow forcing of the partitioning to “grid” so that the <a class="reference internal" href="comm_style.html"><em>comm_style brick</em></a> command can then be used to replace a current <a class="reference internal" href="comm_style.html"><em>comm_style tiled</em></a> setting.</p> </div> <p>When the balance command completes, it prints statistics about the result, including the change in the imbalance factor and the change in the maximum number of particles on any processor. For “grid” methods (defined below) that create a logical 3d grid of processors, the positions of all cutting planes in each of the 3 dimensions (as fractions of the box length) are also printed.</p> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">This command attempts to minimize the imbalance factor, as defined above. But depending on the method a perfect balance (1.0) may not be achieved. For example, “grid” methods (defined below) that create a logical 3d grid cannot achieve perfect balance for many irregular distributions of particles. Likewise, if a portion of the system is a perfect lattice, e.g. the intiial system is generated by the <a class="reference internal" href="create_atoms.html"><em>create_atoms</em></a> command, then “grid” methods may be unable to achieve exact balance. This is because entire lattice planes will be owned or not owned by a single processor.</p> </div> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">The imbalance factor is also an estimate of the maximum speed-up you can hope to achieve by running a perfectly balanced simulation versus an imbalanced one. In the example above, the 10000 particle simulation could run up to 20% faster if it were perfectly balanced, versus when imbalanced. However, computational cost is not strictly proportional to particle count, and changing the relative size and shape of processor sub-domains may lead to additional computational and communication overheads, e.g. in the PPPM solver used via the <a class="reference internal" href="kspace_style.html"><em>kspace_style</em></a> command. Thus you should benchmark the run times of a simulation before and after balancing.</p> </div> <hr class="docutils" /> <p>The method used to perform a load balance is specified by one of the listed styles (or more in the case of <em>x</em>,*y*,*z*), which are described in detail below. There are 2 kinds of styles.</p> <p>The <em>x</em>, <em>y</em>, <em>z</em>, and <em>shift</em> styles are “grid” methods which produce a logical 3d grid of processors. They operate by changing the cutting planes (or lines) between processors in 3d (or 2d), to adjust the volume (area in 2d) assigned to each processor, as in the following 2d diagram where processor sub-domains are shown and atoms are colored by the processor that owns them. The leftmost diagram is the default partitioning of the simulation box across processors (one sub-box for each of 16 processors); the middle diagram is after a “grid” method has been applied.</p> <a data-lightbox="group-default" href="_images/balance_uniform.jpg" class="" title="" data-title="" ><img src="_images/balance_uniform.jpg" class="align-center" width="25%" height="auto" alt=""/> </a><a data-lightbox="group-default" href="_images/balance_nonuniform.jpg" class="" title="" data-title="" ><img src="_images/balance_nonuniform.jpg" class="align-center" width="25%" height="auto" alt=""/> </a><a data-lightbox="group-default" href="_images/balance_rcb.jpg" class="" title="" data-title="" ><img src="_images/balance_rcb.jpg" class="align-center" width="25%" height="auto" alt=""/> </a><p>The <em>rcb</em> style is a “tiling” method which does not produce a logical 3d grid of processors. Rather it tiles the simulation domain with rectangular sub-boxes of varying size and shape in an irregular fashion so as to have equal numbers of particles in each sub-box, as in the rightmost diagram above.</p> <p>The “grid” methods can be used with either of the <a class="reference internal" href="comm_style.html"><em>comm_style</em></a> command options, <em>brick</em> or <em>tiled</em>. The “tiling” methods can only be used with <a class="reference internal" href="comm_style.html"><em>comm_style tiled</em></a>. Note that it can be useful to use a “grid” method with <a class="reference internal" href="comm_style.html"><em>comm_style tiled</em></a> to return the domain partitioning to a logical 3d grid of processors so that “comm_style brick” can afterwords be specified for subsequent <a class="reference internal" href="run.html"><em>run</em></a> commands.</p> <p>When a “grid” method is specified, the current domain partitioning can be either a logical 3d grid or a tiled partitioning. In the former case, the current logical 3d grid is used as a starting point and changes are made to improve the imbalance factor. In the latter case, the tiled partitioning is discarded and a logical 3d grid is created with uniform spacing in all dimensions. This becomes the starting point for the balancing operation.</p> <p>When a “tiling” method is specified, the current domain partitioning (“grid” or “tiled”) is ignored, and a new partitioning is computed from scratch.</p> <hr class="docutils" /> <p>The <em>x</em>, <em>y</em>, and <em>z</em> styles invoke a “grid” method for balancing, as described above. Note that any or all of these 3 styles can be specified together, one after the other, but they cannot be used with any other style. This style adjusts the position of cutting planes between processor sub-domains in specific dimensions. Only the specified dimensions are altered.</p> <p>The <em>uniform</em> argument spaces the planes evenly, as in the left diagrams above. The <em>numeric</em> argument requires listing Ps-1 numbers that specify the position of the cutting planes. This requires knowing Ps = Px or Py or Pz = the number of processors assigned by LAMMPS to the relevant dimension. This assignment is made (and the Px, Py, Pz values printed out) when the simulation box is created by the “create_box” or “read_data” or “read_restart” command and is influenced by the settings of the <a class="reference internal" href="processors.html"><em>processors</em></a> command.</p> <p>Each of the numeric values must be between 0 and 1, and they must be listed in ascending order. They represent the fractional position of the cutting place. The left (or lower) edge of the box is 0.0, and the right (or upper) edge is 1.0. Neither of these values is specified. Only the interior Ps-1 positions are specified. Thus is there are 2 procesors in the x dimension, you specify a single value such as 0.75, which would make the left processor’s sub-domain 3x larger than the right processor’s sub-domain.</p> <hr class="docutils" /> <p>The <em>shift</em> style invokes a “grid” method for balancing, as described above. It changes the positions of cutting planes between processors in an iterative fashion, seeking to reduce the imbalance factor, similar to how the <a class="reference internal" href="fix_balance.html"><em>fix balance shift</em></a> command operates.</p> <p>The <em>dimstr</em> argument is a string of characters, each of which must be an “x” or “y” or “z”. Eacn character can appear zero or one time, since there is no advantage to balancing on a dimension more than once. You should normally only list dimensions where you expect there to be a density variation in the particles.</p> <p>Balancing proceeds by adjusting the cutting planes in each of the dimensions listed in <em>dimstr</em>, one dimension at a time. For a single dimension, the balancing operation (described below) is iterated on up to <em>Niter</em> times. After each dimension finishes, the imbalance factor is re-computed, and the balancing operation halts if the <em>stopthresh</em> criterion is met.</p> <p>A rebalance operation in a single dimension is performed using a recursive multisectioning algorithm, where the position of each cutting plane (line in 2d) in the dimension is adjusted independently. This is similar to a recursive bisectioning for a single value, except that the bounds used for each bisectioning take advantage of information from neighboring cuts if possible. At each iteration, the count of particles on either side of each plane is tallied. If the counts do not match the target value for the plane, the position of the cut is adjusted to be halfway between a low and high bound. The low and high bounds are adjusted on each iteration, using new count information, so that they become closer together over time. Thus as the recustion progresses, the count of particles on either side of the plane gets closer to the target value.</p> <p>Once the rebalancing is complete and final processor sub-domains assigned, particles are migrated to their new owning processor, and the balance procedure ends.</p> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">At each rebalance operation, the bisectioning for each cutting plane (line in 2d) typcially starts with low and high bounds separated by the extent of a processor’s sub-domain in one dimension. The size of this bracketing region shrinks by 1/2 every iteration. Thus if <em>Niter</em> is specified as 10, the cutting plane will typically be positioned to 1 part in 1000 accuracy (relative to the perfect target position). For <em>Niter</em> = 20, it will be accurate to 1 part in a million. Thus there is no need ot set <em>Niter</em> to a large value. LAMMPS will check if the threshold accuracy is reached (in a dimension) is less iterations than <em>Niter</em> and exit early. However, <em>Niter</em> should also not be set too small, since it will take roughly the same number of iterations to converge even if the cutting plane is initially close to the target value.</p> </div> <hr class="docutils" /> <p>The <em>rcb</em> style invokes a “tiled” method for balancing, as described above. It performs a recursive coordinate bisectioning (RCB) of the simulation domain. The basic idea is as follows.</p> <p>The simulation domain is cut into 2 boxes by an axis-aligned cut in the longest dimension, leaving one new box on either side of the cut. All the processors are also partitioned into 2 groups, half assigned to the box on the lower side of the cut, and half to the box on the upper side. (If the processor count is odd, one side gets an extra processor.) The cut is positioned so that the number of atoms in the lower box is exactly the number that the processors assigned to that box should own for load balance to be perfect. This also makes load balance for the upper box perfect. The positioning is done iteratively, by a bisectioning method. Note that counting atoms on either side of the cut requires communication between all processors at each iteration.</p> <p>That is the procedure for the first cut. Subsequent cuts are made recursively, in exactly the same manner. The subset of processors assigned to each box make a new cut in the longest dimension of that box, splitting the box, the subset of processsors, and the atoms in the box in two. The recursion continues until every processor is assigned a sub-box of the entire simulation domain, and owns the atoms in that sub-box.</p> <hr class="docutils" /> <p>The <em>out</em> keyword writes a text file to the specified <em>filename</em> with the results of the balancing operation. The file contains the bounds of the sub-domain for each processor after the balancing operation completes. The format of the file is compatible with the <a class="reference external" href="pizza">Pizza.py</a> <em>mdump</em> tool which has support for manipulating and visualizing mesh files. An example is shown here for a balancing by 4 processors for a 2d problem:</p> <div class="highlight-python"><div class="highlight"><pre>ITEM: TIMESTEP 0 ITEM: NUMBER OF NODES 16 ITEM: BOX BOUNDS 0 10 0 10 0 10 ITEM: NODES 1 1 0 0 0 2 1 5 0 0 3 1 5 5 0 4 1 0 5 0 5 1 5 0 0 6 1 10 0 0 7 1 10 5 0 8 1 5 5 0 9 1 0 5 0 10 1 5 5 0 11 1 5 10 0 12 1 10 5 0 13 1 5 5 0 14 1 10 5 0 15 1 10 10 0 16 1 5 10 0 ITEM: TIMESTEP 0 ITEM: NUMBER OF SQUARES 4 ITEM: SQUARES 1 1 1 2 3 4 2 1 5 6 7 8 3 1 9 10 11 12 4 1 13 14 15 16 </pre></div> </div> <p>The coordinates of all the vertices are listed in the NODES section, 5 per processor. Note that the 4 sub-domains share vertices, so there will be duplicate nodes in the list.</p> <p>The “SQUARES” section lists the node IDs of the 4 vertices in a rectangle for each processor (1 to 4).</p> <p>For a 3d problem, the syntax is similar with 8 vertices listed for each processor, instead of 4, and “SQUARES” replaced by “CUBES”.</p> </div> <hr class="docutils" /> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <p>For 2d simulations, the <em>z</em> style cannot be used. Nor can a “z” appear in <em>dimstr</em> for the <em>shift</em> style.</p> </div> <div class="section" id="related-commands"> <h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2> <p><a class="reference internal" href="processors.html"><em>processors</em></a>, <a class="reference internal" href="fix_balance.html"><em>fix balance</em></a></p> <p><strong>Default:</strong> none</p> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/bond_style.html b/doc/bond_style.html index 7848972ea..c1c44743a 100644 --- a/doc/bond_style.html +++ b/doc/bond_style.html @@ -1,285 +1,285 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>bond_style command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>bond_style command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="bond-style-command"> <span id="index-0"></span><h1>bond_style command<a class="headerlink" href="#bond-style-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>bond_style style args </pre></div> </div> <ul class="simple"> <li>style = <em>none</em> or <em>hybrid</em> or <em>class2</em> or <em>fene</em> or <em>fene/expand</em> or <em>harmonic</em> or <em>morse</em> or <em>nonlinear</em> or <em>quartic</em></li> </ul> <pre class="literal-block"> args = none for any style except <em>hybrid</em> - <em>hybrid</em> args = list of one or more styles +<em>hybrid</em> args = list of one or more styles </pre> </div> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>bond_style harmonic bond_style fene bond_style hybrid harmonic fene </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>Set the formula(s) LAMMPS uses to compute bond interactions between pairs of atoms. In LAMMPS, a bond differs from a pairwise interaction, which are set via the <a class="reference internal" href="pair_style.html"><em>pair_style</em></a> command. Bonds are defined between specified pairs of atoms and remain in force for the duration of the simulation (unless the bond breaks which is possible in some bond potentials). The list of bonded atoms is read in by a <a class="reference internal" href="read_data.html"><em>read_data</em></a> or <a class="reference internal" href="read_restart.html"><em>read_restart</em></a> command from a data or restart file. By contrast, pair potentials are typically defined between all pairs of atoms within a cutoff distance and the set of active interactions changes over time.</p> <p>Hybrid models where bonds are computed using different bond potentials can be setup using the <em>hybrid</em> bond style.</p> <p>The coefficients associated with a bond style can be specified in a data or restart file or via the <a class="reference internal" href="bond_coeff.html"><em>bond_coeff</em></a> command.</p> <p>All bond potentials store their coefficient data in binary restart files which means bond_style and <a class="reference internal" href="bond_coeff.html"><em>bond_coeff</em></a> commands do not need to be re-specified in an input script that restarts a simulation. See the <a class="reference internal" href="read_restart.html"><em>read_restart</em></a> command for details on how to do this. The one exception is that bond_style <em>hybrid</em> only stores the list of sub-styles in the restart file; bond coefficients need to be re-specified.</p> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">When both a bond and pair style is defined, the <a class="reference internal" href="special_bonds.html"><em>special_bonds</em></a> command often needs to be used to turn off (or weight) the pairwise interaction that would otherwise exist between 2 bonded atoms.</p> </div> <p>In the formulas listed for each bond style, <em>r</em> is the distance between the 2 atoms in the bond.</p> <hr class="docutils" /> <p>Here is an alphabetic list of bond styles defined in LAMMPS. Click on the style to display the formula it computes and coefficients specified by the associated <a class="reference internal" href="bond_coeff.html"><em>bond_coeff</em></a> command.</p> <p>Note that there are also additional bond styles submitted by users which are included in the LAMMPS distribution. The list of these with links to the individual styles are given in the bond section of <a class="reference internal" href="Section_commands.html#cmd-5"><span>this page</span></a>.</p> <ul class="simple"> <li><a class="reference internal" href="bond_none.html"><em>bond_style none</em></a> - turn off bonded interactions</li> <li><a class="reference internal" href="bond_hybrid.html"><em>bond_style hybrid</em></a> - define multiple styles of bond interactions</li> <li><a class="reference internal" href="bond_class2.html"><em>bond_style class2</em></a> - COMPASS (class 2) bond</li> <li><a class="reference internal" href="bond_fene.html"><em>bond_style fene</em></a> - FENE (finite-extensible non-linear elastic) bond</li> <li><a class="reference internal" href="bond_fene_expand.html"><em>bond_style fene/expand</em></a> - FENE bonds with variable size particles</li> <li><a class="reference internal" href="bond_harmonic.html"><em>bond_style harmonic</em></a> - harmonic bond</li> <li><a class="reference internal" href="bond_morse.html"><em>bond_style morse</em></a> - Morse bond</li> <li><a class="reference internal" href="bond_nonlinear.html"><em>bond_style nonlinear</em></a> - nonlinear bond</li> <li><a class="reference internal" href="bond_quartic.html"><em>bond_style quartic</em></a> - breakable quartic bond</li> <li><a class="reference internal" href="bond_table.html"><em>bond_style table</em></a> - tabulated by bond length</li> </ul> </div> <hr class="docutils" /> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <p>Bond styles can only be set for atom styles that allow bonds to be defined.</p> <p>Most bond styles are part of the MOLECULE package. They are only enabled if LAMMPS was built with that package. See the <a class="reference internal" href="Section_start.html#start-3"><span>Making LAMMPS</span></a> section for more info on packages. The doc pages for individual bond potentials tell if it is part of a package.</p> </div> <div class="section" id="related-commands"> <h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2> <p><a class="reference internal" href="bond_coeff.html"><em>bond_coeff</em></a>, <a class="reference internal" href="delete_bonds.html"><em>delete_bonds</em></a></p> </div> <div class="section" id="default"> <h2>Default<a class="headerlink" href="#default" title="Permalink to this headline">¶</a></h2> <p>bond_style none</p> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/boundary.html b/doc/boundary.html index ddb828d6d..e88643e33 100644 --- a/doc/boundary.html +++ b/doc/boundary.html @@ -1,282 +1,282 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>boundary command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>boundary command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="boundary-command"> <span id="index-0"></span><h1>boundary command<a class="headerlink" href="#boundary-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>boundary x y z </pre></div> </div> <ul class="simple"> <li>x,y,z = <em>p</em> or <em>s</em> or <em>f</em> or <em>m</em>, one or two letters</li> </ul> <pre class="literal-block"> <em>p</em> is periodic - <em>f</em> is non-periodic and fixed - <em>s</em> is non-periodic and shrink-wrapped - <em>m</em> is non-periodic and shrink-wrapped with a minimum value +<em>f</em> is non-periodic and fixed +<em>s</em> is non-periodic and shrink-wrapped +<em>m</em> is non-periodic and shrink-wrapped with a minimum value </pre> </div> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>boundary p p f boundary p fs p boundary s f fm </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>Set the style of boundaries for the global simulation box in each dimension. A single letter assigns the same style to both the lower and upper face of the box. Two letters assigns the first style to the lower face and the second style to the upper face. The initial size of the simulation box is set by the <a class="reference internal" href="read_data.html"><em>read_data</em></a>, <a class="reference internal" href="read_restart.html"><em>read_restart</em></a>, or <a class="reference internal" href="create_box.html"><em>create_box</em></a> commands.</p> <p>The style <em>p</em> means the box is periodic, so that particles interact across the boundary, and they can exit one end of the box and re-enter the other end. A periodic dimension can change in size due to constant pressure boundary conditions or box deformation (see the <a class="reference internal" href="fix_nh.html"><em>fix npt</em></a> and <a class="reference internal" href="fix_deform.html"><em>fix deform</em></a> commands). The <em>p</em> style must be applied to both faces of a dimension.</p> <p>The styles <em>f</em>, <em>s</em>, and <em>m</em> mean the box is non-periodic, so that particles do not interact across the boundary and do not move from one side of the box to the other.</p> <p>For style <em>f</em>, the position of the face is fixed. If an atom moves outside the face it will be deleted on the next timestep that reneighboring occurs. This will typically generate an error unless you have set the <a class="reference internal" href="thermo_modify.html"><em>thermo_modify lost</em></a> option to allow for lost atoms.</p> <p>For style <em>s</em>, the position of the face is set so as to encompass the atoms in that dimension (shrink-wrapping), no matter how far they move.</p> <p>For style <em>m</em>, shrink-wrapping occurs, but is bounded by the value specified in the data or restart file or set by the <a class="reference internal" href="create_box.html"><em>create_box</em></a> command. For example, if the upper z face has a value of 50.0 in the data file, the face will always be positioned at 50.0 or above, even if the maximum z-extent of all the atoms becomes less than 50.0. This can be useful if you start a simulation with an empty box or if you wish to leave room on one side of the box, e.g. for atoms to evaporate from a surface.</p> <p>For triclinic (non-orthogonal) simulation boxes, if the 2nd dimension of a tilt factor (e.g. y for xy) is periodic, then the periodicity is enforced with the tilt factor offset. If the 1st dimension is shrink-wrapped, then the shrink wrapping is applied to the tilted box face, to encompass the atoms. E.g. for a positive xy tilt, the xlo and xhi faces of the box are planes tilting in the +y direction as y increases. These tilted planes are shrink-wrapped around the atoms to determine the x extent of the box.</p> <p>See <a class="reference internal" href="Section_howto.html#howto-12"><span>Section_howto 12</span></a> of the doc pages for a geometric description of triclinic boxes, as defined by LAMMPS, and how to transform these parameters to and from other commonly used triclinic representations.</p> </div> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <p>This command cannot be used after the simulation box is defined by a <a class="reference internal" href="read_data.html"><em>read_data</em></a> or <a class="reference internal" href="create_box.html"><em>create_box</em></a> command or <a class="reference internal" href="read_restart.html"><em>read_restart</em></a> command. See the <a class="reference internal" href="change_box.html"><em>change_box</em></a> command for how to change the simulation box boundaries after it has been defined.</p> <p>For 2d simulations, the z dimension must be periodic.</p> </div> <div class="section" id="related-commands"> <h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2> <p>See the <a class="reference internal" href="thermo_modify.html"><em>thermo_modify</em></a> command for a discussion of lost atoms.</p> </div> <div class="section" id="default"> <h2>Default<a class="headerlink" href="#default" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>boundary p p p </pre></div> </div> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/change_box.html b/doc/change_box.html index 965a0e2b1..035cb5163 100644 --- a/doc/change_box.html +++ b/doc/change_box.html @@ -1,498 +1,498 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>change_box command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>change_box command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="change-box-command"> <span id="index-0"></span><h1>change_box command<a class="headerlink" href="#change-box-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>change_box group-ID parameter args ... keyword args ... </pre></div> </div> <ul class="simple"> <li>group-ID = ID of group of atoms to (optionally) displace</li> <li>one or more parameter/arg pairs may be appended</li> </ul> <pre class="literal-block"> parameter = <em>x</em> or <em>y</em> or <em>z</em> or <em>xy</em> or <em>xz</em> or <em>yz</em> or <em>boundary</em> or <em>ortho</em> or <em>triclinic</em> or <em>set</em> or <em>remap</em> <em>x</em>, <em>y</em>, <em>z</em> args = style value(s) style = <em>final</em> or <em>delta</em> or <em>scale</em> or <em>volume</em> <em>final</em> values = lo hi lo hi = box boundaries after displacement (distance units) <em>delta</em> values = dlo dhi dlo dhi = change in box boundaries after displacement (distance units) <em>scale</em> values = factor factor = multiplicative factor for change in box length after displacement <em>volume</em> value = none = adjust this dim to preserve volume of system <em>xy</em>, <em>xz</em>, <em>yz</em> args = style value style = <em>final</em> or <em>delta</em> <em>final</em> value = tilt tilt = tilt factor after displacement (distance units) <em>delta</em> value = dtilt dtilt = change in tilt factor after displacement (distance units) <em>boundary</em> args = x y z x,y,z = <em>p</em> or <em>s</em> or <em>f</em> or <em>m</em>, one or two letters <em>p</em> is periodic <em>f</em> is non-periodic and fixed <em>s</em> is non-periodic and shrink-wrapped <em>m</em> is non-periodic and shrink-wrapped with a minimum value <em>ortho</em> args = none = change box to orthogonal <em>triclinic</em> args = none = change box to triclinic <em>set</em> args = none = store state of current box <em>remap</em> args = none = remap atom coords from last saved state to current box </pre> <ul class="simple"> <li>zero or more keyword/value pairs may be appended</li> <li>keyword = <em>units</em></li> </ul> <pre class="literal-block"> <em>units</em> value = <em>lattice</em> or <em>box</em> - lattice = distances are defined in lattice units - box = distances are defined in simulation box units + lattice = distances are defined in lattice units + box = distances are defined in simulation box units </pre> </div> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>change_box all xy final -2.0 z final 0.0 5.0 boundary p p f remap units box change_box all x scale 1.1 y volume z volume remap </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>Change the volume and/or shape and/or boundary conditions for the simulation box. Orthogonal simulation boxes have 3 adjustable size parameters (x,y,z). Triclinic (non-orthogonal) simulation boxes have 6 adjustable size/shape parameters (x,y,z,xy,xz,yz). Any or all of them can be adjusted independently by this command. Thus it can be used to expand or contract a box, or to apply a shear strain to a non-orthogonal box. It can also be used to change the boundary conditions for the simulation box, similar to the <a class="reference internal" href="boundary.html"><em>boundary</em></a> command.</p> <p>The size and shape of the initial simulation box are specified by the <a class="reference internal" href="create_box.html"><em>create_box</em></a> or <a class="reference internal" href="read_data.html"><em>read_data</em></a> or <a class="reference internal" href="read_restart.html"><em>read_restart</em></a> command used to setup the simulation. The size and shape may be altered by subsequent runs, e.g. by use of the <a class="reference internal" href="fix_nh.html"><em>fix npt</em></a> or <a class="reference internal" href="fix_deform.html"><em>fix deform</em></a> commands. The <a class="reference internal" href="create_box.html"><em>create_box</em></a>, <a class="reference internal" href="read_data.html"><em>read data</em></a>, and <a class="reference internal" href="read_restart.html"><em>read_restart</em></a> commands also determine whether the simulation box is orthogonal or triclinic and their doc pages explain the meaning of the xy,xz,yz tilt factors.</p> <p>See <a class="reference internal" href="Section_howto.html#howto-12"><span>Section_howto 12</span></a> of the doc pages for a geometric description of triclinic boxes, as defined by LAMMPS, and how to transform these parameters to and from other commonly used triclinic representations.</p> <p>The keywords used in this command are applied sequentially to the simulation box and the atoms in it, in the order specified.</p> <p>Before the sequence of keywords are invoked, the current box size/shape is stored, in case a <em>remap</em> keyword is used to map the atom coordinates from a previously stored box size/shape to the current one.</p> <p>After all the keywords have been processed, any shrink-wrap boundary conditions are invoked (see the <a class="reference internal" href="boundary.html"><em>boundary</em></a> command) which may change simulation box boundaries, and atoms are migrated to new owning processors.</p> <p>IMPORTANT_NOTE: This means that you cannot use the change_box command to enlarge a shrink-wrapped box, e.g. to make room to insert more atoms via the <a class="reference internal" href="create_atoms.html"><em>create_atoms</em></a> command, because the simulation box will be re-shrink-wrapped before the change_box command completes. Instead you could do something like this, assuming the simulation box is non-periodic and atoms extend from 0 to 20 in all dimensions:</p> <div class="highlight-python"><div class="highlight"><pre>change_box all x final -10 20 create_atoms 1 single -5 5 5 # this will fail to insert an atom </pre></div> </div> <div class="highlight-python"><div class="highlight"><pre>change_box all x final -10 20 boundary f s s create_atoms 1 single -5 5 5 change_box boundary s s s # this will work </pre></div> </div> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">Unlike the earlier “displace_box” version of this command, atom remapping is NOT performed by default. This command allows remapping to be done in a more general way, exactly when you specify it (zero or more times) in the sequence of transformations. Thus if you do not use the <em>remap</em> keyword, atom coordinates will not be changed even if the box size/shape changes. If a uniformly strained state is desired, the <em>remap</em> keyword should be specified.</p> </div> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">It is possible to lose atoms with this command. E.g. by changing the box without remapping the atoms, and having atoms end up outside of non-periodic boundaries. It is also possible to alter bonds between atoms straddling a boundary in bad ways. E.g. by converting a boundary from periodic to non-periodic. It is also possible when remapping atoms to put them (nearly) on top of each other. E.g. by converting a boundary from non-periodic to periodic. All of these will typically lead to bad dynamics and/or generate error messages.</p> </div> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">The simulation box size/shape can be changed by arbitrarily large amounts by this command. This is not a problem, except that the mapping of processors to the simulation box is not changed from its initial 3d configuration; see the <a class="reference internal" href="processors.html"><em>processors</em></a> command. Thus, if the box size/shape changes dramatically, the mapping of processors to the simulation box may not end up as optimal as the initial mapping attempted to be.</p> </div> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">Because the keywords used in this command are applied one at a time to the simulation box and the atoms in it, care must be taken with triclinic cells to avoid exceeding the limits on skew after each transformation in the sequence. If skew is exceeded before the final transformation this can be avoided by changing the order of the sequence, or breaking the transformation into two or more smaller transformations. For more information on the allowed limits for box skew see the discussion on triclinic boxes on <a class="reference internal" href="Section_howto.html#howto-12"><span>this page</span></a>.</p> </div> <hr class="docutils" /> <p>For the <em>x</em>, <em>y</em>, and <em>z</em> parameters, this is the meaning of their styles and values.</p> <p>For style <em>final</em>, the final lo and hi box boundaries of a dimension are specified. The values can be in lattice or box distance units. See the discussion of the units keyword below.</p> <p>For style <em>delta</em>, plus or minus changes in the lo/hi box boundaries of a dimension are specified. The values can be in lattice or box distance units. See the discussion of the units keyword below.</p> <p>For style <em>scale</em>, a multiplicative factor to apply to the box length of a dimension is specified. For example, if the initial box length is 10, and the factor is 1.1, then the final box length will be 11. A factor less than 1.0 means compression.</p> <p>The <em>volume</em> style changes the specified dimension in such a way that the overall box volume remains constant with respect to the operation performed by the preceding keyword. The <em>volume</em> style can only be used following a keyword that changed the volume, which is any of the <em>x</em>, <em>y</em>, <em>z</em> keywords. If the preceding keyword “key” had a <em>volume</em> style, then both it and the current keyword apply to the keyword preceding “key”. I.e. this sequence of keywords is allowed:</p> <div class="highlight-python"><div class="highlight"><pre>change_box all x scale 1.1 y volume z volume </pre></div> </div> <p>The <em>volume</em> style changes the associated dimension so that the overall box volume is unchanged relative to its value before the preceding keyword was invoked.</p> <p>If the following command is used, then the z box length will shrink by the same 1.1 factor the x box length was increased by:</p> <div class="highlight-python"><div class="highlight"><pre>change_box all x scale 1.1 z volume </pre></div> </div> <p>If the following command is used, then the y,z box lengths will each shrink by sqrt(1.1) to keep the volume constant. In this case, the y,z box lengths shrink so as to keep their relative aspect ratio constant:</p> <div class="highlight-python"><div class="highlight"><pre>change_box all"x scale 1.1 y volume z volume </pre></div> </div> <p>If the following command is used, then the final box will be a factor of 10% larger in x and y, and a factor of 21% smaller in z, so as to keep the volume constant:</p> <div class="highlight-python"><div class="highlight"><pre>change_box all x scale 1.1 z volume y scale 1.1 z volume </pre></div> </div> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">For solids or liquids, when one dimension of the box is expanded, it may be physically undesirable to hold the other 2 box lengths constant since that implies a density change. For solids, adjusting the other dimensions via the <em>volume</em> style may make physical sense (just as for a liquid), but may not be correct for materials and potentials whose Poisson ratio is not 0.5.</p> </div> <p>For the <em>scale</em> and <em>volume</em> styles, the box length is expanded or compressed around its mid point.</p> <hr class="docutils" /> <p>For the <em>xy</em>, <em>xz</em>, and <em>yz</em> parameters, this is the meaning of their styles and values. Note that changing the tilt factors of a triclinic box does not change its volume.</p> <p>For style <em>final</em>, the final tilt factor is specified. The value can be in lattice or box distance units. See the discussion of the units keyword below.</p> <p>For style <em>delta</em>, a plus or minus change in the tilt factor is specified. The value can be in lattice or box distance units. See the discussion of the units keyword below.</p> <p>All of these styles change the xy, xz, yz tilt factors. In LAMMPS, tilt factors (xy,xz,yz) for triclinic boxes are required to be no more than half the distance of the parallel box length. For example, if xlo = 2 and xhi = 12, then the x box length is 10 and the xy tilt factor must be between -5 and 5. Similarly, both xz and yz must be between -(xhi-xlo)/2 and +(yhi-ylo)/2. Note that this is not a limitation, since if the maximum tilt factor is 5 (as in this example), then configurations with tilt = ..., -15, -5, 5, 15, 25, ... are all equivalent. Any tilt factor specified by this command must be within these limits.</p> <hr class="docutils" /> <p>The <em>boundary</em> keyword takes arguments that have exactly the same meaning as they do for the <a class="reference internal" href="boundary.html"><em>boundary</em></a> command. In each dimension, a single letter assigns the same style to both the lower and upper face of the box. Two letters assigns the first style to the lower face and the second style to the upper face.</p> <p>The style <em>p</em> means the box is periodic; the other styles mean non-periodic. For style <em>f</em>, the position of the face is fixed. For style <em>s</em>, the position of the face is set so as to encompass the atoms in that dimension (shrink-wrapping), no matter how far they move. For style <em>m</em>, shrink-wrapping occurs, but is bounded by the current box edge in that dimension, so that the box will become no smaller. See the <a class="reference internal" href="boundary.html"><em>boundary</em></a> command for more explanation of these style options.</p> <p>Note that the “boundary” command itself can only be used before the simulation box is defined via a <a class="reference internal" href="read_data.html"><em>read_data</em></a> or <a class="reference internal" href="create_box.html"><em>create_box</em></a> or <a class="reference internal" href="read_restart.html"><em>read_restart</em></a> command. This command allows the boundary conditions to be changed later in your input script. Also note that the <a class="reference internal" href="read_restart.html"><em>read_restart</em></a> will change boundary conditions to match what is stored in the restart file. So if you wish to change them, you should use the change_box command after the read_restart command.</p> <hr class="docutils" /> <p>The <em>ortho</em> and <em>triclinic</em> keywords convert the simulation box to be orthogonal or triclinic (non-orthongonal). See <a class="reference internal" href="Section_howto.html#howto-13"><span>this section</span></a> for a discussion of how non-orthongal boxes are represented in LAMMPS.</p> <p>The simulation box is defined as either orthogonal or triclinic when it is created via the <a class="reference internal" href="create_box.html"><em>create_box</em></a>, <a class="reference internal" href="read_data.html"><em>read_data</em></a>, or <a class="reference internal" href="read_restart.html"><em>read_restart</em></a> commands.</p> <p>These keywords allow you to toggle the existing simulation box from orthogonal to triclinic and vice versa. For example, an initial equilibration simulation can be run in an orthogonal box, the box can be toggled to triclinic, and then a <a class="reference internal" href="Section_howto.html#howto-13"><span>non-equilibrium MD (NEMD) simulation</span></a> can be run with deformation via the <a class="reference internal" href="fix_deform.html"><em>fix deform</em></a> command.</p> <p>If the simulation box is currently triclinic and has non-zero tilt in xy, yz, or xz, then it cannot be converted to an orthogonal box.</p> <hr class="docutils" /> <p>The <em>set</em> keyword saves the current box size/shape. This can be useful if you wish to use the <em>remap</em> keyword more than once or if you wish it to be applied to an intermediate box size/shape in a sequence of keyword operations. Note that the box size/shape is saved before any of the keywords are processed, i.e. the box size/shape at the time the create_box command is encountered in the input script.</p> <p>The <em>remap</em> keyword remaps atom coordinates from the last saved box size/shape to the current box state. For example, if you stretch the box in the x dimension or tilt it in the xy plane via the <em>x</em> and <em>xy</em> keywords, then the <em>remap</em> commmand will dilate or tilt the atoms to conform to the new box size/shape, as if the atoms moved with the box as it deformed.</p> <p>Note that this operation is performed without regard to periodic boundaries. Also, any shrink-wrapping of non-periodic boundaries (see the <a class="reference internal" href="boundary.html"><em>boundary</em></a> command) occurs after all keywords, including this one, have been processed.</p> <p>Only atoms in the specified group are remapped.</p> <hr class="docutils" /> <p>The <em>units</em> keyword determines the meaning of the distance units used to define various arguments. A <em>box</em> value selects standard distance units as defined by the <a class="reference internal" href="units.html"><em>units</em></a> command, e.g. Angstroms for units = real or metal. A <em>lattice</em> value means the distance units are in lattice spacings. The <a class="reference internal" href="lattice.html"><em>lattice</em></a> command must have been previously used to define the lattice spacing.</p> </div> <hr class="docutils" /> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <p>If you use the <em>ortho</em> or <em>triclinic</em> keywords, then at the point in the input script when this command is issued, no <a class="reference internal" href="dump.html"><em>dumps</em></a> can be active, nor can a <a class="reference internal" href="fix_ave_spatial.html"><em>fix ave/spatial</em></a> or <a class="reference internal" href="fix_deform.html"><em>fix deform</em></a> be active. This is because these commands test whether the simulation box is orthogonal when they are first issued. Note that these commands can be used in your script before a change_box command is issued, so long as an <a class="reference internal" href="undump.html"><em>undump</em></a> or <a class="reference internal" href="unfix.html"><em>unfix</em></a> command is also used to turn them off.</p> </div> <div class="section" id="related-commands"> <h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2> <p><a class="reference internal" href="fix_deform.html"><em>fix deform</em></a>, <a class="reference internal" href="boundary.html"><em>boundary</em></a></p> </div> <div class="section" id="default"> <h2>Default<a class="headerlink" href="#default" title="Permalink to this headline">¶</a></h2> <p>The option default is units = lattice.</p> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/comm_modify.html b/doc/comm_modify.html index afece0170..0e6556cb9 100644 --- a/doc/comm_modify.html +++ b/doc/comm_modify.html @@ -1,329 +1,329 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>comm_modify command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>comm_modify command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="comm-modify-command"> <span id="index-0"></span><h1>comm_modify command<a class="headerlink" href="#comm-modify-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>comm_modify keyword value ... </pre></div> </div> <ul class="simple"> <li>zero or more keyword/value pairs may be appended</li> <li>keyword = <em>mode</em> or <em>cutoff</em> or <em>group</em> or <em>vel</em></li> </ul> <pre class="literal-block"> <em>mode</em> value = <em>single</em> or <em>multi</em> = communicate atoms within a single or multiple distances - <em>cutoff</em> value = Rcut (distance units) = communicate atoms from this far away - <em>group</em> value = group-ID = only communicate atoms in the group - <em>vel</em> value = <em>yes</em> or <em>no</em> = do or do not communicate velocity info with ghost atoms +<em>cutoff</em> value = Rcut (distance units) = communicate atoms from this far away +<em>group</em> value = group-ID = only communicate atoms in the group +<em>vel</em> value = <em>yes</em> or <em>no</em> = do or do not communicate velocity info with ghost atoms </pre> </div> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>comm_modify mode multi comm_modify mode multi group solvent comm_modify vel yes comm_modify cutoff 5.0 vel yes </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>This command sets parameters that affect the inter-processor communication of atom information that occurs each timestep as coordinates and other properties are exchanged between neighboring processors and stored as properties of ghost atoms.</p> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">These options apply to the currently defined comm style. When you specify a <a class="reference internal" href="comm_style.html"><em>comm_style</em></a> command, all communication settings are restored to their default values, including those previously reset by a comm_modify command. Thus if your input script specifies a comm_style command, you should use the comm_modify command after it.</p> </div> <p>The <em>mode</em> keyword determines whether a single or multiple cutoff distances are used to determine which atoms to communicate.</p> <p>The default mode is <em>single</em> which means each processor acquires information for ghost atoms that are within a single distance from its sub-domain. The distance is the maximum of the neighbor cutoff for all atom type pairs.</p> <p>For many systems this is an efficient algorithm, but for systems with widely varying cutoffs for different type pairs, the <em>multi</em> mode can be faster. In this case, each atom type is assigned its own distance cutoff for communication purposes, and fewer atoms will be communicated. See the <a class="reference internal" href="neighbor.html"><em>neighbor multi</em></a> command for a neighbor list construction option that may also be beneficial for simulations of this kind.</p> <p>The <em>cutoff</em> keyword allows you to set a ghost cutoff distance, which is the distance from the borders of a processor’s sub-domain at which ghost atoms are acquired from other processors. By default the ghost cutoff = neighbor cutoff = pairwise force cutoff + neighbor skin. See the <a class="reference internal" href="neighbor.html"><em>neighbor</em></a> command for more information about the skin distance. If the specified Rcut is greater than the neighbor cutoff, then extra ghost atoms will be acquired. If it is smaller, the ghost cutoff is set to the neighbor cutoff.</p> <p>These are simulation scenarios in which it may be useful or even necessary to set a ghost cutoff > neighbor cutoff:</p> <ul class="simple"> <li>a single polymer chain with bond interactions, but no pairwise interactions</li> <li>bonded interactions (e.g. dihedrals) extend further than the pairwise cutoff</li> <li>ghost atoms beyond the pairwise cutoff are needed for some computation</li> </ul> <p>In the first scenario, a pairwise potential is not defined. Thus the pairwise neighbor cutoff will be 0.0. But ghost atoms are still needed for computing bond, angle, etc interactions between atoms on different processors, or when the interaction straddles a periodic boundary.</p> <p>The appropriate ghost cutoff depends on the <a class="reference internal" href="newton.html"><em>newton bond</em></a> setting. For newton bond <em>off</em>, the distance needs to be the furthest distance between any two atoms in the bond, angle, etc. E.g. the distance between 1-4 atoms in a dihedral. For newton bond <em>on</em>, the distance between the central atom in the bond, angle, etc and any other atom is sufficient. E.g. the distance between 2-4 atoms in a dihedral.</p> <p>In the second scenario, a pairwise potential is defined, but its neighbor cutoff is not sufficiently long enough to enable bond, angle, etc terms to be computed. As in the previous scenario, an appropriate ghost cutoff should be set.</p> <p>In the last scenario, a <a class="reference internal" href="fix.html"><em>fix</em></a> or <a class="reference internal" href="compute.html"><em>compute</em></a> or <a class="reference internal" href="pair_style.html"><em>pairwise potential</em></a> needs to calculate with ghost atoms beyond the normal pairwise cutoff for some computation it performs (e.g. locate neighbors of ghost atoms in a multibody pair potential). Setting the ghost cutoff appropriately can insure it will find the needed atoms.</p> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">In these scenarios, if you do not set the ghost cutoff long enough, and if there is only one processor in a periodic dimension (e.g. you are running in serial), then LAMMPS may “find” the atom it is looking for (e.g. the partner atom in a bond), that is on the far side of the simulation box, across a periodic boundary. This will typically lead to bad dynamics (i.e. the bond length is now the simulation box length). To detect if this is happening, see the <a class="reference internal" href="neigh_modify.html"><em>neigh_modify cluster</em></a> command.</p> </div> <p>The <em>group</em> keyword will limit communication to atoms in the specified group. This can be useful for models where no ghost atoms are needed for some kinds of particles. All atoms (not just those in the specified group) will still migrate to new processors as they move. The group specified with this option must also be specified via the <a class="reference internal" href="atom_modify.html"><em>atom_modify first</em></a> command.</p> <p>The <em>vel</em> keyword enables velocity information to be communicated with ghost particles. Depending on the <a class="reference internal" href="atom_style.html"><em>atom_style</em></a>, velocity info includes the translational velocity, angular velocity, and angular momentum of a particle. If the <em>vel</em> option is set to <em>yes</em>, then ghost atoms store these quantities; if <em>no</em> then they do not. The <em>yes</em> setting is needed by some pair styles which require the velocity state of both the I and J particles to compute a pairwise I,J interaction.</p> <p>Note that if the <a class="reference internal" href="fix_deform.html"><em>fix deform</em></a> command is being used with its “remap v” option enabled, then the velocities for ghost atoms (in the fix deform group) mirrored across a periodic boundary will also include components due to any velocity shift that occurs across that boundary (e.g. due to dilation or shear).</p> </div> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <blockquote> <div>none</div></blockquote> </div> <div class="section" id="related-commands"> <h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2> <p><a class="reference internal" href="comm_style.html"><em>comm_style</em></a>, <a class="reference internal" href="neighbor.html"><em>neighbor</em></a></p> </div> <div class="section" id="default"> <h2>Default<a class="headerlink" href="#default" title="Permalink to this headline">¶</a></h2> <p>The option defauls are mode = single, group = all, cutoff = 0.0, vel = no. The cutoff default of 0.0 means that ghost cutoff = neighbor cutoff = pairwise force cutoff + neighbor skin.</p> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/compute_angle_local.html b/doc/compute_angle_local.html index 528a8cc3a..3cb3b5415 100644 --- a/doc/compute_angle_local.html +++ b/doc/compute_angle_local.html @@ -1,260 +1,260 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>compute angle/local command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>compute angle/local command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="compute-angle-local-command"> <span id="index-0"></span><h1>compute angle/local command<a class="headerlink" href="#compute-angle-local-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>compute ID group-ID angle/local input1 input2 ... </pre></div> </div> <ul class="simple"> <li>ID, group-ID are documented in <a class="reference internal" href="compute.html"><em>compute</em></a> command</li> <li>angle/local = style name of this compute command</li> <li>one or more keywords may be appended</li> <li>keyword = <em>theta</em> or <em>eng</em></li> </ul> <pre class="literal-block"> <em>theta</em> = tabulate angles - <em>eng</em> = tabulate angle energies +<em>eng</em> = tabulate angle energies </pre> </div> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>compute 1 all angle/local theta compute 1 all angle/local eng theta </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>Define a computation that calculates properties of individual angle interactions. The number of datums generated, aggregated across all processors, equals the number of angles in the system, modified by the group parameter as explained below.</p> <p>The local data stored by this command is generated by looping over all the atoms owned on a processor and their angles. An angle will only be included if all 3 atoms in the angle are in the specified compute group. Any angles that have been broken (see the <a class="reference internal" href="angle_style.html"><em>angle_style</em></a> command) by setting their angle type to 0 are not included. Angles that have been turned off (see the <a class="reference internal" href="fix_shake.html"><em>fix shake</em></a> or <a class="reference internal" href="delete_bonds.html"><em>delete_bonds</em></a> commands) by setting their angle type negative are written into the file, but their energy will be 0.0.</p> <p>Note that as atoms migrate from processor to processor, there will be no consistent ordering of the entries within the local vector or array from one timestep to the next. The only consistency that is guaranteed is that the ordering on a particular timestep will be the same for local vectors or arrays generated by other compute commands. For example, angle output from the <a class="reference internal" href="compute_property_local.html"><em>compute property/local</em></a> command can be combined with data from this command and output by the <a class="reference internal" href="dump.html"><em>dump local</em></a> command in a consistent way.</p> <p><strong>Output info:</strong></p> <p>This compute calculates a local vector or local array depending on the number of keywords. The length of the vector or number of rows in the array is the number of angles. If a single keyword is specified, a local vector is produced. If two or more keywords are specified, a local array is produced where the number of columns = the number of keywords. The vector or array can be accessed by any command that uses local values from a compute as input. See <a class="reference internal" href="Section_howto.html#howto-15"><span>this section</span></a> for an overview of LAMMPS output options.</p> <p>The output for <em>theta</em> will be in degrees. The output for <em>eng</em> will be in energy <a class="reference internal" href="units.html"><em>units</em></a>.</p> </div> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <blockquote> <div>none</div></blockquote> </div> <div class="section" id="related-commands"> <h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2> <p><a class="reference internal" href="dump.html"><em>dump local</em></a>, <a class="reference internal" href="compute_property_local.html"><em>compute property/local</em></a></p> <p><strong>Default:</strong> none</p> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/compute_body_local.html b/doc/compute_body_local.html index 7d49a8ae3..45627009e 100644 --- a/doc/compute_body_local.html +++ b/doc/compute_body_local.html @@ -1,272 +1,272 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>compute body/local command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>compute body/local command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="compute-body-local-command"> <span id="index-0"></span><h1>compute body/local command<a class="headerlink" href="#compute-body-local-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>compute ID group-ID body/local input1 input2 ... </pre></div> </div> <ul class="simple"> <li>ID, group-ID are documented in <a class="reference internal" href="compute.html"><em>compute</em></a> command</li> <li>body/local = style name of this compute command</li> <li>one or more keywords may be appended</li> <li>keyword = <em>type</em> or <em>integer</em></li> </ul> <pre class="literal-block"> <em>type</em> = atom type of the body particle - <em>integer</em> = 1,2,3,etc = index of fields defined by body style +<em>integer</em> = 1,2,3,etc = index of fields defined by body style </pre> </div> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>compute 1 all body/local type 1 2 3 compute 1 all body/local 3 6 </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>Define a computation that calculates properties of individual body sub-particles. The number of datums generated, aggregated across all processors, equals the number of body sub-particles plus the number of non-body particles in the system, modified by the group parameter as explained below. See <a class="reference internal" href="Section_howto.html#howto-14"><span>Section_howto 14</span></a> of the manual and the <a class="reference internal" href="body.html"><em>body</em></a> doc page for more details on using body particles.</p> <p>The local data stored by this command is generated by looping over all the atoms. An atom will only be included if it is in the group. If the atom is a body particle, then its N sub-particles will be looped over, and it will contribute N datums to the count of datums. If it is not a body particle, it will contribute 1 datum.</p> <p>For both body particles and non-body particles, the <em>type</em> keyword will store the type of the atom.</p> <p>The <em>integer</em> keywords mean different things for body and non-body particles. If the atom is not a body particle, only its <em>x</em>, <em>y</em>, <em>z</em> coordinates can be referenced, using the <em>integer</em> keywords 1,2,3. Note that this means that if you want to access more fields than this for body particles, then you cannot include non-body particles in the group.</p> <p>For a body particle, the <em>integer</em> keywords refer to fields calculated by the body style for each sub-particle. The body style, as specified by the <a class="reference internal" href="atom_style.html"><em>atom_style body</em></a>, determines how many fields exist and what they are. See the <a class="reference internal" href="body.html"><em>body</em></a> doc page for details of the different styles.</p> <p>Here is an example of how to output body information using the <a class="reference internal" href="dump.html"><em>dump local</em></a> command with this compute. If fields 1,2,3 for the body sub-particles are x,y,z coordinates, then the dump file will be formatted similar to the output of a <a class="reference internal" href="dump.html"><em>dump atom or custom</em></a> command.</p> <div class="highlight-python"><div class="highlight"><pre>compute 1 all body/local type 1 2 3 dump 1 all local 1000 tmp.dump index c_1[1] c_1[2] c_1[3] c_1[4] </pre></div> </div> <p><strong>Output info:</strong></p> <p>This compute calculates a local vector or local array depending on the number of keywords. The length of the vector or number of rows in the array is the number of datums as described above. If a single keyword is specified, a local vector is produced. If two or more keywords are specified, a local array is produced where the number of columns = the number of keywords. The vector or array can be accessed by any command that uses local values from a compute as input. See <a class="reference internal" href="Section_howto.html#howto-15"><span>this section</span></a> for an overview of LAMMPS output options.</p> <p>The <a class="reference internal" href="units.html"><em>units</em></a> for output values depend on the body style.</p> </div> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <blockquote> <div>none</div></blockquote> </div> <div class="section" id="related-commands"> <h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2> <p><a class="reference internal" href="dump.html"><em>dump local</em></a></p> <p><strong>Default:</strong> none</p> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/compute_bond_local.html b/doc/compute_bond_local.html index 16fc047c5..e68b6c855 100644 --- a/doc/compute_bond_local.html +++ b/doc/compute_bond_local.html @@ -1,268 +1,268 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>compute bond/local command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>compute bond/local command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="compute-bond-local-command"> <span id="index-0"></span><h1>compute bond/local command<a class="headerlink" href="#compute-bond-local-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>compute ID group-ID bond/local input1 input2 ... </pre></div> </div> <ul class="simple"> <li>ID, group-ID are documented in <a class="reference internal" href="compute.html"><em>compute</em></a> command</li> <li>bond/local = style name of this compute command</li> <li>one or more keywords may be appended</li> <li>keyword = <em>dist</em> or <em>eng</em></li> </ul> <pre class="literal-block"> <em>dist</em> = bond distance - <em>eng</em> = bond energy - <em>force</em> = bond force +<em>eng</em> = bond energy +<em>force</em> = bond force </pre> </div> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>compute 1 all bond/local eng compute 1 all bond/local dist eng force </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>Define a computation that calculates properties of individual bond interactions. The number of datums generated, aggregated across all processors, equals the number of bonds in the system, modified by the group parameter as explained below.</p> <p>The local data stored by this command is generated by looping over all the atoms owned on a processor and their bonds. A bond will only be included if both atoms in the bond are in the specified compute group. Any bonds that have been broken (see the <a class="reference internal" href="bond_style.html"><em>bond_style</em></a> command) by setting their bond type to 0 are not included. Bonds that have been turned off (see the <a class="reference internal" href="fix_shake.html"><em>fix shake</em></a> or <a class="reference internal" href="delete_bonds.html"><em>delete_bonds</em></a> commands) by setting their bond type negative are written into the file, but their energy will be 0.0.</p> <p>Note that as atoms migrate from processor to processor, there will be no consistent ordering of the entries within the local vector or array from one timestep to the next. The only consistency that is guaranteed is that the ordering on a particular timestep will be the same for local vectors or arrays generated by other compute commands. For example, bond output from the <a class="reference internal" href="compute_property_local.html"><em>compute property/local</em></a> command can be combined with data from this command and output by the <a class="reference internal" href="dump.html"><em>dump local</em></a> command in a consistent way.</p> <p>Here is an example of how to do this:</p> <div class="highlight-python"><div class="highlight"><pre>compute 1 all property/local batom1 batom2 btype compute 2 all bond/local dist eng dump 1 all local 1000 tmp.dump index c_1[1] c_1[2] c_1[3] c_2[1] c_2[2] </pre></div> </div> <p><strong>Output info:</strong></p> <p>This compute calculates a local vector or local array depending on the number of keywords. The length of the vector or number of rows in the array is the number of bonds. If a single keyword is specified, a local vector is produced. If two or more keywords are specified, a local array is produced where the number of columns = the number of keywords. The vector or array can be accessed by any command that uses local values from a compute as input. See <a class="reference internal" href="Section_howto.html#howto-15"><span>this section</span></a> for an overview of LAMMPS output options.</p> <p>The output for <em>dist</em> will be in distance <a class="reference internal" href="units.html"><em>units</em></a>. The output for <em>eng</em> will be in energy <a class="reference internal" href="units.html"><em>units</em></a>. The output for <em>force</em> will be in force <a class="reference internal" href="units.html"><em>units</em></a>.</p> </div> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <blockquote> <div>none</div></blockquote> </div> <div class="section" id="related-commands"> <h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2> <p><a class="reference internal" href="dump.html"><em>dump local</em></a>, <a class="reference internal" href="compute_property_local.html"><em>compute property/local</em></a></p> <p><strong>Default:</strong> none</p> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/compute_chunk_atom.html b/doc/compute_chunk_atom.html index 70a6675a0..943606470 100644 --- a/doc/compute_chunk_atom.html +++ b/doc/compute_chunk_atom.html @@ -1,664 +1,664 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>compute chunk/atom command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>compute chunk/atom command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="compute-chunk-atom-command"> <span id="index-0"></span><h1>compute chunk/atom command<a class="headerlink" href="#compute-chunk-atom-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>compute ID group-ID chunk/atom style args keyword values ... </pre></div> </div> <ul class="simple"> <li>ID, group-ID are documented in <a class="reference internal" href="compute.html"><em>compute</em></a> command</li> <li>chunk/atom = style name of this compute command</li> </ul> <pre class="literal-block"> style = <em>bin/1d</em> or <em>bin/2d</em> or <em>bin/3d</em> or <em>type</em> or <em>molecule</em> or <em>compute/fix/variable</em> <em>bin/1d</em> args = dim origin delta dim = <em>x</em> or <em>y</em> or <em>z</em> origin = <em>lower</em> or <em>center</em> or <em>upper</em> or coordinate value (distance units) delta = thickness of spatial bins in dim (distance units) <em>bin/2d</em> args = dim origin delta dim origin delta dim = <em>x</em> or <em>y</em> or <em>z</em> origin = <em>lower</em> or <em>center</em> or <em>upper</em> or coordinate value (distance units) delta = thickness of spatial bins in dim (distance units) <em>bin/3d</em> args = dim origin delta dim origin delta dim origin delta dim = <em>x</em> or <em>y</em> or <em>z</em> origin = <em>lower</em> or <em>center</em> or <em>upper</em> or coordinate value (distance units) delta = thickness of spatial bins in dim (distance units) <em>type</em> args = none <em>molecule</em> args = none <em>compute/fix/variable</em> = c_ID, c_ID[I], f_ID, f_ID[I], v_name with no args c_ID = per-atom vector calculated by a compute with ID c_ID[I] = Ith column of per-atom array calculated by a compute with ID f_ID = per-atom vector calculated by a fix with ID f_ID[I] = Ith column of per-atom array calculated by a fix with ID v_name = per-atom vector calculated by an atom-style variable with name </pre> <ul class="simple"> <li>zero or more keyword/values pairs may be appended</li> <li>keyword = <em>region</em> or <em>nchunk</em> or <em>static</em> or <em>compress</em> or <em>bound</em> or <em>discard</em> or <em>units</em></li> </ul> <pre class="literal-block"> <em>region</em> value = region-ID - region-ID = ID of region atoms must be in to be part of a chunk - <em>nchunk</em> value = <em>once</em> or <em>every</em> - once = only compute the number of chunks once - every = re-compute the number of chunks whenever invoked - <em>limit</em> values = 0 or Nc max or Nc exact - 0 = no limit on the number of chunks - Nc max = limit number of chunks to be <= Nc - Nc exact = set number of chunks to exactly Nc - <em>ids</em> value = <em>once</em> or <em>nfreq</em> or <em>every</em> - once = assign chunk IDs to atoms only once, they persist thereafter - nfreq = assign chunk IDs to atoms only once every Nfreq steps (if invoked by <a class="reference internal" href="fix_ave_chunk.html"><em>fix ave/chunk</em></a> which sets Nfreq) - every = assign chunk IDs to atoms whenever invoked - <em>compress</em> value = <em>yes</em> or <em>no</em> - yes = compress chunk IDs to eliminate IDs with no atoms - no = do not compress chunk IDs even if some IDs have no atoms - <em>discard</em> value = <em>yes</em> or <em>no</em> or <em>mixed</em> - yes = discard atoms with out-of-range chunk IDs by assigning a chunk ID = 0 - no = keep atoms with out-of-range chunk IDs by assigning a valid chunk ID - mixed = keep or discard such atoms according to spatial binning rule - <em>bound</em> values = x/y/z lo hi - x/y/z = <em>x</em> or <em>y</em> or <em>z</em> to bound sptial bins in this dimension - lo = <em>lower</em> or coordinate value (distance units) - hi = <em>upper</em> or coordinate value (distance units) - <em>units</em> value = <em>box</em> or <em>lattice</em> or <em>reduced</em> + region-ID = ID of region atoms must be in to be part of a chunk +<em>nchunk</em> value = <em>once</em> or <em>every</em> + once = only compute the number of chunks once + every = re-compute the number of chunks whenever invoked +<em>limit</em> values = 0 or Nc max or Nc exact + 0 = no limit on the number of chunks + Nc max = limit number of chunks to be <= Nc + Nc exact = set number of chunks to exactly Nc +<em>ids</em> value = <em>once</em> or <em>nfreq</em> or <em>every</em> + once = assign chunk IDs to atoms only once, they persist thereafter + nfreq = assign chunk IDs to atoms only once every Nfreq steps (if invoked by <a class="reference internal" href="fix_ave_chunk.html"><em>fix ave/chunk</em></a> which sets Nfreq) + every = assign chunk IDs to atoms whenever invoked +<em>compress</em> value = <em>yes</em> or <em>no</em> + yes = compress chunk IDs to eliminate IDs with no atoms + no = do not compress chunk IDs even if some IDs have no atoms +<em>discard</em> value = <em>yes</em> or <em>no</em> or <em>mixed</em> + yes = discard atoms with out-of-range chunk IDs by assigning a chunk ID = 0 + no = keep atoms with out-of-range chunk IDs by assigning a valid chunk ID + mixed = keep or discard such atoms according to spatial binning rule +<em>bound</em> values = x/y/z lo hi + x/y/z = <em>x</em> or <em>y</em> or <em>z</em> to bound sptial bins in this dimension + lo = <em>lower</em> or coordinate value (distance units) + hi = <em>upper</em> or coordinate value (distance units) +<em>units</em> value = <em>box</em> or <em>lattice</em> or <em>reduced</em> </pre> </div> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>compute 1 all chunk/atom type compute 1 all chunk/atom bin/1d z lower 0.02 units reduced compute 1 all chunk/atom bin/2d z lower 1.0 y 0.0 2.5 compute 1 all chunk/atom molecule region sphere nchunk once ids once compress yes </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>Define a computation that calculates an integer chunk ID from 1 to Nchunk for each atom in the group. Values of chunk IDs are determined by the <em>style</em> of chunk, which can be based on atom type or molecule ID or spatial binning or a per-atom property or value calculated by another <a class="reference internal" href="compute.html"><em>compute</em></a>, <a class="reference internal" href="fix.html"><em>fix</em></a>, or <a class="reference internal" href="variable.html"><em>atom-style variable</em></a>. Per-atom chunk IDs can be used by other computes with “chunk” in their style name, such as <a class="reference internal" href="compute_com_chunk.html"><em>compute com/chunk</em></a> or <a class="reference internal" href="compute_msd_chunk.html"><em>compute msd/chunk</em></a>. Or they can be used by the <a class="reference internal" href="fix_ave_chunk.html"><em>fix ave/chunk</em></a> command to sum and time average a variety of per-atom properties over the atoms in each chunk. Or they can simply be accessed by any command that uses per-atom values from a compute as input, as discussed in <a class="reference internal" href="Section_howto.html#howto-15"><span>Section_howto 15</span></a>.</p> <p>See <a class="reference internal" href="Section_howto.html#howto-23"><span>Section_howto 23</span></a> for an overview of how this compute can be used with a variety of other commands to tabulate properties of a simulation. The howto section gives several examples of input script commands that can be used to calculate interesting properties.</p> <p>Conceptually it is important to realize that this compute does two simple things. First, it sets the value of <em>Nchunk</em> = the number of chunks, which can be a constant value or change over time. Second, it assigns each atom to a chunk via a chunk ID. Chunk IDs range from 1 to <em>Nchunk</em> inclusive; some chunks may have no atoms assigned to them. Atoms that do not belong to any chunk are assigned a value of 0. Note that the two operations are not always performed together. For example, spatial bins can be setup once (which sets <em>Nchunk</em>), and atoms assigned to those bins many times thereafter (setting their chunk IDs).</p> <p>All other commands in LAMMPS that use chunk IDs assume there are <em>Nchunk</em> number of chunks, and that every atom is assigned to one of those chunks, or not assigned to any chunk.</p> <p>There are many options for specifying for how and when <em>Nchunk</em> is calculated, and how and when chunk IDs are assigned to atoms. The details depend on the chunk <em>style</em> and its <em>args</em>, as well as optional keyword settings. They can also depend on whether a <a class="reference internal" href="fix_ave_chunk.html"><em>fix ave/chunk</em></a> command is using this compute, since that command requires <em>Nchunk</em> to remain static across windows of timesteps it specifies, while it accumulates per-chunk averages.</p> <p>The details are described below.</p> <p>The different chunk styles operate as follows. For each style, how it calculates <em>Nchunk</em> and assigns chunk IDs to atoms is explained. Note that using the optional keywords can change both of those actions, as described further below where the keywords are discussed.</p> <hr class="docutils" /> <p>The <em>binning</em> styles perform a spatial binning of atoms, and assign an atom the chunk ID corresponding to the bin number it is in. <em>Nchunk</em> is set to the number of bins, which can change if the simulation box size changes.</p> <p>The <em>bin/1d</em>, <em>bin/2d</em>, and <em>bin/3d</em> styles define bins as 1d layers (slabs), 2d pencils, or 3d boxes. The <em>dim</em>, <em>origin</em>, and <em>delta</em> settings are specified 1, 2, or 3 times. For 2d or 3d bins, there is no restriction on specifying dim = x before dim = y or z, or dim = y before dim = z. Bins in a particular <em>dim</em> have a bin size in that dimension given by <em>delta</em>. In each dimension, bins are defined relative to a specified <em>origin</em>, which may be the lower/upper edge of the simulation box (in that dimension), or its center point, or a specified coordinate value. Starting at the origin, sufficient bins are created in both directions to completely span the simulation box or the bounds specified by the optional <em>bounds</em> keyword.</p> <p>For orthogonal simulation boxes, the bins are layers, pencils, or boxes aligned with the xyz coordinate axes. For triclinic (non-orthogonal) simulation boxes, the bin faces are parallel to the tilted faces of the simulation box. See <a class="reference internal" href="Section_howto.html#howto-12"><span>this section</span></a> of the manual for a discussion of the geometry of triclinic boxes in LAMMPS. As described there, a tilted simulation box has edge vectors a,b,c. In that nomenclature, bins in the x dimension have faces with normals in the “b” cross “c” direction. Bins in y have faces normal to the “a” cross “c” direction. And bins in z have faces normal to the “a” cross “b” direction. Note that in order to define the size and position of these bins in an unambiguous fashion, the <em>units</em> option must be set to <em>reduced</em> when using a triclinic simulation box, as noted below.</p> <p>The meaning of <em>origin</em> and <em>delta</em> for triclinic boxes is as follows. Consider a triclinic box with bins that are 1d layers or slabs in the x dimension. No matter how the box is tilted, an <em>origin</em> of 0.0 means start layers at the lower “b” cross “c” plane of the simulation box and an <em>origin</em> of 1.0 means to start layers at the upper “b” cross “c” face of the box. A <em>delta</em> value of 0.1 in <em>reduced</em> units means there will be 10 layers from 0.0 to 1.0, regardless of the current size or shape of the simulation box.</p> <p>The created bins (and hence the chunk IDs) are numbered consecutively from 1 to the number of bins = <em>Nchunk</em>. For 2d and 3d bins, the numbering varies most rapidly in the first dimension (which could be x, y, or z), next rapidly in the 2nd dimension, and most slowly in the 3rd dimension.</p> <p>Each time this compute is invoked, each atom is mapped to a bin based on its current position. Note that between reneighboring timesteps, atoms can move outside the current simulation box. If the box is periodic (in that dimension) the atom is remapping into the periodic box for purposes of binning. If the box in not periodic, the atom may have moved outside the bounds of all bins. If an atom is not inside any bin, the <em>discard</em> keyword is used to determine how a chunk ID is assigned to the atom.</p> <hr class="docutils" /> <p>The <em>type</em> style uses the atom type as the chunk ID. <em>Nchunk</em> is set to the number of atom types defined for the simulation, e.g. via the <a class="reference internal" href="create_box.html"><em>create_box</em></a> or <a class="reference internal" href="read_data.html"><em>read_data</em></a> commands.</p> <hr class="docutils" /> <p>The <em>molecule</em> style uses the molecule ID of each atom as its chunk ID. <em>Nchunk</em> is set to the largest chunk ID. Note that this excludes molecule IDs for atoms which are not in the specified group or optional region.</p> <p>There is no requirement that all atoms in a particular molecule are assigned the same chunk ID (zero or non-zero), though you probably want that to be the case, if you wish to compute a per-molecule property. LAMMPS will issue a warning if that is not the case, but only the first time that <em>Nchunk</em> is calculated.</p> <p>Note that atoms with a molecule ID = 0, which may be non-molecular solvent atoms, have an out-of-range chunk ID. These atoms are discarded (not assigned to any chunk) or assigned to <em>Nchunk</em>, depending on the value of the <em>discard</em> keyword.</p> <hr class="docutils" /> <p>The <em>compute/fix/variable</em> styles set the chunk ID of each atom based on a quantity calculated and stored by a compute, fix, or variable. In each case, it must be a per-atom quantity. In each case the referenced floating point values are converted to an integer chunk ID as follows. The floating point value is truncated (rounded down) to an integer value. If the integer value is <= 0, then a chunk ID of 0 is assigned to the atom. If the integer value is > 0, it becomes the chunk ID to the atom. <em>Nchunk</em> is set to the largest chunk ID. Note that this excludes atoms which are not in the specified group or optional region.</p> <p>If the style begins with “<a href="#id1"><span class="problematic" id="id2">c_</span></a>”, a compute ID must follow which has been previously defined in the input script. If no bracketed integer is appended, the per-atom vector calculated by the compute is used. If a bracketed integer is appended, the Ith column of the per-atom array calculated by the compute is used. Users can also write code for their own compute styles and <a class="reference internal" href="Section_modify.html"><em>add them to LAMMPS</em></a>.</p> <p>If the style begins with “<a href="#id3"><span class="problematic" id="id4">f_</span></a>”, a fix ID must follow which has been previously defined in the input script. If no bracketed integer is appended, the per-atom vector calculated by the fix is used. If a bracketed integer is appended, the Ith column of the per-atom array calculated by the fix is used. Note that some fixes only produce their values on certain timesteps, which must be compatible with the timestep on which this compute accesses the fix, else an error results. Users can also write code for their own fix styles and <a class="reference internal" href="Section_modify.html"><em>add them to LAMMPS</em></a>.</p> <p>If a value begins with “<a href="#id5"><span class="problematic" id="id6">v_</span></a>”, a variable name for an <em>atom</em> or <em>atomfile</em> style <a class="reference internal" href="variable.html"><em>variable</em></a> must follow which has been previously defined in the input script. Variables of style <em>atom</em> can reference thermodynamic keywords and various per-atom attributes, or invoke other computes, fixes, or variables when they are evaluated, so this is a very general means of generating per-atom quantities to treat as a chunk ID.</p> <p>Normally, <em>Nchunk</em> = the number of chunks, is re-calculated every time this fix is invoked, though the value may or may not change. As explained below, the <em>nchunk</em> keyword can be set to <em>once</em> which means <em>Nchunk</em> will never change.</p> <p>If a <a class="reference internal" href="fix_ave_chunk.html"><em>fix ave/chunk</em></a> command uses this compute, it can also turn off the re-calculation of <em>Nchunk</em> for one or more windows of timesteps. The extent of the windows, during which Nchunk is held constant, are determined by the <em>Nevery</em>, <em>Nrepeat</em>, <em>Nfreq</em> values and the <em>ave</em> keyword setting that are used by the <a class="reference internal" href="fix_ave_chunk.html"><em>fix ave/chunk</em></a> command.</p> <p>Specifically, if <em>ave</em> = <em>one</em>, then for each span of <em>Nfreq</em> timesteps, <em>Nchunk</em> is held constant between the first timestep when averaging is done (within the Nfreq-length window), and the last timestep when averaging is done (multiple of Nfreq). If <em>ave</em> = <em>running</em> or <em>window</em>, then <em>Nchunk</em> is held constant forever, starting on the first timestep when the <a class="reference internal" href="fix_ave_chunk.html"><em>fix ave/chunk</em></a> command invokes this compute.</p> <p>Note that multiple <a class="reference internal" href="fix_ave_chunk.html"><em>fix ave/chunk</em></a> commands can use the same compute chunk/atom compute. However, the time windows they induce for holding <em>Nchunk</em> constant must be identical, else an error will be generated.</p> <p>The various optional keywords operate as follows. Note that some of them function differently or are ignored by different chunk styles. Some of them also have different default values, depending on the chunk style, as listed below.</p> <p>The <em>region</em> keyword applies to all chunk styles. If used, an atom must be in both the specified group and the specified geometric <a class="reference internal" href="region.html"><em>region</em></a> to be assigned to a chunk.</p> <hr class="docutils" /> <p>The <em>nchunk</em> keyword applies to all chunk styles. It specifies how often <em>Nchunk</em> is recalculated, which in turn can affect the chunk IDs assigned to individual atoms.</p> <p>If <em>nchunk</em> is set to <em>once</em>, then <em>Nchunk</em> is only calculated once, the first time this compute is invoked. If <em>nchunk</em> is set to <em>every</em>, then <em>Nchunk</em> is re-calculated every time the compute is invoked. Note that, as described above, the use of this compute by the <a class="reference internal" href="fix_ave_chunk.html"><em>fix ave/chunk</em></a> command can override the <em>every</em> setting.</p> <p>The default values for <em>nchunk</em> are listed below and depend on the chunk style and other system and keyword settings. They attempt to represent typical use cases for the various chunk styles. The <em>nchunk</em> value can always be set explicitly if desired.</p> <hr class="docutils" /> <p>The <em>limit</em> keyword can be used to limit the calculated value of <em>Nchunk</em> = the number of chunks. The limit is applied each time <em>Nchunk</em> is calculated, which also limits the chunk IDs assigned to any atom. The <em>limit</em> keyword is used by all chunk styles except the <em>binning</em> styles, which ignore it. This is because the number of bins can be tailored using the <em>bound</em> keyword (described below) which effectively limits the size of <em>Nchunk</em>.</p> <p>If <em>limit</em> is set to <em>Nc</em> = 0, then no limit is imposed on <em>Nchunk</em>, though the <em>compress</em> keyword can still be used to reduce <em>Nchunk</em>, as described below.</p> <p>If <em>Nc</em> > 0, then the effect of the <em>limit</em> keyword depends on whether the <em>compress</em> keyword is also used with a setting of <em>yes</em>, and whether the <em>compress</em> keyword is specified before the <em>limit</em> keyword or after.</p> <p>In all cases, <em>Nchunk</em> is first calculated in the usual way for each chunk style, as described above.</p> <p>First, here is what occurs if <em>compress yes</em> is not set. If <em>limit</em> is set to <em>Nc max</em>, then <em>Nchunk</em> is reset to the smaller of <em>Nchunk</em> and <em>Nc</em>. If <em>limit</em> is set to <em>Nc exact</em>, then <em>Nchunk</em> is reset to <em>Nc</em>, whether the original <em>Nchunk</em> was larger or smaller than <em>Nc</em>. If <em>Nchunk</em> shrank due to the <em>limit</em> setting, then atom chunk IDs > <em>Nchunk</em> will be reset to 0 or <em>Nchunk</em>, depending on the setting of the <em>discard</em> keyword. If <em>Nchunk</em> grew, there will simply be some chunks with no atoms assigned to them.</p> <p>If <em>compress yes</em> is set, and the <em>compress</em> keyword comes before the <em>limit</em> keyword, the compression operation is performed first, as described below, which resets <em>Nchunk</em>. The <em>limit</em> keyword is then applied to the new <em>Nchunk</em> value, exactly as described in the preceeding paragraph. Note that in this case, all atoms will end up with chunk IDs <= <em>Nc</em>, but their original values (e.g. molecule ID or compute/fix/variable value) may have been > <em>Nc</em>, because of the compression operation.</p> <p>If <em>compress yes</em> is set, and the <em>compress</em> keyword comes after the <em>limit</em> keyword, then the <em>limit</em> value of <em>Nc</em> is applied first to the uncompressed value of <em>Nchunk</em>, but only if <em>Nc</em> < <em>Nchunk</em> (whether <em>Nc max</em> or <em>Nc exact</em> is used). This effectively means all atoms with chunk IDs > <em>Nc</em> have their chunk IDs reset to 0 or <em>Nc</em>, depending on the setting of the <em>discard</em> keyword. The compression operation is then performed, which may shrink <em>Nchunk</em> further. If the new <em>Nchunk</em> < <em>Nc</em> and <em>limit</em> = <em>Nc exact</em> is specified, then <em>Nchunk</em> is reset to <em>Nc</em>, which results in extra chunks with no atoms assigned to them. Note that in this case, all atoms will end up with chunk IDs <= <em>Nc</em>, and their original values (e.g. molecule ID or compute/fix/variable value) will also have been <= <em>Nc</em>.</p> <hr class="docutils" /> <p>The <em>ids</em> keyword applies to all chunk styles. If the setting is <em>once</em> then the chunk IDs assigned to atoms the first time this compute is invoked will be permanent, and never be re-computed.</p> <p>If the setting is <em>nfreq</em> and if a <a class="reference internal" href="fix_ave_chunk.html"><em>fix ave/chunk</em></a> command is using this compute, then in each of the <em>Nchunk</em> = constant time windows (discussed above), the chunk ID’s assigned to atoms on the first step of the time window will persist until the end of the time window.</p> <p>If the setting is <em>every</em>, which is the default, then chunk IDs are re-calculated on any timestep this compute is invoked.</p> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">If you want the persistent chunk-IDs calculated by this compute to be continuous when running from a <a class="reference internal" href="read_restart.html"><em>restart file</em></a>, then you should use the same ID for this compute, as in the original run. This is so that the fix this compute creates to store per-atom quantities will also have the same ID, and thus be initialized correctly with chunk IDs from the restart file.</p> </div> <hr class="docutils" /> <p>The <em>compress</em> keyword applies to all chunk styles and affects how <em>Nchunk</em> is calculated, which in turn affects the chunk IDs assigned to each atom. It is useful for converting a “sparse” set of chunk IDs (with many IDs that have no atoms assigned to them), into a “dense” set of IDs, where every chunk has one or more atoms assigned to it.</p> <p>Two possible use cases are as follows. If a large simulation box is mostly empty space, then the <em>binning</em> style may produce many bins with no atoms. If <em>compress</em> is set to <em>yes</em>, only bins with atoms will be contribute to <em>Nchunk</em>. Likewise, the <em>molecule</em> or <em>compute/fix/variable</em> styles may produce large <em>Nchunk</em> values. For example, the <a class="reference internal" href="compute_cluster_atom.html"><em>compute cluster/atom</em></a> command assigns every atom an atom ID for one of the atoms it is clustered with. For a million-atom system with 5 clusters, there would only be 5 unique chunk IDs, but the largest chunk ID might be 1 million, resulting in <em>Nchunk</em> = 1 million. If <em>compress</em> is set to <em>yes</em>, <em>Nchunk</em> will be reset to 5.</p> <p>If <em>compress</em> is set to <em>no</em>, which is the default, no compression is done. If it is set to <em>yes</em>, all chunk IDs with no atoms are removed from the list of chunk IDs, and the list is sorted. The remaining chunk IDs are renumbered from 1 to <em>Nchunk</em> where <em>Nchunk</em> is the new length of the list. The chunk IDs assigned to each atom reflect the new renumbering from 1 to <em>Nchunk</em>.</p> <p>The original chunk IDs (before renumbering) can be accessed by the <a class="reference internal" href="compute_property_chunk.html"><em>compute property/chunk</em></a> command and its <em>id</em> keyword, or by the <a class="reference internal" href="fix_ave_chunk.html"><em>fix ave/chunk</em></a> command which outputs the original IDs as one of the columns in its global output array. For example, using the “compute cluster/atom” command discussed above, the original 5 unique chunk IDs might be atom IDs (27,4982,58374,857838,1000000). After compresion, these will be renumbered to (1,2,3,4,5). The original values (27,...,1000000) can be output to a file by the <a class="reference internal" href="fix_ave_chunk.html"><em>fix ave/chunk</em></a> command, or by using the <a class="reference internal" href="fix_ave_time.html"><em>fix ave/time</em></a> command in conjunction with the <a class="reference internal" href="compute_property_chunk.html"><em>compute property/chunk</em></a> command.</p> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">The compression operation requires global communication across all processors to share their chunk ID values. It can require large memory on every processor to store them, even after they are compressed, if there are are a large number of unique chunk IDs with atoms assigned to them. It uses a STL map to find unique chunk IDs and store them in sorted order. Each time an atom is assigned a compressed chunk ID, it must access the STL map. All of this means that compression can be expensive, both in memory and CPU time. The use of the <em>limit</em> keyword in conjunction with the <em>compress</em> keyword can affect these costs, depending on which keyword is used first. So use this option with care.</p> </div> <hr class="docutils" /> <p>The <em>discard</em> keyword applies to all chunk styles. It affects what chunk IDs are assigned to atoms that do not match one of the valid chunk IDs from 1 to <em>Nchunk</em>. Note that it does not apply to atoms that are not in the specified group or optionally specified region. Those atoms are always assigned a chunk ID = 0.</p> <p>If the calculated chunk ID for an atom is not within the range 1 to <em>Nchunk</em> then it is a “discard” atom. Note that <em>Nchunk</em> may have been shrunk by the <em>limit</em> keyword. Or the <em>compress</em> keyword may have eliminated chunk IDs that were valid before the compression took place, and are now not in the compressed list. Also note that for the <em>molecule</em> chunk style, if new molecules are added to the system, their chunk IDs may exceed a previously calculated <em>Nchunk</em>. Likewise, evaluation of a compute/fix/variable on a later timestep may return chunk IDs that are invalid for the previously calculated <em>Nchunk</em>.</p> <p>All the chunk styles except the <em>binning</em> styles, must use <em>discard</em> set to either <em>yes</em> or <em>no</em>. If <em>discard</em> is set to <em>yes</em>, which is the default, then every “discard” atom has its chunk ID set to 0. If <em>discard</em> is set to <em>no</em>, every “discard” atom has its chunk ID set to <em>Nchunk</em>. I.e. it becomes part of the last chunk.</p> <p>The <em>binning</em> styles use the <em>discard</em> keyword to decide whether to discard atoms outside the spatial domain covered by bins, or to assign them to the bin they are nearest to. Details are as follows.</p> <p>If <em>discard</em> is set to <em>yes</em>, an out-of-domain atom will have its chunk ID set to 0. If <em>discard</em> is set to <em>no</em>, the atom will have its chunk ID set to the first or last bin in that dimension. If (discard* is set to <em>mixed</em>, which is the default, it will only have its chunk ID set to the first or last bin if bins extend to the simulation box boundary in that dimension. This is the case if the <em>bound</em> keyword settings are <em>lower</em> and <em>upper</em>, which is the default. If the <em>bound</em> keyword settings are numeric values, then the atom will have its chunk ID set to 0 if it is outside the bounds of any bin. Note that in this case, it is possible that the first or last bin extends beyond the numeric <em>bounds</em> settings, depending on the specified <em>origin</em>. If this is the case, the chunk ID of the atom is only set to 0 if it is outside the first or last bin, not if it is simply outside the numeric <em>bounds</em> setting.</p> <hr class="docutils" /> <p>The <em>bound</em> keyword only applies to the <em>binning</em> styles; otherwise it is ignored. It can be used one or more times to limit the extent of bin coverage in a specified dimension, i.e. to only bin a portion of the box. If the <em>lo</em> setting is <em>lower</em> or the <em>hi</em> setting is <em>upper</em>, the bin extent in that direction extends to the box boundary. If a numeric value is used for <em>lo</em> and/or <em>hi</em>, then the bin extent in the <em>lo</em> or <em>hi</em> direction extends only to that value, which is assumed to be inside (or at least near) the simulation box boundaries, though LAMMPS does not check for this. Note that using the <em>bound</em> keyword typically reduces the total number of bins and thus the number of chunks <em>Nchunk</em>.</p> <p>The <em>units</em> keyword only applies to the <em>binning</em> styles; otherwise it is ignored. It determines the meaning of the distance units used for the bin sizes <em>delta</em> and for <em>origin</em> and <em>bounds</em> values if they are coordinate values. For orthogonal simulation boxes, any of the 3 options may be used. For non-orthogonal (triclinic) simulation boxes, only the <em>reduced</em> option may be used.</p> <p>A <em>box</em> value selects standard distance units as defined by the <a class="reference internal" href="units.html"><em>units</em></a> command, e.g. Angstroms for units = real or metal. A <em>lattice</em> value means the distance units are in lattice spacings. The <a class="reference internal" href="lattice.html"><em>lattice</em></a> command must have been previously used to define the lattice spacing. A <em>reduced</em> value means normalized unitless values between 0 and 1, which represent the lower and upper faces of the simulation box respectively. Thus an <em>origin</em> value of 0.5 means the center of the box in any dimension. A <em>delta</em> value of 0.1 means 10 bins span the box in that dimension.</p> <p><strong>Output info:</strong></p> <p>This compute calculates a per-atom vector, which can be accessed by any command that uses per-atom values from a compute as input. See <a class="reference internal" href="Section_howto.html#howto-15"><span>Section_howto 15</span></a> for an overview of LAMMPS output options.</p> <p>The per-atom vector values are unitless chunk IDs, ranging from 1 to <em>Nchunk</em> (inclusive) for atoms assigned to chunks, and 0 for atoms not belonging to a chunk.</p> </div> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <p>Even if the <em>nchunk</em> keyword is set to <em>once</em>, the chunk IDs assigned to each atom are not stored in a restart files. This means you cannot expect those assignments to persist in a restarted simulation. Instead you must re-specify this command and assign atoms to chunks when the restarted simulation begins.</p> </div> <div class="section" id="related-commands"> <h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2> <p><a class="reference internal" href="fix_ave_chunk.html"><em>fix ave/chunk</em></a></p> </div> <div class="section" id="default"> <h2>Default<a class="headerlink" href="#default" title="Permalink to this headline">¶</a></h2> <p>The option defaults are as follows:</p> <ul class="simple"> <li>region = none</li> <li>nchunk = every if compress is yes, overriding other defaults listed here</li> <li>nchunk = once for type style</li> <li>nchunk = once for mol style if region is none</li> <li>nchunk = every for mol style if region is set</li> <li>nchunk = once for binning style if the simulation box size is static or units = reduced</li> <li>nchunk = every for binning style if the simulation box size is dynamic and units is lattice or box</li> <li>nchunk = every for compute/fix/variable style</li> <li>limit = 0</li> <li>ids = every</li> <li>compress = no</li> <li>discard = yes for all styles except binning</li> <li>discard = mixed for binning styles</li> <li>bound = lower and upper in all dimensions</li> <li>units = lattice</li> </ul> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/compute_fep.html b/doc/compute_fep.html index baa065c87..04b631a92 100644 --- a/doc/compute_fep.html +++ b/doc/compute_fep.html @@ -1,447 +1,447 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>compute fep command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>compute fep command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="compute-fep-command"> <span id="index-0"></span><h1>compute fep command<a class="headerlink" href="#compute-fep-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>compute ID group-ID fep temp attribute args ... keyword value ... </pre></div> </div> <ul class="simple"> <li>ID, group-ID are documented in the <a class="reference internal" href="compute.html"><em>compute</em></a> command</li> <li>fep = name of this compute command</li> <li>temp = external temperature (as specified for constant-temperature run)</li> <li>one or more attributes with args may be appended</li> <li>attribute = <em>pair</em> or <em>atom</em></li> </ul> <pre class="literal-block"> <em>pair</em> args = pstyle pparam I J v_delta - pstyle = pair style name, e.g. lj/cut - pparam = parameter to perturb - I,J = type pair(s) to set parameter for - v_delta = variable with perturbation to apply (in the units of the parameter) - <em>atom</em> args = aparam I v_delta - aparam = parameter to perturb - I = type to set parameter for - v_delta = variable with perturbation to apply (in the units of the parameter) + pstyle = pair style name, e.g. lj/cut + pparam = parameter to perturb + I,J = type pair(s) to set parameter for + v_delta = variable with perturbation to apply (in the units of the parameter) +<em>atom</em> args = aparam I v_delta + aparam = parameter to perturb + I = type to set parameter for + v_delta = variable with perturbation to apply (in the units of the parameter) </pre> <ul class="simple"> <li>zero or more keyword/value pairs may be appended</li> <li>keyword = <em>tail</em> or <em>volume</em></li> </ul> <pre class="literal-block"> <em>tail</em> value = <em>no</em> or <em>yes</em> - <em>no</em> = ignore tail correction to pair energies (usually small in fep) - <em>yes</em> = include tail correction to pair energies - <em>volume</em> value = <em>no</em> or <em>yes</em> - <em>no</em> = ignore volume changes (e.g. in <em>NVE</em> or <em>NVT</em> trajectories) - <em>yes</em> = include volume changes (e.g. in <em>NpT</em> trajectories) + <em>no</em> = ignore tail correction to pair energies (usually small in fep) + <em>yes</em> = include tail correction to pair energies +<em>volume</em> value = <em>no</em> or <em>yes</em> + <em>no</em> = ignore volume changes (e.g. in <em>NVE</em> or <em>NVT</em> trajectories) + <em>yes</em> = include volume changes (e.g. in <em>NpT</em> trajectories) </pre> </div> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>compute 1 all fep 298 pair lj/cut epsilon 1 * v_delta pair lj/cut sigma 1 * v_delta volume yes compute 1 all fep 300 atom charge 2 v_delta </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>Apply a perturbation to parameters of the interaction potential and recalculate the pair potential energy without changing the atomic coordinates from those of the reference, unperturbed system. This compute can be used to calculate free energy differences using several methods, such as free-energy perturbation (FEP), finite-difference thermodynamic integration (FDTI) or Bennet’s acceptance ratio method (BAR).</p> <p>The potential energy of the system is decomposed in three terms: a background term corresponding to interaction sites whose parameters remain constant, a reference term <a href="#id1"><span class="problematic" id="id2">*</span></a>U*<sub>0</sub> corresponding to the initial interactions of the atoms that will undergo perturbation, and a term <a href="#id3"><span class="problematic" id="id4">*</span></a>U*<sub>1</sub> corresponding to the final interactions of these atoms:</p> <img alt="_images/compute_fep_u.jpg" class="align-center" src="_images/compute_fep_u.jpg" /> <p>A coupling parameter &lambda; varying from 0 to 1 connects the reference and perturbed systems:</p> <img alt="_images/compute_fep_lambda.jpg" class="align-center" src="_images/compute_fep_lambda.jpg" /> <p>It is possible but not necessary that the coupling parameter (or a function thereof) appears as a multiplication factor of the potential energy. Therefore, this compute can apply perturbations to interaction parameters that are not directly proportional to the potential energy (e.g. &sigma; in Lennard-Jones potentials).</p> <p>This command can be combined with <a class="reference internal" href="fix_adapt.html"><em>fix adapt</em></a> to perform multistage free-energy perturbation calculations along stepwise alchemical transformations during a simulation run:</p> <img alt="_images/compute_fep_fep.jpg" class="align-center" src="_images/compute_fep_fep.jpg" /> <p>This compute is suitable for the finite-difference thermodynamic integration (FDTI) method <a class="reference internal" href="#mezei"><span>(Mezei)</span></a>, which is based on an evaluation of the numerical derivative of the free energy by a perturbation method using a very small &delta;:</p> <img alt="_images/compute_fep_fdti.jpg" class="align-center" src="_images/compute_fep_fdti.jpg" /> <p>where <a href="#id5"><span class="problematic" id="id6">*</span></a>w*<sub>i</sub> are weights of a numerical quadrature. The <a class="reference internal" href="fix_adapt.html"><em>fix adapt</em></a> command can be used to define the stages of &lambda; at which the derivative is calculated and averaged.</p> <p>The compute fep calculates the exponential Boltzmann term and also the potential energy difference <a href="#id7"><span class="problematic" id="id8">*</span></a>U*<sub>1</sub>-<a href="#id9"><span class="problematic" id="id10">*</span></a>U*<sub>0</sub>. By choosing a very small perturbation &delta; the thermodynamic integration method can be implemented using a numerical evaluation of the derivative of the potential energy with respect to &lambda;:</p> <img alt="_images/compute_fep_ti.jpg" class="align-center" src="_images/compute_fep_ti.jpg" /> <p>Another technique to calculate free energy differences is the acceptance ratio method <a class="reference internal" href="#bennet"><span>(Bennet)</span></a>, which can be implemented by calculating the potential energy differences with &delta; = 1.0 on both the forward and reverse routes:</p> <img alt="_images/compute_fep_bar.jpg" class="align-center" src="_images/compute_fep_bar.jpg" /> <p>The value of the free energy difference is determined by numerical root finding to establish the equality.</p> <p>Concerning the choice of how the atomic parameters are perturbed in order to setup an alchemical transformation route, several strategies are available, such as single-topology or double-topology strategies <a class="reference internal" href="#pearlman"><span>(Pearlman)</span></a>. The latter does not require modification of bond lengths, angles or other internal coordinates.</p> <p>IMPORTANT NOTES: This compute command does not take kinetic energy into account, therefore the masses of the particles should not be modified between the reference and perturbed states, or along the alchemical transformation route. This compute command does not change bond lengths or other internal coordinates <a class="reference internal" href="#boreschkarplus"><span>(Boresch, Karplus)</span></a>.</p> <hr class="docutils" /> <p>The <em>pair</em> attribute enables various parameters of potentials defined by the <a class="reference internal" href="pair_style.html"><em>pair_style</em></a> and <a class="reference internal" href="pair_coeff.html"><em>pair_coeff</em></a> commands to be changed, if the pair style supports it.</p> <p>The <em>pstyle</em> argument is the name of the pair style. For example, <em>pstyle</em> could be specified as “lj/cut”. The <em>pparam</em> argument is the name of the parameter to change. This is a (non-exclusive) 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:</p> <table border="1" class="docutils"> <colgroup> <col width="59%" /> <col width="27%" /> <col width="15%" /> </colgroup> <tbody valign="top"> <tr class="row-odd"><td><a class="reference internal" href="pair_lj.html"><em>lj/cut</em></a></td> <td>epsilon,sigma</td> <td>type pairs</td> </tr> <tr class="row-even"><td><a class="reference internal" href="pair_lj.html"><em>lj/cut/coul/cut</em></a></td> <td>epsilon,sigma</td> <td>type pairs</td> </tr> <tr class="row-odd"><td><a class="reference internal" href="pair_lj.html"><em>lj/cut/coul/long</em></a></td> <td>epsilon,sigma</td> <td>type pairs</td> </tr> <tr class="row-even"><td><a class="reference internal" href="pair_lj_soft.html"><em>lj/cut/soft</em></a></td> <td>epsilon,sigma,lambda</td> <td>type pairs</td> </tr> <tr class="row-odd"><td><a class="reference internal" href="pair_lj_soft.html"><em>coul/cut/soft</em></a></td> <td>lambda</td> <td>type pairs</td> </tr> <tr class="row-even"><td><a class="reference internal" href="pair_lj_soft.html"><em>coul/long/soft</em></a></td> <td>lambda</td> <td>type pairs</td> </tr> <tr class="row-odd"><td><a class="reference internal" href="pair_lj_soft.html"><em>lj/cut/coul/cut/soft</em></a></td> <td>epsilon,sigma,lambda</td> <td>type pairs</td> </tr> <tr class="row-even"><td><a class="reference internal" href="pair_lj_soft.html"><em>lj/cut/coul/long/soft</em></a></td> <td>epsilon,sigma,lambda</td> <td>type pairs</td> </tr> <tr class="row-odd"><td><a class="reference internal" href="pair_lj_soft.html"><em>lj/cut/tip4p/long/soft</em></a></td> <td>epsilon,sigma,lambda</td> <td>type pairs</td> </tr> <tr class="row-even"><td><a class="reference internal" href="pair_lj_soft.html"><em>tip4p/long/soft</em></a></td> <td>lambda</td> <td>type pairs</td> </tr> <tr class="row-odd"><td><a class="reference internal" href="pair_lj_soft.html"><em>lj/charmm/coul/long/soft</em></a></td> <td>epsilon,sigma,lambda</td> <td>type pairs</td> </tr> <tr class="row-even"><td><a class="reference internal" href="pair_born.html"><em>born</em></a></td> <td>a,b,c</td> <td>type pairs</td> </tr> <tr class="row-odd"><td><a class="reference internal" href="pair_buck.html"><em>buck</em></a></td> <td>a,c</td> <td>type pairs</td> </tr> </tbody> </table> <p>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 the pair_*.cpp file associated with the potential.</p> <p>Similar to the <a class="reference internal" href="pair_coeff.html"><em>pair_coeff</em></a> command, I and J can be specified in one of two ways. Explicit numeric values can be used for each, as in the 1st example above. I <= J is required. LAMMPS sets the coefficients for the symmetric J,I interaction to the same values. A wild-card asterisk can be used in place of or in conjunction with the I,J arguments to set the coefficients for multiple pairs of atom types. This takes the form “*” or “<em>n” or “n</em>” or “m*n”. If N = the number of atom types, then an asterisk with no numeric values means all types from 1 to N. A leading asterisk means all types from 1 to n (inclusive). A trailing asterisk means all types from n to N (inclusive). A middle asterisk means all types from m to n (inclusive). Note that only type pairs with I <= J are considered; if asterisks imply type pairs where J < I, they are ignored.</p> <p>If <a class="reference internal" href="pair_hybrid.html"><em>pair_style hybrid or hybrid/overlay</em></a> is being used, then the <em>pstyle</em> will be a sub-style name. You must specify I,J arguments that correspond to type pair values defined (via the <a class="reference internal" href="pair_coeff.html"><em>pair_coeff</em></a> command) for that sub-style.</p> <p>The <em>v_name</em> argument for keyword <em>pair</em> is the name of an <a class="reference internal" href="variable.html"><em>equal-style variable</em></a> which will be evaluated each time this compute is invoked. It should be specified as v_name, where name is the variable name.</p> <hr class="docutils" /> <p>The <em>atom</em> attribute enables atom properties to be changed. The <em>aparam</em> argument is the name of the parameter to change. This is the current list of atom parameters that can be used with this compute:</p> <ul class="simple"> <li>charge = charge on particle</li> </ul> <p>The <em>v_name</em> argument for keyword <em>pair</em> is the name of an <a class="reference internal" href="variable.html"><em>equal-style variable</em></a> which will be evaluated each time this compute is invoked. It should be specified as v_name, where name is the variable name.</p> <hr class="docutils" /> <p>The <em>tail</em> keyword controls the calculation of the tail correction to “van der Waals” pair energies beyond the cutoff, if this has been activated via the <a class="reference internal" href="pair_modify.html"><em>pair_modify</em></a> command. If the perturbation is small, the tail contribution to the energy difference between the reference and perturbed systems should be negligible.</p> <p>If the keyword <em>volume</em> = <em>yes</em>, then the Boltzmann term is multiplied by the volume so that correct ensemble averaging can be performed over trajectories during which the volume fluctuates or changes <a class="reference internal" href="#allentildesley"><span>(Allen and Tildesley)</span></a>:</p> <img alt="_images/compute_fep_vol.jpg" class="align-center" src="_images/compute_fep_vol.jpg" /> <hr class="docutils" /> <p><strong>Output info:</strong></p> <p>This compute calculates a global vector of length 3 which contains the energy difference (<em>U*<sub>1</sub>-*U*<sub>0</sub>) as c_ID[1], the Boltzmann factor exp(-(*U*<sub>1</sub>-*U*<sub>0</sub>)/*kT</em>), or <em>V*exp(-(*U*<sub>1</sub>-*U*<sub>0</sub>)/*kT</em>), as c_ID[2] and the volume of the simulation box <em>V</em> as c_ID[3]. <a href="#id11"><span class="problematic" id="id12">*</span></a>U*<sub>1</sub> is the pair potential energy obtained with the perturbed parameters and <a href="#id13"><span class="problematic" id="id14">*</span></a>U*<sub>0</sub> is the pair potential energy obtained with the unperturbed parameters. The energies include kspace terms if these are used in the simulation.</p> <p>These output results can be used by any command that uses a global scalar or vector from a compute as input. See <a class="reference internal" href="Section_howto.html#howto-15"><span>Section_howto 15</span></a> for an overview of LAMMPS output options. For example, the computed values can be averaged using <a class="reference internal" href="fix_ave_time.html"><em>fix ave/time</em></a>.</p> <p>The values calculated by this compute are “extensive”.</p> </div> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <p>This compute is distributed as the USER-FEP package. It is only enabled if LAMMPS was built with that package. See the <a class="reference internal" href="Section_start.html#start-3"><span>Making LAMMPS</span></a> section for more info.</p> </div> <div class="section" id="related-commands"> <h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2> <p><a class="reference internal" href="fix_adapt_fep.html"><em>fix adapt/fep</em></a>, <a class="reference internal" href="fix_ave_time.html"><em>fix ave/time</em></a>, <a class="reference external" href="pair_lj_soft_coul_soft.txt">pair_lj_soft_coul_soft</a></p> </div> <div class="section" id="default"> <h2>Default<a class="headerlink" href="#default" title="Permalink to this headline">¶</a></h2> <p>The option defaults are <em>tail</em> = <em>no</em>, <em>volume</em> = <em>no</em>.</p> <hr class="docutils" /> <p id="pearlman"><strong>(Pearlman)</strong> Pearlman, J Chem Phys, 98, 1487 (1994)</p> <p id="mezei"><strong>(Mezei)</strong> Mezei, J Chem Phys, 86, 7084 (1987)</p> <p id="bennet"><strong>(Bennet)</strong> Bennet, J Comput Phys, 22, 245 (1976)</p> <p id="boreschkarplus"><strong>(BoreschKarplus)</strong> Boresch and Karplus, J Phys Chem A, 103, 103 (1999)</p> <p id="allentildesley"><strong>(AllenTildesley)</strong> Allen and Tildesley, Computer Simulation of Liquids, Oxford University Press (1987)</p> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/compute_group_group.html b/doc/compute_group_group.html index 8fb773e85..12f39d64c 100644 --- a/doc/compute_group_group.html +++ b/doc/compute_group_group.html @@ -1,295 +1,295 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>compute group/group command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>compute group/group command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="compute-group-group-command"> <span id="index-0"></span><h1>compute group/group command<a class="headerlink" href="#compute-group-group-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>compute ID group-ID group/group group2-ID keyword value ... </pre></div> </div> <ul class="simple"> <li>ID, group-ID are documented in <a class="reference internal" href="compute.html"><em>compute</em></a> command</li> <li>group/group = style name of this compute command</li> <li>group2-ID = group ID of second (or same) group</li> <li>zero or more keyword/value pairs may be appended</li> <li>keyword = <em>pair</em> or <em>kspace</em> or <em>boundary</em></li> </ul> <pre class="literal-block"> <em>pair</em> value = <em>yes</em> or <em>no</em> - <em>kspace</em> value = <em>yes</em> or <em>no</em> - <em>boundary</em> value = <em>yes</em> or <em>no</em> +<em>kspace</em> value = <em>yes</em> or <em>no</em> +<em>boundary</em> value = <em>yes</em> or <em>no</em> </pre> </div> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>compute 1 lower group/group upper compute 1 lower group/group upper kspace yes compute mine fluid group/group wall </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>Define a computation that calculates the total energy and force interaction between two groups of atoms: the compute group and the specified group2. The two groups can be the same.</p> <p>If the <em>pair</em> keyword is set to <em>yes</em>, which is the default, then the the interaction energy will include a pair component which is defined as the pairwise energy between all pairs of atoms where one atom in the pair is in the first group and the other is in the second group. Likewise, the interaction force calculated by this compute will include the force on the compute group atoms due to pairwise interactions with atoms in the specified group2.</p> <p>If the <em>kspace</em> keyword is set to <em>yes</em>, which is not the default, and if a <a class="reference internal" href="kspace_style.html"><em>kspace_style</em></a> is defined, then the interaction energy will include a Kspace component which is the long-range Coulombic energy between all the atoms in the first group and all the atoms in the 2nd group. Likewise, the interaction force calculated by this compute will include the force on the compute group atoms due to long-range Coulombic interactions with atoms in the specified group2.</p> <p>Normally the long-range Coulombic energy converges only when the net charge of the unit cell is zero. However, one can assume the net charge of the system is neutralized by a uniform background plasma, and a correction to the system energy can be applied to reduce artifacts. For more information see <a class="reference internal" href="#bogusz"><span>(Bogusz)</span></a>. If the <em>boundary</em> keyword is set to <em>yes</em>, which is the default, and <em>kspace</em> contributions are included, then this energy correction term will be added to the total group-group energy. This correction term does not affect the force calculation and will be zero if one or both of the groups are charge neutral. This energy correction term is the same as that included in the regular Ewald and PPPM routines.</p> <p>This compute does not calculate any bond or angle or dihedral or improper interactions between atoms in the two groups.</p> <hr class="docutils" /> <p>The pairwise contributions to the group-group interactions are calculated by looping over a neighbor list. The Kspace contribution to the group-group interactions require essentially the same amount of work (FFTs, Ewald summation) as computing long-range forces for the entire system. Thus it can be costly to invoke this compute too frequently.</p> <p>If you desire a breakdown of the interactions into a pairwise and Kspace component, simply invoke the compute twice with the appropriate yes/no settings for the <em>pair</em> and <em>kspace</em> keywords. This is no more costly than using a single compute with both keywords set to <em>yes</em>. The individual contributions can be summed in a <a class="reference internal" href="variable.html"><em>variable</em></a> if desired.</p> <p>This <a class="reference external" href="PDF/kspace.pdf">document</a> describes how the long-range group-group calculations are performed.</p> <hr class="docutils" /> <p><strong>Output info:</strong></p> <p>This compute calculates a global scalar (the energy) and a global vector of length 3 (force), which can be accessed by indices 1-3. These values can be used by any command that uses global scalar or vector values from a compute as input. See <a class="reference internal" href="Section_howto.html#howto-15"><span>this section</span></a> for an overview of LAMMPS output options.</p> <p>Both the scalar and vector values calculated by this compute are “extensive”. The scalar value will be in energy <a class="reference internal" href="units.html"><em>units</em></a>. The vector values will be in force <a class="reference internal" href="units.html"><em>units</em></a>.</p> </div> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <p>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 <a class="reference internal" href="pair_tersoff.html"><em>Tersoff</em></a> and <a class="reference internal" href="pair_sw.html"><em>Stillinger-Weber</em></a> cannot be used. <a class="reference internal" href="pair_eam.html"><em>EAM</em></a> potentials only include the pair potential portion of the EAM interaction when used by this compute, not the embedding term.</p> <p>Not all Kspace styles support calculation of group/group interactions. The <em>ewald</em> and <em>pppm</em> styles do.</p> <p><strong>Related commands:</strong> none</p> </div> <div class="section" id="default"> <h2>Default<a class="headerlink" href="#default" title="Permalink to this headline">¶</a></h2> <p>The option defaults are pair = yes, kspace = no, and boundary = yes.</p> <hr class="docutils" /> <p id="bogusz">Bogusz et al, J Chem Phys, 108, 7070 (1998)</p> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/compute_modify.html b/doc/compute_modify.html index bae366645..356a02d1f 100644 --- a/doc/compute_modify.html +++ b/doc/compute_modify.html @@ -1,258 +1,258 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>compute_modify command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>compute_modify command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="compute-modify-command"> <span id="index-0"></span><h1>compute_modify command<a class="headerlink" href="#compute-modify-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>compute_modify compute-ID keyword value ... </pre></div> </div> <ul class="simple"> <li>compute-ID = ID of the compute to modify</li> <li>one or more keyword/value pairs may be listed</li> <li>keyword = <em>extra</em> or <em>dynamic</em></li> </ul> <pre class="literal-block"> <em>extra</em> value = N - N = # of extra degrees of freedom to subtract - <em>dynamic</em> value = <em>yes</em> or <em>no</em> - yes/no = do or do not recompute the number of atoms contributing to the temperature - <em>thermo</em> value = <em>yes</em> or <em>no</em> - yes/no = do or do not add contributions from fixes to the potential energy + N = # of extra degrees of freedom to subtract +<em>dynamic</em> value = <em>yes</em> or <em>no</em> + yes/no = do or do not recompute the number of atoms contributing to the temperature +<em>thermo</em> value = <em>yes</em> or <em>no</em> + yes/no = do or do not add contributions from fixes to the potential energy </pre> </div> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>compute_modify myTemp extra 0 compute_modify newtemp dynamic yes extra 600 </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>Modify one or more parameters of a previously defined compute. Not all compute styles support all parameters.</p> <p>The <em>extra</em> keyword refers to how many degrees-of-freedom are subtracted (typically from 3N) as a normalizing factor in a temperature computation. Only computes that compute a temperature use this option. The default is 2 or 3 for <a class="reference internal" href="dimension.html"><em>2d or 3d systems</em></a> which is a correction factor for an ensemble of velocities with zero total linear momentum. You can use a negative number for the <em>extra</em> parameter if you need to add degrees-of-freedom. See the <a class="reference internal" href="compute_temp_asphere.html"><em>compute temp/asphere</em></a> command for an example.</p> <p>The <em>dynamic</em> keyword determines whether the number of atoms N in the compute group is re-computed each time a temperature is computed. Only compute styles that compute a temperature use this option. By default, N is assumed to be constant. If you are adding atoms to the system (see the <a class="reference internal" href="fix_pour.html"><em>fix pour</em></a> or <a class="reference internal" href="fix_deposit.html"><em>fix deposit</em></a> commands) or expect atoms to be lost (e.g. due to evaporation), then this option should be used to insure the temperature is correctly normalized.</p> <p>The <em>thermo</em> keyword determines whether the potential energy contribution calculated by some <a class="reference internal" href="fix.html"><em>fixes</em></a> is added to the potential energy calculated by the compute. Currently, only the compute of style <em>pe</em> uses this option. See the doc pages for <a class="reference internal" href="fix.html"><em>individual fixes</em></a> for details.</p> </div> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <blockquote> <div>none</div></blockquote> </div> <div class="section" id="related-commands"> <h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2> <p><a class="reference internal" href="compute.html"><em>compute</em></a></p> </div> <div class="section" id="default"> <h2>Default<a class="headerlink" href="#default" title="Permalink to this headline">¶</a></h2> <p>The option defaults are extra = 2 or 3 for 2d or 3d systems and dynamic = no. Thermo is <em>yes</em> if the compute of style <em>pe</em> was defined with no extra keywords; otherwise it is <em>no</em>.</p> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/compute_pair_local.html b/doc/compute_pair_local.html index 5dfc14d93..575e14570 100644 --- a/doc/compute_pair_local.html +++ b/doc/compute_pair_local.html @@ -1,298 +1,298 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>compute pair/local command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>compute pair/local command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="compute-pair-local-command"> <span id="index-0"></span><h1>compute pair/local command<a class="headerlink" href="#compute-pair-local-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>compute ID group-ID pair/local input1 input2 ... </pre></div> </div> <ul class="simple"> <li>ID, group-ID are documented in <a class="reference internal" href="compute.html"><em>compute</em></a> command</li> <li>pair/local = style name of this compute command</li> <li>zero or more keywords may be appended</li> <li>keyword = <em>dist</em> or <em>eng</em> or <em>force</em> or <em>fx</em> or <em>fy</em> or <em>fz</em> or <em>pN</em></li> </ul> <pre class="literal-block"> <em>dist</em> = pairwise distance - <em>eng</em> = pairwise energy - <em>force</em> = pairwise force - <em>fx</em>,*fy*,*fz* = components of pairwise force - <em>pN</em> = pair style specific quantities for allowed N values +<em>eng</em> = pairwise energy +<em>force</em> = pairwise force +<em>fx</em>,*fy*,*fz* = components of pairwise force +<em>pN</em> = pair style specific quantities for allowed N values </pre> </div> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>compute 1 all pair/local eng compute 1 all pair/local dist eng force compute 1 all pair/local dist eng fx fy fz compute 1 all pair/local dist fx fy fz p1 p2 p3 </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>Define a computation that calculates properties of individual pairwise interactions. The number of datums generated, aggregated across all processors, equals the number of pairwise interactions in the system.</p> <p>The local data stored by this command is generated by looping over the pairwise neighbor list. Info about an individual pairwise interaction will only be included if both atoms in the pair are in the specified compute group, and if the current pairwise distance is less than the force cutoff distance for that interaction, as defined by the <a class="reference internal" href="pair_style.html"><em>pair_style</em></a> and <a class="reference internal" href="pair_coeff.html"><em>pair_coeff</em></a> commands.</p> <p>The output <em>dist</em> is the distance bewteen the pair of atoms.</p> <p>The output <em>eng</em> is the interaction energy for the pair of atoms.</p> <p>The output <em>force</em> is the force acting between the pair of atoms, which is positive for a repulsive force and negative for an attractive force. The outputs <em>fx</em>, <em>fy</em>, and <em>fz</em> are the xyz components of <em>force</em> on atom I.</p> <p>A pair style may define additional pairwise quantities which can be accessed as <em>p1</em> to <em>pN</em>, where N is defined by the pair style. Most pair styles do not define any additional quantities, so N = 0. An example of ones that do are the <a class="reference internal" href="pair_gran.html"><em>granular pair styles</em></a> which calculate the tangential force between two particles and return its components and magnitude acting on atom I for N = 1,2,3,4. See individual pair styles for detils.</p> <p>The output <em>dist</em> will be in distance <a class="reference internal" href="units.html"><em>units</em></a>. The output <em>eng</em> will be in energy <a class="reference internal" href="units.html"><em>units</em></a>. The outputs <em>force</em>, <em>fx</em>, <em>fy</em>, and <em>fz</em> will be in force <a class="reference internal" href="units.html"><em>units</em></a>. The output <em>pN</em> will be in whatever units the pair style defines.</p> <p>Note that as atoms migrate from processor to processor, there will be no consistent ordering of the entries within the local vector or array from one timestep to the next. The only consistency that is guaranteed is that the ordering on a particular timestep will be the same for local vectors or arrays generated by other compute commands. For example, pair output from the <a class="reference internal" href="compute_property_local.html"><em>compute property/local</em></a> command can be combined with data from this command and output by the <a class="reference internal" href="dump.html"><em>dump local</em></a> command in a consistent way.</p> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">For pairs, if two atoms I,J are involved in 1-2, 1-3, 1-4 interactions within the molecular topology, their pairwise interaction may be turned off, and thus they may not appear in the neighbor list, and will not be part of the local data created by this command. More specifically, this will be true of I,J pairs with a weighting factor of 0.0; pairs with a non-zero weighting factor are included. The weighting factors for 1-2, 1-3, and 1-4 pairwise interactions are set by the <a class="reference internal" href="special_bonds.html"><em>special_bonds</em></a> command. An exception is if long-range Coulombics are being computed via the <a class="reference internal" href="kspace_style.html"><em>kspace_style</em></a> command, then atom pairs with weighting factors of zero are still included in the neighbor list, so that a portion of the long-range interaction contribution can be computed in the pair style. Hence in that case, those atom pairs will be part of the local data created by this command.</p> </div> <p><strong>Output info:</strong></p> <p>This compute calculates a local vector or local array depending on the number of keywords. The length of the vector or number of rows in the array is the number of pairs. If a single keyword is specified, a local vector is produced. If two or more keywords are specified, a local array is produced where the number of columns = the number of keywords. The vector or array can be accessed by any command that uses local values from a compute as input. See <a class="reference internal" href="Section_howto.html#howto-15"><span>this section</span></a> for an overview of LAMMPS output options.</p> <p>The output for <em>dist</em> will be in distance <a class="reference internal" href="units.html"><em>units</em></a>. The output for <em>eng</em> will be in energy <a class="reference internal" href="units.html"><em>units</em></a>. The output for <em>force</em> will be in force <a class="reference internal" href="units.html"><em>units</em></a>.</p> </div> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <blockquote> <div>none</div></blockquote> </div> <div class="section" id="related-commands"> <h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2> <p><a class="reference internal" href="dump.html"><em>dump local</em></a>, <a class="reference internal" href="compute_property_local.html"><em>compute property/local</em></a></p> <p><strong>Default:</strong> none</p> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/compute_property_atom.html b/doc/compute_property_atom.html index d89557b12..bbbd2b2a8 100644 --- a/doc/compute_property_atom.html +++ b/doc/compute_property_atom.html @@ -1,344 +1,344 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>compute property/atom command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>compute property/atom command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="compute-property-atom-command"> <span id="index-0"></span><h1>compute property/atom command<a class="headerlink" href="#compute-property-atom-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>compute ID group-ID property/atom input1 input2 ... </pre></div> </div> <ul class="simple"> <li>ID, group-ID are documented in <a class="reference internal" href="compute.html"><em>compute</em></a> command</li> <li>property/atom = style name of this compute command</li> <li>input = one or more atom attributes</li> </ul> <div class="highlight-python"><div class="highlight"><pre>possible attributes = id, mol, proc, type, mass, - x, y, z, xs, ys, zs, xu, yu, zu, ix, iy, iz, - vx, vy, vz, fx, fy, fz, - q, mux, muy, muz, mu, - radius, diameter, omegax, omegay, omegaz, - angmomx, angmomy, angmomz, - shapex,shapey, shapez, - quatw, quati, quatj, quatk, tqx, tqy, tqz, - end1x, end1y, end1z, end2x, end2y, end2z, - corner1x, corner1y, corner1z, - corner2x, corner2y, corner2z, - corner3x, corner3y, corner3z, - nbonds, - vfrac, s0, - spin, eradius, ervel, erforce, - rho, drho, e, de, cv, - i_name, d_name + x, y, z, xs, ys, zs, xu, yu, zu, ix, iy, iz, + vx, vy, vz, fx, fy, fz, + q, mux, muy, muz, mu, + radius, diameter, omegax, omegay, omegaz, + angmomx, angmomy, angmomz, + shapex,shapey, shapez, + quatw, quati, quatj, quatk, tqx, tqy, tqz, + end1x, end1y, end1z, end2x, end2y, end2z, + corner1x, corner1y, corner1z, + corner2x, corner2y, corner2z, + corner3x, corner3y, corner3z, + nbonds, + vfrac, s0, + spin, eradius, ervel, erforce, + rho, drho, e, de, cv, + i_name, d_name </pre></div> </div> <div class="highlight-python"><div class="highlight"><pre>id = atom ID - mol = molecule ID - proc = ID of processor that owns atom - type = atom type - mass = atom mass - x,y,z = unscaled atom coordinates - xs,ys,zs = scaled atom coordinates - xu,yu,zu = unwrapped atom coordinates - ix,iy,iz = box image that the atom is in - vx,vy,vz = atom velocities - fx,fy,fz = forces on atoms - q = atom charge - mux,muy,muz = orientation of dipole moment of atom - mu = magnitude of dipole moment of atom - radius,diameter = radius,diameter of spherical particle - omegax,omegay,omegaz = angular velocity of spherical particle - angmomx,angmomy,angmomz = angular momentum of aspherical particle - shapex,shapey,shapez = 3 diameters of aspherical particle - quatw,quati,quatj,quatk = quaternion components for aspherical or body particles - tqx,tqy,tqz = torque on finite-size particles - end12x, end12y, end12z = end points of line segment - corner123x, corner123y, corner123z = corner points of triangle - nbonds = number of bonds assigned to an atom +mol = molecule ID +proc = ID of processor that owns atom +type = atom type +mass = atom mass +x,y,z = unscaled atom coordinates +xs,ys,zs = scaled atom coordinates +xu,yu,zu = unwrapped atom coordinates +ix,iy,iz = box image that the atom is in +vx,vy,vz = atom velocities +fx,fy,fz = forces on atoms +q = atom charge +mux,muy,muz = orientation of dipole moment of atom +mu = magnitude of dipole moment of atom +radius,diameter = radius,diameter of spherical particle +omegax,omegay,omegaz = angular velocity of spherical particle +angmomx,angmomy,angmomz = angular momentum of aspherical particle +shapex,shapey,shapez = 3 diameters of aspherical particle +quatw,quati,quatj,quatk = quaternion components for aspherical or body particles +tqx,tqy,tqz = torque on finite-size particles +end12x, end12y, end12z = end points of line segment +corner123x, corner123y, corner123z = corner points of triangle +nbonds = number of bonds assigned to an atom </pre></div> </div> <div class="highlight-python"><div class="highlight"><pre>PERI package per-atom properties: - vfrac = ??? - s0 = ??? +vfrac = ??? +s0 = ??? </pre></div> </div> <div class="highlight-python"><div class="highlight"><pre>USER-EFF and USER-AWPMD package per-atom properties: - spin = electron spin - eradius = electron radius - ervel = electron radial velocity - erforce = electron radial force +spin = electron spin +eradius = electron radius +ervel = electron radial velocity +erforce = electron radial force </pre></div> </div> <div class="highlight-python"><div class="highlight"><pre>USER-SPH package per-atom properties: - rho = ??? - drho = ??? - e = ??? - de = ??? - cv = ??? +rho = ??? +drho = ??? +e = ??? +de = ??? +cv = ??? </pre></div> </div> <pre class="literal-block"> <a class="reference internal" href="fix_property_atom.html"><em>fix property/atom</em></a> per-atom properties: - i_name = custom integer vector with name - d_name = custom integer vector with name +i_name = custom integer vector with name +d_name = custom integer vector with name </pre> </div> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>compute 1 all property/atom xs vx fx mux compute 2 all property/atom type compute 1 all property/atom ix iy iz </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>Define a computation that simply stores atom attributes for each atom in the group. This is useful so that the values can be used by other <a class="reference internal" href="Section_howto.html#howto-15"><span>output commands</span></a> that take computes as inputs. See for example, the <a class="reference internal" href="compute_reduce.html"><em>compute reduce</em></a>, <a class="reference internal" href="fix_ave_atom.html"><em>fix ave/atom</em></a>, <a class="reference internal" href="fix_ave_histo.html"><em>fix ave/histo</em></a>, <a class="reference internal" href="fix_ave_spatial.html"><em>fix ave/spatial</em></a>, and <a class="reference internal" href="variable.html"><em>atom-style variable</em></a> commands.</p> <p>The list of possible attributes is the same as that used by the <a class="reference internal" href="dump.html"><em>dump custom</em></a> command, which describes their meaning, with some additional quantities that are only defined for certain <a class="reference internal" href="atom_style.html"><em>atom styles</em></a>. Basically, this augmented list gives an input script access to any per-atom quantity stored by LAMMPS.</p> <p>The values are stored in a per-atom vector or array as discussed below. Zeroes are stored for atoms not in the specified group or for quantities that are not defined for a particular particle in the group (e.g. <em>shapex</em> if the particle is not an ellipsoid).</p> <p>The additional quantities only accessible via this command, and not directly via the <a class="reference internal" href="dump.html"><em>dump custom</em></a> command, are as follows.</p> <p><em>Shapex</em>, <em>shapey</em>, and <em>shapez</em> are defined for ellipsoidal particles and define the 3d shape of each particle.</p> <p><em>Quatw</em>, <em>quati</em>, <em>quatj</em>, and <em>quatk</em> are defined for ellipsoidal particles and body particles and store the 4-vector quaternion representing the orientation of each particle. See the <a class="reference internal" href="set.html"><em>set</em></a> command for an explanation of the quaternion vector.</p> <p><em>End1x</em>, <em>end1y</em>, <em>end1z</em>, <em>end2x</em>, <em>end2y</em>, <em>end2z</em>, are defined for line segment particles and define the end points of each line segment.</p> <p><em>Corner1x</em>, <em>corner1y</em>, <em>corner1z</em>, <em>corner2x</em>, <em>corner2y</em>, <em>corner2z</em>, <em>corner3x</em>, <em>corner3y</em>, <em>corner3z</em>, are defined for triangular particles and define the corner points of each triangle.</p> <p><em>Nbonds</em> is available for all molecular atom styles and refers to the number of explicit bonds assigned to an atom. Note that if the <a class="reference internal" href="newton.html"><em>newton bond</em></a> command is set to <em>on</em>, which is the default, then every bond in the system is assigned to only one of the two atoms in the bond. Thus a bond between atoms I,J may be tallied for either atom I or atom J. If <a class="reference internal" href="newton.html"><em>newton bond off</em></a> is set, it will be tallied with both atom I and atom J.</p> <p>The <em>i_name</em> and <em>d_name</em> attributes refer to custom integer and floating-point properties that have been added to each atom via the <a class="reference internal" href="fix_property_atom.html"><em>fix property/atom</em></a> command. When that command is used specific names are given to each attribute which are what is specified as the “name” portion of <em>i_name</em> or <em>d_name</em>.</p> <p><strong>Output info:</strong></p> <p>This compute calculates a per-atom vector or per-atom array depending on the number of input values. If a single input is specified, a per-atom vector is produced. If two or more inputs are specified, a per-atom array is produced where the number of columns = the number of inputs. The vector or array can be accessed by any command that uses per-atom values from a compute as input. See <a class="reference internal" href="Section_howto.html#howto-15"><span>this section</span></a> for an overview of LAMMPS output options.</p> <p>The vector or array values will be in whatever <a class="reference internal" href="units.html"><em>units</em></a> the corresponding attribute is in, e.g. velocity units for vx, charge units for q, etc.</p> </div> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <blockquote> <div>none</div></blockquote> </div> <div class="section" id="related-commands"> <h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2> <p><a class="reference internal" href="dump.html"><em>dump custom</em></a>, <a class="reference internal" href="compute_reduce.html"><em>compute reduce</em></a>, <a class="reference internal" href="fix_ave_atom.html"><em>fix ave/atom</em></a>, <a class="reference internal" href="fix_ave_spatial.html"><em>fix ave/spatial</em></a>, <a class="reference internal" href="fix_property_atom.html"><em>fix property/atom</em></a></p> <p><strong>Default:</strong> none</p> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/compute_property_chunk.html b/doc/compute_property_chunk.html index b1ed2e54f..e64677384 100644 --- a/doc/compute_property_chunk.html +++ b/doc/compute_property_chunk.html @@ -1,291 +1,291 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>compute property/chunk command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>compute property/chunk command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="compute-property-chunk-command"> <span id="index-0"></span><h1>compute property/chunk command<a class="headerlink" href="#compute-property-chunk-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>compute ID group-ID property/chunk chunkID input1 input2 ... </pre></div> </div> <ul class="simple"> <li>ID, group-ID are documented in <a class="reference internal" href="compute.html"><em>compute</em></a> command</li> <li>property/chunk = style name of this compute command</li> <li>input = one or more attributes</li> </ul> <pre class="literal-block"> attributes = count, id, coord1, coord2, coord3 - count = # of atoms in chunk - id = original chunk IDs before compression by <a class="reference internal" href="compute_chunk_atom.html"><em>compute chunk/atom</em></a> - coord123 = coordinates for spatial bins calculated by <a class="reference internal" href="compute_chunk_atom.html"><em>compute chunk/atom</em></a> + count = # of atoms in chunk + id = original chunk IDs before compression by <a class="reference internal" href="compute_chunk_atom.html"><em>compute chunk/atom</em></a> + coord123 = coordinates for spatial bins calculated by <a class="reference internal" href="compute_chunk_atom.html"><em>compute chunk/atom</em></a> </pre> </div> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>compute 1 all property/chunk count compute 1 all property/chunk ID coord1 </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>Define a computation that stores the specified attributes of chunks of atoms.</p> <p>In LAMMPS, chunks are collections of atoms defined by a <a class="reference internal" href="compute_chunk_atom.html"><em>compute chunk/atom</em></a> command, which assigns each atom to a single chunk (or no chunk). The ID for this command is specified as chunkID. For example, a single chunk could be the atoms in a molecule or atoms in a spatial bin. See the <a class="reference internal" href="compute_chunk_atom.html"><em>compute chunk/atom</em></a> doc page and “<a class="reference internal" href="Section_howto.html#howto-23"><span>Section_howto 23</span></a> for details of how chunks can be defined and examples of how they can be used to measure properties of a system.</p> <p>This compute calculates and stores the specified attributes of chunks as global data so they can be accessed by other <a class="reference internal" href="Section_howto.html#howto-15"><span>output commands</span></a> and used in conjunction with other commands that generate per-chunk data, such as <a class="reference internal" href="compute_com_chunk.html"><em>compute com/chunk</em></a> or <a class="reference internal" href="compute_msd_chunk.html"><em>compute msd/chunk</em></a>.</p> <p>Note that only atoms in the specified group contribute to the calculation of the <em>count</em> attribute. The <a class="reference internal" href="compute_chunk_atom.html"><em>compute chunk/atom</em></a> command defines its own group; atoms will have a chunk ID = 0 if they are not in that group, signifying they are not assigned to a chunk, and will thus also not contribute to this calculation. You can specify the “all” group for this command if you simply want to include atoms with non-zero chunk IDs.</p> <p>The <em>count</em> attribute is the number of atoms in the chunk.</p> <p>The <em>id</em> attribute stores the original chunk ID for each chunk. It can only be used if the <em>compress</em> keyword was set to <em>yes</em> for the <a class="reference internal" href="compute_chunk_atom.html"><em>compute chunk/atom</em></a> command referenced by chunkID. This means that the original chunk IDs (e.g. molecule IDs) will have been compressed to remove chunk IDs with no atoms assigned to them. Thus a compresed chunk ID of 3 may correspond to an original chunk ID (molecule ID in this case) of 415. The <em>id</em> attribute will then be 415 for the 3rd chunk.</p> <p>The <em>coordN</em> attributes can only be used if a <em>binning</em> style was used in the <a class="reference internal" href="compute_chunk_atom.html"><em>compute chunk/atom</em></a> command referenced by chunkID. For <em>bin/1d</em>, <em>bin/2d</em>, and <em>bin/3d</em> styles the attribute is the center point of the bin in the corresponding dimension. Style <em>bin/1d</em> only defines a <em>coord1</em> attribute. Style <em>bin/2d</em> adds a <em>coord2</em> attribute. Style <em>bin/3d</em> adds a <em>coord3</em> attribute.</p> <p>Note that if the value of the <em>units</em> keyword used in the <a class="reference internal" href="compute_chunk_atom.html"><em>compute chunk/atom command</em></a> is <em>box</em> or <em>lattice</em>, the <em>coordN</em> attributes will be in distance <a class="reference internal" href="units.html"><em>units</em></a>. If the value of the <em>units</em> keyword is <em>reduced</em>, the <em>coordN</em> attributes will be in unitless reduced units (0-1).</p> <p>The simplest way to output the results of the compute property/chunk calculation to a file is to use the <a class="reference internal" href="fix_ave_time.html"><em>fix ave/time</em></a> command, for example:</p> <div class="highlight-python"><div class="highlight"><pre>compute cc1 all chunk/atom molecule compute myChunk1 all property/chunk cc1 compute myChunk2 all com/chunk cc1 fix 1 all ave/time 100 1 100 c_myChunk1 c_myChunk2 file tmp.out mode vector </pre></div> </div> <p><strong>Output info:</strong></p> <p>This compute calculates a global vector or global array depending on the number of input values. The length of the vector or number of rows in the array is the number of chunks.</p> <p>This compute calculates a global vector or global array where the number of rows = the number of chunks <em>Nchunk</em> as calculated by the specified <a class="reference internal" href="compute_chunk_atom.html"><em>compute chunk/atom</em></a> command. If a single input is specified, a global vector is produced. If two or more inputs are specified, a global array is produced where the number of columns = the number of inputs. The vector or array can be accessed by any command that uses global values from a compute as input. See <a class="reference internal" href="Section_howto.html#howto-15"><span>this section</span></a> for an overview of LAMMPS output options.</p> <p>The vector or array values are “intensive”. The values will be unitless or in the units discussed above.</p> </div> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <blockquote> <div>none</div></blockquote> </div> <div class="section" id="related-commands"> <h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2> <p><a class="reference internal" href="fix_ave_chunk.html"><em>fix ave/chunk</em></a></p> <p><strong>Default:</strong> none</p> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/compute_property_local.html b/doc/compute_property_local.html index 6880ac42c..36d7d062c 100644 --- a/doc/compute_property_local.html +++ b/doc/compute_property_local.html @@ -1,321 +1,321 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>compute property/local command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>compute property/local command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="compute-property-local-command"> <span id="index-0"></span><h1>compute property/local command<a class="headerlink" href="#compute-property-local-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>compute ID group-ID property/local input1 input2 ... </pre></div> </div> <ul class="simple"> <li>ID, group-ID are documented in <a class="reference internal" href="compute.html"><em>compute</em></a> command</li> <li>property/local = style name of this compute command</li> <li>input = one or more attributes</li> </ul> <div class="highlight-python"><div class="highlight"><pre>possible attributes = natom1 natom2 ntype1 ntype2 - patom1 patom2 ptype1 ptype2 - batom1 batom2 btype - aatom1 aatom2 aatom3 atype - datom1 datom2 datom3 dtype - iatom1 iatom2 iatom3 itype + patom1 patom2 ptype1 ptype2 + batom1 batom2 btype + aatom1 aatom2 aatom3 atype + datom1 datom2 datom3 dtype + iatom1 iatom2 iatom3 itype </pre></div> </div> <div class="highlight-python"><div class="highlight"><pre>natom1, natom2 = IDs of 2 atoms in each pair (within neighbor cutoff) - ntype1, ntype2 = type of 2 atoms in each pair (within neighbor cutoff) - patom1, patom2 = IDs of 2 atoms in each pair (within force cutoff) - ptype1, ptype2 = type of 2 atoms in each pair (within force cutoff) - batom1, batom2 = IDs of 2 atoms in each bond - btype = bond type of each bond - aatom1, aatom2, aatom3 = IDs of 3 atoms in each angle - atype = angle type of each angle - datom1, datom2, datom3, datom4 = IDs of 4 atoms in each dihedral - dtype = dihedral type of each dihedral - iatom1, iatom2, iatom3, iatom4 = IDs of 4 atoms in each improper - itype = improper type of each improper +ntype1, ntype2 = type of 2 atoms in each pair (within neighbor cutoff) +patom1, patom2 = IDs of 2 atoms in each pair (within force cutoff) +ptype1, ptype2 = type of 2 atoms in each pair (within force cutoff) +batom1, batom2 = IDs of 2 atoms in each bond +btype = bond type of each bond +aatom1, aatom2, aatom3 = IDs of 3 atoms in each angle +atype = angle type of each angle +datom1, datom2, datom3, datom4 = IDs of 4 atoms in each dihedral +dtype = dihedral type of each dihedral +iatom1, iatom2, iatom3, iatom4 = IDs of 4 atoms in each improper +itype = improper type of each improper </pre></div> </div> </div> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>compute 1 all property/local btype batom1 batom2 compute 1 all property/local atype aatom2 </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>Define a computation that stores the specified attributes as local data so it can be accessed by other <a class="reference internal" href="Section_howto.html#howto-15"><span>output commands</span></a>. If the input attributes refer to bond information, then the number of datums generated, aggregated across all processors, equals the number of bonds in the system. Ditto for pairs, angles, etc.</p> <p>If multiple input attributes are specified then they must all generate the same amount of information, so that the resulting local array has the same number of rows for each column. This means that only bond attributes can be specified together, or angle attributes, etc. Bond and angle attributes can not be mixed in the same compute property/local command.</p> <p>If the inputs are pair attributes, the local data is generated by looping over the pairwise neighbor list. Info about an individual pairwise interaction will only be included if both atoms in the pair are in the specified compute group. For <em>natom1</em> and <em>natom2</em>, all atom pairs in the neighbor list are considered (out to the neighbor cutoff = force cutoff + <a class="reference internal" href="neighbor.html"><em>neighbor skin</em></a>). For <em>patom1</em> and <em>patom2</em>, the distance between the atoms must be less than the force cutoff distance for that pair to be included, as defined by the <a class="reference internal" href="pair_style.html"><em>pair_style</em></a> and <a class="reference internal" href="pair_coeff.html"><em>pair_coeff</em></a> commands.</p> <p>If the inputs are bond, angle, etc attributes, the local data is generated by looping over all the atoms owned on a processor and extracting bond, angle, etc info. For bonds, info about an individual bond will only be included if both atoms in the bond are in the specified compute group. Likewise for angles, dihedrals, etc.</p> <p>For bonds and angles, a bonds/angles that have been broken by setting their bond/angle type to 0 will not be included. Bonds/angles that have been turned off (see the <a class="reference internal" href="fix_shake.html"><em>fix shake</em></a> or <a class="reference internal" href="delete_bonds.html"><em>delete_bonds</em></a> commands) by setting their bond/angle type negative are written into the file. This is consistent with the <a class="reference internal" href="compute_bond_local.html"><em>compute bond/local</em></a> and <a class="reference internal" href="compute_angle_local.html"><em>compute angle/local</em></a> commands</p> <p>Note that as atoms migrate from processor to processor, there will be no consistent ordering of the entries within the local vector or array from one timestep to the next. The only consistency that is guaranteed is that the ordering on a particular timestep will be the same for local vectors or arrays generated by other compute commands. For example, output from the <a class="reference internal" href="compute_bond_local.html"><em>compute bond/local</em></a> command can be combined with bond atom indices from this command and output by the <a class="reference internal" href="dump.html"><em>dump local</em></a> command in a consistent way.</p> <p>The <em>natom1</em> and <em>natom2</em>, or <em>patom1</em> and <em>patom2</em> attributes refer to the atom IDs of the 2 atoms in each pairwise interaction computed by the <a class="reference internal" href="pair_style.html"><em>pair_style</em></a> command. The <em>ntype1</em> and <em>ntype2</em>, or <em>ptype1</em> and <em>ptype2</em> attributes refer to the atom types of the 2 atoms in each pairwise interaction.</p> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">For pairs, if two atoms I,J are involved in 1-2, 1-3, 1-4 interactions within the molecular topology, their pairwise interaction may be turned off, and thus they may not appear in the neighbor list, and will not be part of the local data created by this command. More specifically, this may be true of I,J pairs with a weighting factor of 0.0; pairs with a non-zero weighting factor are included. The weighting factors for 1-2, 1-3, and 1-4 pairwise interactions are set by the <a class="reference internal" href="special_bonds.html"><em>special_bonds</em></a> command.</p> </div> <p>The <em>batom1</em> and <em>batom2</em> attributes refer to the atom IDs of the 2 atoms in each <a class="reference internal" href="bond_style.html"><em>bond</em></a>. The <em>btype</em> attribute refers to the type of the bond, from 1 to Nbtypes = # of bond types. The number of bond types is defined in the data file read by the <a class="reference internal" href="read_data.html"><em>read_data</em></a> command.</p> <p>The attributes that start with “a”, “d”, “i”, refer to similar values for <a class="reference internal" href="angle_style.html"><em>angles</em></a>, <a class="reference internal" href="dihedral_style.html"><em>dihedrals</em></a>, and <a class="reference internal" href="improper_style.html"><em>impropers</em></a>.</p> <p><strong>Output info:</strong></p> <p>This compute calculates a local vector or local array depending on the number of input values. The length of the vector or number of rows in the array is the number of bonds, angles, etc. If a single input is specified, a local vector is produced. If two or more inputs are specified, a local array is produced where the number of columns = the number of inputs. The vector or array can be accessed by any command that uses local values from a compute as input. See <a class="reference internal" href="Section_howto.html#howto-15"><span>this section</span></a> for an overview of LAMMPS output options.</p> <p>The vector or array values will be integers that correspond to the specified attribute.</p> </div> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <blockquote> <div>none</div></blockquote> </div> <div class="section" id="related-commands"> <h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2> <p><a class="reference internal" href="dump.html"><em>dump local</em></a>, <a class="reference internal" href="compute_reduce.html"><em>compute reduce</em></a></p> <p><strong>Default:</strong> none</p> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/compute_reduce.html b/doc/compute_reduce.html index abe0a590e..88ad4ce15 100644 --- a/doc/compute_reduce.html +++ b/doc/compute_reduce.html @@ -1,361 +1,361 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>compute reduce command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>compute reduce command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="compute-reduce-command"> <span id="index-0"></span><h1>compute reduce command<a class="headerlink" href="#compute-reduce-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="compute-reduce-region-command"> <h1>compute reduce/region command<a class="headerlink" href="#compute-reduce-region-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>compute ID group-ID style arg mode input1 input2 ... keyword args ... </pre></div> </div> <ul class="simple"> <li>ID, group-ID are documented in <a class="reference internal" href="compute.html"><em>compute</em></a> command</li> <li>style = <em>reduce</em> or <em>reduce/region</em></li> </ul> <pre class="literal-block"> <em>reduce</em> arg = none - <em>reduce/region</em> arg = region-ID - region-ID = ID of region to use for choosing atoms +<em>reduce/region</em> arg = region-ID + region-ID = ID of region to use for choosing atoms </pre> <ul class="simple"> <li>mode = <em>sum</em> or <em>min</em> or <em>max</em> or <em>ave</em> or <em>sumsq</em> or <em>avesq</em></li> <li>one or more inputs can be listed</li> <li>input = x, y, z, vx, vy, vz, fx, fy, fz, c_ID, c_ID[N], f_ID, f_ID[N], v_name</li> </ul> <div class="highlight-python"><div class="highlight"><pre>x,y,z,vx,vy,vz,fx,fy,fz = atom attribute (position, velocity, force component) - c_ID = per-atom or local vector calculated by a compute with ID - c_ID[I] = Ith column of per-atom or local array calculated by a compute with ID - f_ID = per-atom or local vector calculated by a fix with ID - f_ID[I] = Ith column of per-atom or local array calculated by a fix with ID - v_name = per-atom vector calculated by an atom-style variable with name +c_ID = per-atom or local vector calculated by a compute with ID +c_ID[I] = Ith column of per-atom or local array calculated by a compute with ID +f_ID = per-atom or local vector calculated by a fix with ID +f_ID[I] = Ith column of per-atom or local array calculated by a fix with ID +v_name = per-atom vector calculated by an atom-style variable with name </pre></div> </div> <ul class="simple"> <li>zero or more keyword/args pairs may be appended</li> <li>keyword = <em>replace</em></li> </ul> <pre class="literal-block"> <em>replace</em> args = vec1 vec2 - vec1 = reduced value from this input vector will be replaced - vec2 = replace it with vec1[N] where N is index of max/min value from vec2 + vec1 = reduced value from this input vector will be replaced + vec2 = replace it with vec1[N] where N is index of max/min value from vec2 </pre> </div> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>compute 1 all reduce sum c_force compute 1 all reduce/region subbox sum c_force compute 2 all reduce min c_press[2] f_ave v_myKE compute 3 fluid reduce max c_index[1] c_index[2] c_dist replace 1 3 replace 2 3 </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>Define a calculation that “reduces” one or more vector inputs into scalar values, one per listed input. The inputs can be per-atom or local quantities; they cannot be global quantities. Atom attributes are per-atom quantities, <a class="reference internal" href="compute.html"><em>computes</em></a> and <a class="reference internal" href="fix.html"><em>fixes</em></a> may generate any of the three kinds of quantities, and <a class="reference internal" href="variable.html"><em>atom-style variables</em></a> generate per-atom quantities. See the <a class="reference external" href="variable">variable</a> command and its special functions which can perform the same operations as the compute reduce command on global vectors.</p> <p>The reduction operation is specified by the <em>mode</em> setting. The <em>sum</em> option adds the values in the vector into a global total. The <em>min</em> or <em>max</em> options find the minimum or maximum value across all vector values. The <em>ave</em> setting adds the vector values into a global total, then divides by the number of values in the vector. The <em>sumsq</em> option sums the square of the values in the vector into a global total. The <em>avesq</em> setting does the same as <em>sumsq</em>, then divdes the sum of squares by the number of values. The last two options can be useful for calculating the variance of some quantity, e.g. variance = sumsq - ave^2.</p> <p>Each listed input is operated on independently. For per-atom inputs, the group specified with this command means only atoms within the group contribute to the result. For per-atom inputs, if the compute reduce/region command is used, the atoms must also currently be within the region. Note that an input that produces per-atom quantities may define its own group which affects the quantities it returns. For example, if a compute is used as an input which generates a per-atom vector, it will generate values of 0.0 for atoms that are not in the group specified for that compute.</p> <p>Each listed input can be an atom attribute (position, velocity, force component) or can be the result of a <a class="reference internal" href="compute.html"><em>compute</em></a> or <a class="reference internal" href="fix.html"><em>fix</em></a> or the evaluation of an atom-style <a class="reference internal" href="variable.html"><em>variable</em></a>.</p> <p>The atom attribute values (x,y,z,vx,vy,vz,fx,fy,fz) are self-explanatory. Note that other atom attributes can be used as inputs to this fix by using the <a class="reference internal" href="compute_property_atom.html"><em>compute property/atom</em></a> command and then specifying an input value from that compute.</p> <p>If a value begins with “<a href="#id1"><span class="problematic" id="id2">c_</span></a>”, a compute ID must follow which has been previously defined in the input script. Computes can generate per-atom or local quantities. See the individual <a class="reference internal" href="compute.html"><em>compute</em></a> doc page for details. If no bracketed integer is appended, the vector calculated by the compute is used. If a bracketed integer is appended, the Ith column of the array calculated by the compute is used. Users can also write code for their own compute styles and <a class="reference internal" href="Section_modify.html"><em>add them to LAMMPS</em></a>.</p> <p>If a value begins with “<a href="#id3"><span class="problematic" id="id4">f_</span></a>”, a fix ID must follow which has been previously defined in the input script. Fixes can generate per-atom or local quantities. See the individual <a class="reference internal" href="fix.html"><em>fix</em></a> doc page for details. Note that some fixes only produce their values on certain timesteps, which must be compatible with when compute reduce references the values, else an error results. If no bracketed integer is appended, the vector calculated by the fix is used. If a bracketed integer is appended, the Ith column of the array calculated by the fix is used. Users can also write code for their own fix style and <a class="reference internal" href="Section_modify.html"><em>add them to LAMMPS</em></a>.</p> <p>If a value begins with “<a href="#id5"><span class="problematic" id="id6">v_</span></a>”, a variable name must follow which has been previously defined in the input script. It must be an <a class="reference internal" href="variable.html"><em>atom-style variable</em></a>. Atom-style variables can reference thermodynamic keywords and various per-atom attributes, or invoke other computes, fixes, or variables when they are evaluated, so this is a very general means of generating per-atom quantities to reduce.</p> <hr class="docutils" /> <p>If the <em>replace</em> keyword is used, two indices <em>vec1</em> and <em>vec2</em> are specified, where each index ranges from 1 to the # of input values. The replace keyword can only be used if the <em>mode</em> is <em>min</em> or <em>max</em>. It works as follows. A min/max is computed as usual on the <em>vec2</em> input vector. The index N of that value within <em>vec2</em> is also stored. Then, instead of performing a min/max on the <em>vec1</em> input vector, the stored index is used to select the Nth element of the <em>vec1</em> vector.</p> <p>Thus, for example, if you wish to use this compute to find the bond with maximum stretch, you can do it as follows:</p> <div class="highlight-python"><div class="highlight"><pre>compute 1 all property/local batom1 batom2 compute 2 all bond/local dist compute 3 all reduce max c_1[1] c_1[2] c_2 replace 1 3 replace 2 3 thermo_style custom step temp c_3[1] c_3[2] c_3[3] </pre></div> </div> <p>The first two input values in the compute reduce command are vectors with the IDs of the 2 atoms in each bond, using the <a class="reference internal" href="compute_property_local.html"><em>compute property/local</em></a> command. The last input value is bond distance, using the <a class="reference internal" href="compute_bond_local.html"><em>compute bond/local</em></a> command. Instead of taking the max of the two atom ID vectors, which does not yield useful information in this context, the <em>replace</em> keywords will extract the atom IDs for the two atoms in the bond of maximum stretch. These atom IDs and the bond stretch will be printed with thermodynamic output.</p> <hr class="docutils" /> <p>If a single input is specified this compute produces a global scalar value. If multiple inputs are specified, this compute produces a global vector of values, the length of which is equal to the number of inputs specified.</p> <p>As discussed below, for the <em>sum</em> and <em>sumsq</em> modes, the value(s) produced by this compute are all “extensive”, meaning their value scales linearly with the number of atoms involved. If normalized values are desired, this compute can be accessed by the <a class="reference internal" href="thermo_style.html"><em>thermo_style custom</em></a> command with <a class="reference internal" href="thermo_modify.html"><em>thermo_modify norm yes</em></a> set as an option. Or it can be accessed by a <a class="reference internal" href="variable.html"><em>variable</em></a> that divides by the appropriate atom count.</p> <hr class="docutils" /> <p><strong>Output info:</strong></p> <p>This compute calculates a global scalar if a single input value is specified or a global vector of length N where N is the number of inputs, and which can be accessed by indices 1 to N. These values can be used by any command that uses global scalar or vector values from a compute as input. See <a class="reference internal" href="Section_howto.html#howto-15"><span>Section_howto 15</span></a> for an overview of LAMMPS output options.</p> <p>All the scalar or vector values calculated by this compute are “intensive”, except when the <em>sum</em> or <em>sumsq</em> modes are used on per-atom or local vectors, in which case the calculated values are “extensive”.</p> <p>The scalar or vector values will be in whatever <a class="reference internal" href="units.html"><em>units</em></a> the quantities being reduced are in.</p> </div> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <blockquote> <div>none</div></blockquote> </div> <div class="section" id="related-commands"> <h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2> <p><a class="reference internal" href="compute.html"><em>compute</em></a>, <a class="reference internal" href="fix.html"><em>fix</em></a>, <a class="reference internal" href="variable.html"><em>variable</em></a></p> <p><strong>Default:</strong> none</p> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/compute_saed.html b/doc/compute_saed.html index 537047bd2..82ac23e10 100644 --- a/doc/compute_saed.html +++ b/doc/compute_saed.html @@ -1,364 +1,364 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>compute saed command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>compute saed command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="compute-saed-command"> <span id="index-0"></span><h1>compute saed command<a class="headerlink" href="#compute-saed-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>compute ID group-ID saed lambda type1 type2 ... typeN keyword value ... </pre></div> </div> <ul class="simple"> <li>ID, group-ID are documented in <a class="reference internal" href="compute.html"><em>compute</em></a> command</li> <li>saed = style name of this compute command</li> <li>lambda = wavelength of incident radiation (length units)</li> <li>type1 type2 ... typeN = chemical symbol of each atom type (see valid options below)</li> <li>zero or more keyword/value pairs may be appended</li> <li>keyword = <em>Kmax</em> or <em>Zone</em> or <em>dR_Ewald</em> or <em>c</em> or <em>manual</em> or <em>echo</em></li> </ul> <pre class="literal-block"> <em>Kmax</em> value = Maximum distance explored from reciprocal space origin - (inverse length units) - <em>Zone</em> values = z1 z2 z3 - z1,z2,z3 = Zone axis of incident radiation. If z1=z2=z3=0 all - reciprocal space will be meshed up to <em>Kmax</em> - <em>dR_Ewald</em> value = Thickness of Ewald sphere slice intercepting - reciprocal space (inverse length units) - <em>c</em> values = c1 c2 c3 - c1,c2,c3 = parameters to adjust the spacing of the reciprocal - lattice nodes in the h, k, and l directions respectively - <em>manual</em> = flag to use manual spacing of reciprocal lattice points - based on the values of the <em>c</em> parameters - <em>echo</em> = flag to provide extra output for debugging purposes + (inverse length units) +<em>Zone</em> values = z1 z2 z3 + z1,z2,z3 = Zone axis of incident radiation. If z1=z2=z3=0 all + reciprocal space will be meshed up to <em>Kmax</em> +<em>dR_Ewald</em> value = Thickness of Ewald sphere slice intercepting + reciprocal space (inverse length units) +<em>c</em> values = c1 c2 c3 + c1,c2,c3 = parameters to adjust the spacing of the reciprocal + lattice nodes in the h, k, and l directions respectively +<em>manual</em> = flag to use manual spacing of reciprocal lattice points + based on the values of the <em>c</em> parameters +<em>echo</em> = flag to provide extra output for debugging purposes </pre> </div> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>compute 1 all saed 0.0251 Al O Kmax 1.70 Zone 0 0 1 dR_Ewald 0.01 c 0.5 0.5 0.5 compute 2 all saed 0.0251 Ni Kmax 1.70 Zone 0 0 0 c 0.05 0.05 0.05 manual echo </pre></div> </div> <div class="highlight-python"><div class="highlight"><pre>fix saed/vtk 1 1 1 c_1 file Al2O3_001.saed fix saed/vtk 1 1 1 c_2 file Ni_000.saed </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>Define a computation that calculates electron diffraction intensity as described in <a class="reference internal" href="fix_saed_vtk.html#coleman"><span>(Coleman)</span></a> on a mesh of reciprocal lattice nodes defined by the entire simulation domain (or manually) using simulated radiation of wavelength lambda.</p> <p>The electron diffraction intensity I at each reciprocal lattice point is computed from the structure factor F using the equations:</p> <img alt="_images/compute_saed1.jpg" class="align-center" src="_images/compute_saed1.jpg" /> <img alt="_images/compute_saed2.jpg" class="align-center" src="_images/compute_saed2.jpg" /> <p>Here, K is the location of the reciprocal lattice node, rj is the position of each atom, fj are atomic scattering factors.</p> <p>Diffraction intensities are calculated on a three-dimensional mesh of reciprocal lattice nodes. The mesh spacing is defined either (a) by the entire simulation domain or (b) manually using selected values as shown in the 2D diagram below.</p> <a data-lightbox="group-default" href="_images/saed_mesh.jpg" class="" title="" data-title="" ><img src="_images/saed_mesh.jpg" class="align-center" width="25%" height="auto" alt=""/> </a><p>For a mesh defined by the simulation domain, a rectilinear grid is constructed with spacing <a href="#id1"><span class="problematic" id="id2">*</span></a>c**inv(A) along each reciprocal lattice axis. Where A are the vectors corresponding to the edges of the simulation cell. If one or two directions has non-periodic boundary conditions, then the spacing in these directions is defined from the average of the (inversed) box lengths with periodic boundary conditions. Meshes defined by the simulation domain must contain at least one periodic boundary.</p> <p>If the <em>manual</em> flag is included, the mesh of reciprocal lattice nodes will defined using the <em>c</em> values for the spacing along each reciprocal lattice axis. Note that manual mapping of the reciprocal space mesh is good for comparing diffraction results from multiple simulations; however it can reduce the likelihood that Bragg reflections will be satisfied unless small spacing parameters <0.05 Angstrom^(-1) are implemented. Meshes with manual spacing do not require a periodic boundary.</p> <p>The limits of the reciprocal lattice mesh are determined by the use of the <em>Kmax</em>, <em>Zone</em>, and <em>dR_Ewald</em> parameters. The rectilinear mesh created about the origin of reciprocal space is terminated at the boundary of a sphere of radius <em>Kmax</em> centered at the origin. If <em>Zone</em> parameters z1=z2=z3=0 are used, diffraction intensities are computed throughout the entire spherical volume - note this can greatly increase the cost of computation. Otherwise, <em>Zone</em> parameters will denote the z1=h, z2=k, and z3=l (in a global since) zone axis of an intersecting Ewald sphere. Diffraction intensities will only be computed at the intersection of the reciprocal lattice mesh and a <em>dR_Ewald</em> thick surface of the Ewald sphere. See the example 3D intestiety data and the intersection of a [010] zone axis in the below image.</p> <a data-lightbox="group-default" href="_images/saed_ewald_intersect.jpg" class="" title="" data-title="" ><img src="_images/saed_ewald_intersect.jpg" class="align-center" width="25%" height="auto" alt=""/> </a><p>The atomic scattering factors, fj, accounts for the reduction in diffraction intensity due to Compton scattering. Compute saed uses analytical approximations of the atomic scattering factors that vary for each atom type (type1 type2 ... typeN) and angle of diffraction. The analytic approximation is computed using the formula <a class="reference internal" href="#brown"><span>(Brown)</span></a>:</p> <img alt="_images/compute_saed3.jpg" class="align-center" src="_images/compute_saed3.jpg" /> <p>Coefficients parameterized by <a class="reference internal" href="#fox"><span>(Fox)</span></a> are assigned for each atom type designating the chemical symbol and charge of each atom type. Valid chemical symbols for compute saed are:</p> <dl class="docutils"> <dt>H: He: Li: Be: B:</dt> <dd><blockquote class="first"> <div>C: N: O: F: Ne:</div></blockquote> <dl class="docutils"> <dt>Na: Mg: Al: Si: P:</dt> <dd>S: Cl: Ar: K: Ca:</dd> </dl> <p class="last">Sc: Ti: V: Cr: Mn: Fe: Co: Ni: Cu: Zn: Ga: Ge: As: Se: Br: Kr: Rb: Sr: Y: Zr: Nb: Mo: Tc: Ru: Rh: Pd: Ag: Cd: In: Sn: Sb: Te: I: Xe: Cs: Ba: La: Ce: Pr: Nd: Pm: Sm: Eu: Gd: Tb: Dy: Ho: Er: Tm: Yb: Lu: Hf: Ta: W: Re: Os: Ir: Pt: Au: Hg: Tl: Pb: Bi: Po: At: Rn: Fr: Ra: Ac: Th: Pa: U: Np: Pu: Am: Cm: Bk: Cf:tb(c=5,s=:)</p> </dd> </dl> <p>If the <em>echo</em> keyword is specified, compute saed will provide extra reporting information to the screen.</p> <p><strong>Output info:</strong></p> <p>This compute calculates a global vector. The length of the vector is the number of reciprocal lattice nodes that are explored by the mesh. The entries of the global vector are the computed diffraction intensities as described above.</p> <p>The vector can be accessed by any command that uses global values from a compute as input. See <a class="reference internal" href="Section_howto.html#howto-15"><span>this section</span></a> for an overview of LAMMPS output options.</p> <p>All array values calculated by this compute are “intensive”.</p> </div> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <p>The compute_saed command does not work for triclinic cells.</p> </div> <div class="section" id="related-commands"> <h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2> <p><a class="reference internal" href="fix_saed_vtk.html"><em>fix saed_vtk</em></a>, <a class="reference internal" href="compute_xrd.html"><em>compute xrd</em></a></p> </div> <div class="section" id="default"> <h2>Default<a class="headerlink" href="#default" title="Permalink to this headline">¶</a></h2> <p>The option defaults are Kmax = 1.70, Zone 1 0 0, c 1 1 1, dR_Ewald = 0.01.</p> <hr class="docutils" /> <p id="coleman"><strong>(Coleman)</strong> Coleman, Spearot, Capolungo, MSMSE, 21, 055020 (2013).</p> <p id="brown"><strong>(Brown)</strong> Brown et al. International Tables for Crystallography Volume C: Mathematical and Chemical Tables, 554-95 (2004).</p> <p id="fox"><strong>(Fox)</strong> Fox, O’Keefe, Tabbernor, Acta Crystallogr. A, 45, 786-93 (1989).</p> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/compute_slice.html b/doc/compute_slice.html index 47f8fe571..e95ecc10c 100644 --- a/doc/compute_slice.html +++ b/doc/compute_slice.html @@ -1,290 +1,290 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>compute slice command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>compute slice command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="compute-slice-command"> <span id="index-0"></span><h1>compute slice command<a class="headerlink" href="#compute-slice-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>compute ID group-ID slice Nstart Nstop Nskip input1 input2 ... </pre></div> </div> <ul class="simple"> <li>ID, group-ID are documented in <a class="reference internal" href="compute.html"><em>compute</em></a> command</li> <li>slice = style name of this compute command</li> <li>Nstart = starting index within input vector(s)</li> <li>Nstop = stopping index within input vector(s)</li> <li>Nskip = extract every Nskip elements from input vector(s)</li> <li>input = c_ID, c_ID[N], f_ID, f_ID[N]</li> </ul> <div class="highlight-python"><div class="highlight"><pre>c_ID = global vector calculated by a compute with ID - c_ID[I] = Ith column of global array calculated by a compute with ID - f_ID = global vector calculated by a fix with ID - f_ID[I] = Ith column of global array calculated by a fix with ID +c_ID[I] = Ith column of global array calculated by a compute with ID +f_ID = global vector calculated by a fix with ID +f_ID[I] = Ith column of global array calculated by a fix with ID </pre></div> </div> </div> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>compute 1 all slice 1 100 10 c_msdmol[4] compute 1 all slice 301 400 1 c_msdmol[4] </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>Define a calculation that “slices” one or more vector inputs into smaller vectors, one per listed input. The inputs can be global quantities; they cannot be per-atom or local quantities. <a class="reference internal" href="compute.html"><em>Computes</em></a> and <a class="reference internal" href="fix.html"><em>fixes</em></a> may generate any of the three kinds of quantities. <a class="reference internal" href="variable.html"><em>Variables</em></a> do not generate global vectors. The group specified with this command is ignored.</p> <p>The values extracted from the input vector(s) are determined by the <em>Nstart</em>, <em>Nstop</em>, and <em>Nskip</em> parameters. The elements of an input vector of length N are indexed from 1 to N. Starting at element <em>Nstart</em>, every Mth element is extracted, where M = <em>Nskip</em>, until element <em>Nstop</em> is reached. The extracted quantities are stored as a vector, which is typically shorter than the input vector.</p> <p>Each listed input is operated on independently to produce one output vector. Each listed input must be a global vector or column of a global array calculated by another <a class="reference internal" href="compute.html"><em>compute</em></a> or <a class="reference internal" href="fix.html"><em>fix</em></a>.</p> <p>If an input value begins with “<a href="#id1"><span class="problematic" id="id2">c_</span></a>”, a compute ID must follow which has been previously defined in the input script and which generates a global vector or array. See the individual <a class="reference internal" href="compute.html"><em>compute</em></a> doc page for details. If no bracketed integer is appended, the vector calculated by the compute is used. If a bracketed integer is appended, the Ith column of the array calculated by the compute is used. Users can also write code for their own compute styles and <a class="reference internal" href="Section_modify.html"><em>add them to LAMMPS</em></a>.</p> <p>If a value begins with “<a href="#id3"><span class="problematic" id="id4">f_</span></a>”, a fix ID must follow which has been previously defined in the input script and which generates a global vector or array. See the individual <a class="reference internal" href="fix.html"><em>fix</em></a> doc page for details. Note that some fixes only produce their values on certain timesteps, which must be compatible with when compute slice references the values, else an error results. If no bracketed integer is appended, the vector calculated by the fix is used. If a bracketed integer is appended, the Ith column of the array calculated by the fix is used. Users can also write code for their own fix style and <a class="reference internal" href="Section_modify.html"><em>add them to LAMMPS</em></a>.</p> <p>If a single input is specified this compute produces a global vector, even if the length of the vector is 1. If multiple inputs are specified, then a global array of values is produced, with the number of columns equal to the number of inputs specified.</p> <hr class="docutils" /> <p><strong>Output info:</strong></p> <p>This compute calculates a global vector if a single input value is specified or a global array with N columns where N is the number of inputs. The length of the vector or the number of rows in the array is equal to the number of values extracted from each input vector. These values can be used by any command that uses global vector or array values from a compute as input. See <a class="reference internal" href="Section_howto.html#howto-15"><span>this section</span></a> for an overview of LAMMPS output options.</p> <p>The vector or array values calculated by this compute are simply copies of values generated by computes or fixes that are input vectors to this compute. If there is a single input vector of intensive and/or extensive values, then each value in the vector of values calculated by this compute will be “intensive” or “extensive”, depending on the corresponding input value. If there are multiple input vectors, and all the values in them are intensive, then the array values calculated by this compute are “intensive”. If there are multiple input vectors, and any value in them is extensive, then the array values calculated by this compute are “extensive”.</p> <p>The vector or array values will be in whatever <a class="reference internal" href="units.html"><em>units</em></a> the input quantities are in.</p> </div> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <blockquote> <div>none</div></blockquote> </div> <div class="section" id="related-commands"> <h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2> <p><a class="reference internal" href="compute.html"><em>compute</em></a>, <a class="reference internal" href="fix.html"><em>fix</em></a>, <a class="reference internal" href="compute_reduce.html"><em>compute reduce</em></a></p> <p><strong>Default:</strong> none</p> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/compute_sna_atom.html b/doc/compute_sna_atom.html index ca1f38bb4..840a92934 100644 --- a/doc/compute_sna_atom.html +++ b/doc/compute_sna_atom.html @@ -1,396 +1,396 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>compute sna/atom command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>compute sna/atom command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="compute-sna-atom-command"> <span id="index-0"></span><h1>compute sna/atom command<a class="headerlink" href="#compute-sna-atom-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="compute-snad-atom-command"> <h1>compute snad/atom command<a class="headerlink" href="#compute-snad-atom-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="compute-snav-atom-command"> <h1>compute snav/atom command<a class="headerlink" href="#compute-snav-atom-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>compute ID group-ID sna/atom ntypes rcutfac rfac0 twojmax R_1 R_2 ... w_1 w_2 ... keyword values ... compute ID group-ID snad/atom ntypes rcutfac rfac0 twojmax R_1 R_2 ... w_1 w_2 ... keyword values ... compute ID group-ID snav/atom ntypes rcutfac rfac0 twojmax R_1 R_2 ... w_1 w_2 ... keyword values ... </pre></div> </div> <ul class="simple"> <li>ID, group-ID are documented in <a class="reference internal" href="compute.html"><em>compute</em></a> command</li> <li>sna/atom = style name of this compute command</li> <li>rcutfac = scale factor applied to all cutoff radii (positive real)</li> <li>rfac0 = parameter in distance to angle conversion (0 < rcutfac < 1)</li> <li>twojmax = band limit for bispectrum components (non-negative integer)</li> <li>R_1, R_2,... = list of cutoff radii, one for each type (distance units)</li> <li>w_1, w_2,... = list of neighbor weights, one for each type</li> <li>zero or more keyword/value pairs may be appended</li> <li>keyword = <em>diagonal</em> or <em>rmin0</em> or <em>switchflag</em></li> </ul> <pre class="literal-block"> <em>diagonal</em> value = <em>0</em> or <em>1</em> or <em>2</em> or <em>3</em> - <em>0</em> = all j1, j2, j <= twojmax, j2 <= j1 - <em>1</em> = subset satisfying j1 == j2 - <em>2</em> = subset satisfying j1 == j2 == j3 - <em>3</em> = subset satisfying j2 <= j1 <= j - <em>rmin0</em> value = parameter in distance to angle conversion (distance units) - <em>switchflag</em> value = <em>0</em> or <em>1</em> - <em>0</em> = do not use switching function - <em>1</em> = use switching function + <em>0</em> = all j1, j2, j <= twojmax, j2 <= j1 + <em>1</em> = subset satisfying j1 == j2 + <em>2</em> = subset satisfying j1 == j2 == j3 + <em>3</em> = subset satisfying j2 <= j1 <= j +<em>rmin0</em> value = parameter in distance to angle conversion (distance units) +<em>switchflag</em> value = <em>0</em> or <em>1</em> + <em>0</em> = do not use switching function + <em>1</em> = use switching function </pre> </div> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>compute b all sna/atom 1.4 0.99363 6 2.0 2.4 0.75 1.0 diagonal 3 rmin0 0.0 compute db all sna/atom 1.4 0.95 6 2.0 1.0 compute vb all sna/atom 1.4 0.95 6 2.0 1.0 </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>Define a computation that calculates a set of bispectrum components for each atom in a group.</p> <p>Bispectrum components of an atom are order parameters characterizing the radial and angular distribution of neighbor atoms. The detailed mathematical definition is given in the paper by Thompson et al. <a class="reference internal" href="pair_snap.html#thompson2014"><span>(Thompson)</span></a></p> <p>The position of a neighbor atom <em>i’</em> relative to a central atom <em>i</em> is a point within the 3D ball of radius <em>R_ii’ = rcutfac*(R_i + R_i’)</em></p> <p>Bartok et al. <a class="reference internal" href="pair_snap.html#bartok2010"><span>(Bartok)</span></a>, proposed mapping this 3D ball onto the 3-sphere, the surface of the unit ball in a four-dimensional space. The radial distance <em>r</em> within <em>R_ii’</em> is mapped on to a third polar angle <em>theta0</em> defined by,</p> <img alt="_images/compute_sna_atom1.jpg" class="align-center" src="_images/compute_sna_atom1.jpg" /> <p>In this way, all possible neighbor positions are mapped on to a subset of the 3-sphere. Points south of the latitude <em>theta0max=rfac0*Pi</em> are excluded.</p> <p>The natural basis for functions on the 3-sphere is formed by the 4D hyperspherical harmonics <em>U^j_m,m’(theta, phi, theta0).</em> These functions are better known as <em>D^j_m,m’,</em> the elements of the Wigner <em>D</em>-matrices <a class="reference internal" href="#meremianin2006"><span>(Meremianin</span></a>, <a class="reference internal" href="#varshalovich1987"><span>Varshalovich)</span></a>.</p> <p>The density of neighbors on the 3-sphere can be written as a sum of Dirac-delta functions, one for each neighbor, weighted by species and radial distance. Expanding this density function as a generalized Fourier series in the basis functions, we can write each Fourier coefficient as</p> <img alt="_images/compute_sna_atom2.jpg" class="align-center" src="_images/compute_sna_atom2.jpg" /> <p>The <em>w_i’</em> neighbor weights are dimensionless numbers that are chosen to distinguish atoms of different types, while the central atom is arbitrarily assigned a unit weight. The function <em>fc(r)</em> ensures that the contribution of each neighbor atom goes smoothly to zero at <em>R_ii’</em>:</p> <img alt="_images/compute_sna_atom4.jpg" class="align-center" src="_images/compute_sna_atom4.jpg" /> <p>The expansion coefficients <em>u^j_m,m’</em> are complex-valued and they are not directly useful as descriptors, because they are not invariant under rotation of the polar coordinate frame. However, the following scalar triple products of expansion coefficients can be shown to be real-valued and invariant under rotation <a class="reference internal" href="pair_snap.html#bartok2010"><span>(Bartok)</span></a>.</p> <img alt="_images/compute_sna_atom3.jpg" class="align-center" src="_images/compute_sna_atom3.jpg" /> <p>The constants <em>H^jmm’_j1m1m1’_j2m2m2’</em> are coupling coefficients, analogous to Clebsch-Gordan coefficients for rotations on the 2-sphere. These invariants are the components of the bispectrum and these are the quantities calculated by the compute <em>sna/atom</em>. They characterize the strength of density correlations at three points on the 3-sphere. The j2=0 subset form the power spectrum, which characterizes the correlations of two points. The lowest-order components describe the coarsest features of the density function, while higher-order components reflect finer detail. Note that the central atom is included in the expansion, so three point-correlations can be either due to three neighbors, or two neighbors and the central atom.</p> <p>Compute <em>snad/atom</em> calculates the derivative of the bispectrum components summed separately for each atom type:</p> <img alt="_images/compute_sna_atom5.jpg" class="align-center" src="_images/compute_sna_atom5.jpg" /> <p>The sum is over all atoms <em>i’</em> of atom type <em>I</em>. For each atom <em>i</em>, this compute evaluates the above expression for each direction, each atom type, and each bispectrum component. See section below on output for a detailed explanation.</p> <p>Compute <em>snav/atom</em> calculates the virial contribution due to the derivatives:</p> <img alt="_images/compute_sna_atom6.jpg" class="align-center" src="_images/compute_sna_atom6.jpg" /> <p>Again, the sum is over all atoms <em>i’</em> of atom type <em>I</em>. For each atom <em>i</em>, this compute evaluates the above expression for each of the six virial components, each atom type, and each bispectrum component. See section below on output for a detailed explanation.</p> <p>The value of all bispectrum components will be zero for atoms not in the group. Neighbor atoms not in the group do not contribute to the bispectrum of atoms in the group.</p> <p>The neighbor list needed to compute this quantity is constructed each time the calculation is performed (i.e. each time a snapshot of atoms is dumped). Thus it can be inefficient to compute/dump this quantity too frequently.</p> <p>The argument <em>rcutfac</em> is a scale factor that controls the ratio of atomic radius to radial cutoff distance.</p> <p>The argument <em>rfac0</em> and the optional keyword <em>rmin0</em> define the linear mapping from radial distance to polar angle <em>theta0</em> on the 3-sphere.</p> <p>The argument <em>twojmax</em> and the keyword <em>diagonal</em> define which bispectrum components are generated. See section below on output for a detailed explanation of the number of bispectrum components and the ordered in which they are listed</p> <p>The keyword <em>switchflag</em> can be used to turn off the switching function.</p> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">If you have a bonded system, then the settings of <a class="reference internal" href="special_bonds.html"><em>special_bonds</em></a> command can remove pairwise interactions between atoms in the same bond, angle, or dihedral. This is the default setting for the <a class="reference internal" href="special_bonds.html"><em>special_bonds</em></a> command, and means those pairwise interactions do not appear in the neighbor list. Because this fix uses the neighbor list, it also means those pairs will not be included in the calculation. One way to get around this, is to write a dump file, and use the <a class="reference internal" href="rerun.html"><em>rerun</em></a> command to compute the bispectrum components for snapshots in the dump file. The rerun script can use a <a class="reference internal" href="special_bonds.html"><em>special_bonds</em></a> command that includes all pairs in the neighbor list.</p> </div> <p>;line</p> <p><strong>Output info:</strong></p> <p>Compute <em>sna/atom</em> calculates a per-atom array, each column corresponding to a particular bispectrum component. The total number of columns and the identities of the bispectrum component contained in each column depend on the values of <em>twojmax</em> and <em>diagonal</em>, as described by the following piece of python code:</p> <div class="highlight-python"><div class="highlight"><pre>for j1 in range(0,twojmax+1): if(diagonal==2): print j1/2,j1/2,j1/2 elif(diagonal==1): for j in range(0,min(twojmax,2*j1)+1,2): print j1/2,j1/2,j/2 elif(diagonal==0): for j2 in range(0,j1+1): for j in range(j1-j2,min(twojmax,j1+j2)+1,2): print j1/2,j2/2,j/2 elif(diagonal==3): for j2 in range(0,j1+1): for j in range(j1-j2,min(twojmax,j1+j2)+1,2): if (j>=j1): print j1/2,j2/2,j/2 </pre></div> </div> <p>Compute <em>snad/atom</em> evaluates a per-atom array. The columns are arranged into <em>ntypes</em> blocks, listed in order of atom type <em>I</em>. Each block contains three sub-blocks corresponding to the <em>x</em>, <em>y</em>, and <em>z</em> components of the atom position. Each of these sub-blocks contains one column for each bispectrum component, the same as for compute <em>sna/atom</em></p> <p>Compute <em>snav/atom</em> evaluates a per-atom array. The columns are arranged into <em>ntypes</em> blocks, listed in order of atom type <em>I</em>. Each block contains six sub-blocks corresponding to the <em>xx</em>, <em>yy</em>, <em>zz</em>, <em>yz</em>, <em>xz</em>, and <em>xy</em> components of the virial tensor in Voigt notation. Each of these sub-blocks contains one column for each bispectrum component, the same as for compute <em>sna/atom</em></p> <p>These values can be accessed by any command that uses per-atom values from a compute as input. See <a class="reference internal" href="Section_howto.html#howto-15"><span>Section_howto 15</span></a> for an overview of LAMMPS output options.</p> </div> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <p>These computes are part of the SNAP package. They are only enabled if LAMMPS was built with that package. See the <a class="reference internal" href="Section_start.html#start-3"><span>Making LAMMPS</span></a> section for more info.</p> </div> <div class="section" id="related-commands"> <h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2> <p><a class="reference internal" href="pair_snap.html"><em>pair_style snap</em></a></p> </div> <div class="section" id="default"> <h2>Default<a class="headerlink" href="#default" title="Permalink to this headline">¶</a></h2> <p>The optional keyword defaults are <em>diagonal</em> = 0, <em>rmin0</em> = 0, <em>switchflag</em> = 1.</p> <hr class="docutils" /> <p id="thompson2014"><strong>(Thompson)</strong> Thompson, Swiler, Trott, Foiles, Tucker, under review, preprint available at <a class="reference external" href="http://arxiv.org/abs/1409.3880">arXiv:1409.3880</a></p> <p id="bartok2010"><strong>(Bartok)</strong> Bartok, Payne, Risi, Csanyi, Phys Rev Lett, 104, 136403 (2010).</p> <p id="meremianin2006"><strong>(Meremianin)</strong> Meremianin, J. Phys. A, 39, 3099 (2006).</p> <p id="varshalovich1987"><strong>(Varshalovich)</strong> Varshalovich, Moskalev, Khersonskii, Quantum Theory of Angular Momentum, World Scientific, Singapore (1987).</p> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/compute_temp_asphere.html b/doc/compute_temp_asphere.html index 46080aa81..47e12a414 100644 --- a/doc/compute_temp_asphere.html +++ b/doc/compute_temp_asphere.html @@ -1,324 +1,324 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>compute temp/asphere command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>compute temp/asphere command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="compute-temp-asphere-command"> <span id="index-0"></span><h1>compute temp/asphere command<a class="headerlink" href="#compute-temp-asphere-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>compute ID group-ID temp/asphere keyword value ... </pre></div> </div> <ul class="simple"> <li>ID, group-ID are documented in <a class="reference internal" href="compute.html"><em>compute</em></a> command</li> <li>temp/asphere = style name of this compute command</li> <li>zero or more keyword/value pairs may be appended</li> <li>keyword = <em>bias</em> or <em>dof</em></li> </ul> <pre class="literal-block"> <em>bias</em> value = bias-ID - bias-ID = ID of a temperature compute that removes a velocity bias - <em>dof</em> value = <em>all</em> or <em>rotate</em> - all = compute temperature of translational and rotational degrees of freedom - rotate = compute temperature of just rotational degrees of freedom + bias-ID = ID of a temperature compute that removes a velocity bias +<em>dof</em> value = <em>all</em> or <em>rotate</em> + all = compute temperature of translational and rotational degrees of freedom + rotate = compute temperature of just rotational degrees of freedom </pre> </div> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>compute 1 all temp/asphere compute myTemp mobile temp/asphere bias tempCOM compute myTemp mobile temp/asphere dof rotate </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>Define a computation that calculates the temperature of a group of aspherical particles, including a contribution from both their translational and rotational kinetic energy. This differs from the usual <a class="reference internal" href="compute_temp.html"><em>compute temp</em></a> command, which assumes point particles with only translational kinetic energy.</p> <p>Only finite-size particles (aspherical or spherical) can be included in the group. For 3d finite-size particles, each has 6 degrees of freedom (3 translational, 3 rotational). For 2d finite-size particles, each has 3 degrees of freedom (2 translational, 1 rotational).</p> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">This choice for degrees of freedom (dof) assumes that all finite-size aspherical or spherical particles in your model will freely rotate, sampling all their rotational dof. It is possible to use a combination of interaction potentials and fixes that induce no torque or otherwise constrain some of all of your particles so that this is not the case. Then there are less dof and you should use the <a class="reference internal" href="compute_modify.html"><em>compute_modify extra</em></a> command to adjust the dof accordingly.</p> </div> <p>For example, an aspherical particle with all three of its shape parameters the same is a sphere. If it does not rotate, then it should have 3 dof instead of 6 in 3d (or 2 instead of 3 in 2d). A uniaxial aspherical particle has two of its three shape parameters the same. If it does not rotate around the axis perpendicular to its circular cross section, then it should have 5 dof instead of 6 in 3d. The latter is the case for uniaxial ellipsoids in a <a class="reference internal" href="pair_gayberne.html"><em>GayBerne model</em></a> since there is no induced torque around the optical axis. It will also be the case for biaxial ellipsoids when exactly two of the semiaxes have the same length and the corresponding relative well depths are equal.</p> <p>The translational kinetic energy is computed the same as is described by the <a class="reference internal" href="compute_temp.html"><em>compute temp</em></a> command. The rotational kinetic energy is computed as 1/2 I w^2, where I is the inertia tensor for the aspherical particle and w is its angular velocity, which is computed from its angular momentum.</p> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">For <a class="reference internal" href="dimension.html"><em>2d models</em></a>, particles are treated as ellipsoids, not ellipses, meaning their moments of inertia will be the same as in 3d.</p> </div> <p>A kinetic energy tensor, stored as a 6-element vector, is also calculated by this compute. The formula for the components of the tensor is the same as the above formula, except that v^2 and w^2 are replaced by vx*vy and wx*wy for the xy component, and the appropriate elements of the inertia tensor are used. The 6 components of the vector are ordered xx, yy, zz, xy, xz, yz.</p> <p>The number of atoms contributing to the temperature is assumed to be constant for the duration of the run; use the <em>dynamic</em> option of the <a class="reference internal" href="compute_modify.html"><em>compute_modify</em></a> command if this is not the case.</p> <p>This compute subtracts out translational degrees-of-freedom due to fixes that constrain molecular motion, such as <a class="reference internal" href="fix_shake.html"><em>fix shake</em></a> and <a class="reference internal" href="fix_rigid.html"><em>fix rigid</em></a>. This means the temperature of groups of atoms that include these constraints will be computed correctly. If needed, the subtracted degrees-of-freedom can be altered using the <em>extra</em> option of the <a class="reference internal" href="compute_modify.html"><em>compute_modify</em></a> command.</p> <p>See <a class="reference internal" href="Section_howto.html#howto-16"><span>this howto section</span></a> of the manual for a discussion of different ways to compute temperature and perform thermostatting.</p> <hr class="docutils" /> <p>The keyword/value option pairs are used in the following ways.</p> <p>For the <em>bias</em> keyword, <em>bias-ID</em> refers to the ID of a temperature compute that removes a “bias” velocity from each atom. This allows compute temp/sphere to compute its thermal temperature after the translational kinetic energy components have been altered in a prescribed way, e.g. to remove a flow velocity profile. Thermostats that use this compute will work with this bias term. See the doc pages for individual computes that calculate a temperature and the doc pages for fixes that perform thermostatting for more details.</p> <p>For the <em>dof</em> keyword, a setting of <em>all</em> calculates a temperature that includes both translational and rotational degrees of freedom. A setting of <em>rotate</em> calculates a temperature that includes only rotational degrees of freedom.</p> <hr class="docutils" /> <p><strong>Output info:</strong></p> <p>This compute calculates a global scalar (the temperature) and a global vector of length 6 (KE tensor), which can be accessed by indices 1-6. These values can be used by any command that uses global scalar or vector values from a compute as input. See <a class="reference internal" href="Section_howto.html#howto-15"><span>this section</span></a> for an overview of LAMMPS output options.</p> <p>The scalar value calculated by this compute is “intensive”. The vector values are “extensive”.</p> <p>The scalar value will be in temperature <a class="reference internal" href="units.html"><em>units</em></a>. The vector values will be in energy <a class="reference internal" href="units.html"><em>units</em></a>.</p> </div> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <p>This compute is part of the ASPHERE package. It is only enabled if LAMMPS was built with that package. See the <a class="reference internal" href="Section_start.html#start-3"><span>Making LAMMPS</span></a> section for more info.</p> <p>This compute requires that atoms store angular momementum and a quaternion as defined by the <a class="reference internal" href="atom_style.html"><em>atom_style ellipsoid</em></a> command.</p> <p>All particles in the group must be finite-size. They cannot be point particles, but they can be aspherical or spherical as defined by their shape attribute.</p> </div> <div class="section" id="related-commands"> <h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2> <p><a class="reference internal" href="compute_temp.html"><em>compute temp</em></a></p> <p><strong>Default:</strong> none</p> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/compute_temp_chunk.html b/doc/compute_temp_chunk.html index 69baa0f1c..e6705e267 100644 --- a/doc/compute_temp_chunk.html +++ b/doc/compute_temp_chunk.html @@ -1,397 +1,397 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>compute temp/chunk command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>compute temp/chunk command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="compute-temp-chunk-command"> <span id="index-0"></span><h1>compute temp/chunk command<a class="headerlink" href="#compute-temp-chunk-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>compute ID group-ID temp/chunk chunkID value1 value2 ... keyword value ... </pre></div> </div> <ul class="simple"> <li>ID, group-ID are documented in <a class="reference internal" href="compute.html"><em>compute</em></a> command</li> <li>temp/chunk = style name of this compute command</li> <li>chunkID = ID of <a class="reference internal" href="compute_chunk_atom.html"><em>compute chunk/atom</em></a> command</li> <li>zero or more values can be listed as value1,value2,etc</li> <li>value = <em>temp</em> or <em>kecom</em> or <em>internal</em></li> </ul> <div class="highlight-python"><div class="highlight"><pre>temp = temperature of each chunk - kecom = kinetic energy of each chunk based on velocity of center of mass - internal = internal kinetic energy of each chunk +kecom = kinetic energy of each chunk based on velocity of center of mass +internal = internal kinetic energy of each chunk </pre></div> </div> <ul class="simple"> <li>zero or more keyword/value pairs may be appended</li> <li>keyword = <em>com</em> or <em>bias</em> or <em>adof</em> or <em>cdof</em></li> </ul> <pre class="literal-block"> <em>com</em> value = <em>yes</em> or <em>no</em> - yes = subtract center-of-mass velocity from each chunk before calculating temperature - no = do not subtract center-of-mass velocity - <em>bias</em> value = bias-ID - bias-ID = ID of a temperature compute that removes a velocity bias - <em>adof</em> value = dof_per_atom - dof_per_atom = define this many degrees-of-freedom per atom - <em>cdof</em> value = dof_per_chunk - dof_per_chunk = define this many degrees-of-freedom per chunk + yes = subtract center-of-mass velocity from each chunk before calculating temperature + no = do not subtract center-of-mass velocity +<em>bias</em> value = bias-ID + bias-ID = ID of a temperature compute that removes a velocity bias +<em>adof</em> value = dof_per_atom + dof_per_atom = define this many degrees-of-freedom per atom +<em>cdof</em> value = dof_per_chunk + dof_per_chunk = define this many degrees-of-freedom per chunk </pre> </div> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>compute 1 fluid temp/chunk molchunk compute 1 fluid temp/chunk molchunk temp internal compute 1 fluid temp/chunk molchunk bias tpartial adof 2.0 </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>Define a computation that calculates the temperature of a group of atoms that are also in chunks, after optionally subtracting out the center-of-mass velocity of each chunk. By specifying optional values, it can also calulate the per-chunk temperature or energies of the multiple chunks of atoms.</p> <p>In LAMMPS, chunks are collections of atoms defined by a <a class="reference internal" href="compute_chunk_atom.html"><em>compute chunk/atom</em></a> command, which assigns each atom to a single chunk (or no chunk). The ID for this command is specified as chunkID. For example, a single chunk could be the atoms in a molecule or atoms in a spatial bin. See the <a class="reference internal" href="compute_chunk_atom.html"><em>compute chunk/atom</em></a> doc page and “<a class="reference internal" href="Section_howto.html#howto-23"><span>Section_howto 23</span></a> for details of how chunks can be defined and examples of how they can be used to measure properties of a system.</p> <p>The temperature is calculated by the formula KE = DOF/2 k T, where KE = total kinetic energy of all atoms assigned to chunks (sum of 1/2 m v^2), DOF = the total number of degrees of freedom for those atoms, k = Boltzmann constant, and T = temperature.</p> <p>The DOF is calculated as N*adof + Nchunk*cdof, where N = number of atoms contributing to the KE, adof = degrees of freedom per atom, and cdof = degrees of freedom per chunk. By default adof = 2 or 3 = dimensionality of system, as set via the <a class="reference internal" href="dimension.html"><em>dimension</em></a> command, and cdof = 0.0. This gives the usual formula for temperature.</p> <p>A kinetic energy tensor, stored as a 6-element vector, is also calculated by this compute for use in the computation of a pressure tensor. The formula for the components of the tensor is the same as the above formula, except that v^2 is replaced by vx*vy for the xy component, etc. The 6 components of the vector are ordered xx, yy, zz, xy, xz, yz.</p> <p>Note that the number of atoms contributing to the temperature is calculated each time the temperature is evaluated since it is assumed the atoms may be dynamically assigned to chunks. Thus there is no need to use the <em>dynamic</em> option of the <a class="reference internal" href="compute_modify.html"><em>compute_modify</em></a> command for this compute style.</p> <p>If any optional values are specified, then per-chunk quantities are also calculated and stored in a global array, as described below.</p> <p>The <em>temp</em> value calculates the temperature for each chunk by the formula KE = DOF/2 k T, where KE = total kinetic energy of the chunk of atoms (sum of 1/2 m v^2), DOF = the total number of degrees of freedom for all atoms in the chunk, k = Boltzmann constant, and T = temperature.</p> <p>The DOF in this case is calculated as N*adof + cdof, where N = number of atoms in the chunk, adof = degrees of freedom per atom, and cdof = degrees of freedom per chunk. By default adof = 2 or 3 = dimensionality of system, as set via the <a class="reference internal" href="dimension.html"><em>dimension</em></a> command, and cdof = 0.0. This gives the usual formula for temperature.</p> <p>The <em>kecom</em> value calculates the kinetic energy of each chunk as if all its atoms were moving with the velocity of the center-of-mass of the chunk.</p> <p>The <em>internal</em> value calculates the internal kinetic energy of each chunk. The interal KE is summed over the atoms in the chunk using an internal “thermal” velocity for each atom, which is its velocity minus the center-of-mass velocity of the chunk.</p> <hr class="docutils" /> <p>Note that currently the global and per-chunk temperatures calculated by this compute only include translational degrees of freedom for each atom. No rotational degrees of freedom are included for finite-size particles. Also no degrees of freedom are subtracted for any velocity bias or constraints that are applied, such as <a class="reference internal" href="compute_temp_partial.html"><em>compute temp/partial</em></a>, or <a class="reference internal" href="fix_shake.html"><em>fix shake</em></a> or <a class="reference internal" href="fix_rigid.html"><em>fix rigid</em></a>. This is because those degrees of freedom (e.g. a constrained bond) could apply to sets of atoms that are both included and excluded from a specific chunk, and hence the concept is somewhat ill-defined. In some cases, you can use the <em>adof</em> and <em>cdof</em> keywords to adjust the calculated degress of freedom appropriately, as explained below.</p> <p>Note that the per-chunk temperature calulated by this compute and the <a class="reference internal" href="fix_ave_chunk.html"><em>fix ave/chunk temp</em></a> command can be different. This compute calculates the temperature for each chunk for a single snapshot. Fix ave/chunk can do that but can also time average those values over many snapshots, or it can compute a temperature as if the atoms in the chunk on different timesteps were collected together as one set of atoms to calculate their temperature. This compute allows the center-of-mass velocity of each chunk to be subtracted before calculating the temperature; fix ave/chunk does not.</p> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">Only atoms in the specified group contribute to the calculations performed by this compute. The <a class="reference internal" href="compute_chunk_atom.html"><em>compute chunk/atom</em></a> command defines its own group; atoms will have a chunk ID = 0 if they are not in that group, signifying they are not assigned to a chunk, and will thus also not contribute to this calculation. You can specify the “all” group for this command if you simply want to include atoms with non-zero chunk IDs.</p> </div> <p>The simplest way to output the per-chunk results of the compute temp/chunk calculation to a file is to use the <a class="reference internal" href="fix_ave_time.html"><em>fix ave/time</em></a> command, for example:</p> <div class="highlight-python"><div class="highlight"><pre>compute cc1 all chunk/atom molecule compute myChunk all temp/chunk cc1 temp fix 1 all ave/time 100 1 100 c_myChunk file tmp.out mode vector </pre></div> </div> <hr class="docutils" /> <p>The keyword/value option pairs are used in the following ways.</p> <p>The <em>com</em> keyword can be used with a value of <em>yes</em> to subtract the velocity of the center-of-mass for each chunk from the velocity of the atoms in that chunk, before calculating either the global or per-chunk temperature. This can be useful if the atoms are streaming or otherwise moving collectively, and you wish to calculate only the thermal temperature.</p> <p>For the <em>bias</em> keyword, <em>bias-ID</em> refers to the ID of a temperature compute that removes a “bias” velocity from each atom. This also allows calculation of the global or per-chunk temperature using only the thermal temperature of atoms in each chunk after the translational kinetic energy components have been altered in a prescribed way, e.g. to remove a velocity profile. It also applies to the calculation of the other per-chunk values, such as <em>kecom</em> or <em>internal</em>, which involve the center-of-mass velocity of each chunk, which is calculated after the velocity bias is removed from each atom. Note that the temperature compute will apply its bias globally to the entire system, not on a per-chunk basis.</p> <p>The <em>adof</em> and <em>cdof</em> keywords define the values used in the degree of freedom (DOF) formulas used for the global or per-chunk temperature, as described above. They can be used to calculate a more appropriate temperature for some kinds of chunks. Here are 3 examples:</p> <p>If spatially binned chunks contain some number of water molecules and <a class="reference internal" href="fix_shake.html"><em>fix shake</em></a> is used to make each molecule rigid, then you could calculate a temperature with 6 degrees of freedom (DOF) (3 translational, 3 rotational) per molecule by setting <em>adof</em> to 2.0.</p> <p>If <a class="reference internal" href="compute_temp_partial.html"><em>compute temp/partial</em></a> is used with the <em>bias</em> keyword to only allow the x component of velocity to contribute to the temperature, then <em>adof</em> = 1.0 would be appropriate.</p> <p>If each chunk consists of a large molecule, with some number of its bonds constrained by <a class="reference internal" href="fix_shake.html"><em>fix shake</em></a> or the entire molecule by <a class="reference internal" href="fix_rigid.html"><em>fix rigid/small</em></a>, <em>adof</em> = 0.0 and <em>cdof</em> could be set to the remaining degrees of freedom for the entire molecule (entire chunk in this case), e.g. 6 for 3d, or 3 for 2d, for a rigid molecule.</p> <hr class="docutils" /> <p><strong>Output info:</strong></p> <p>This compute calculates a global scalar (the temperature) and a global vector of length 6 (KE tensor), which can be accessed by indices 1-6. These values can be used by any command that uses global scalar or vector values from a compute as input. See <a class="reference internal" href="Section_howto.html#howto-15"><span>this section</span></a> for an overview of LAMMPS output options.</p> <p>This compute also optionally calculates a global array, if one or more of the optional values are specified. The number of rows in the array = the number of chunks <em>Nchunk</em> as calculated by the specified <a class="reference internal" href="compute_chunk_atom.html"><em>compute chunk/atom</em></a> command. The number of columns is the number of specifed values (1 or more). These values can be accessed by any command that uses global array values from a compute as input. Again, see <a class="reference internal" href="Section_howto.html#howto-15"><span>Section_howto 15</span></a> for an overview of LAMMPS output options.</p> <p>The scalar value calculated by this compute is “intensive”. The vector values are “extensive”. The array values are “intensive”.</p> <p>The scalar value will be in temperature <a class="reference internal" href="units.html"><em>units</em></a>. The vector values will be in energy <a class="reference internal" href="units.html"><em>units</em></a>. The array values will be in temperature <a class="reference internal" href="units.html"><em>units</em></a> for the <em>temp</em> value, and in energy <a class="reference internal" href="units.html"><em>units</em></a> for the <em>kecom</em> and <em>internal</em> values.</p> </div> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <p>The <em>com</em> and <em>bias</em> keywords cannot be used together.</p> </div> <div class="section" id="related-commands"> <h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2> <p><a class="reference internal" href="compute_temp.html"><em>compute temp</em></a>, <a class="reference internal" href="fix_ave_chunk.html"><em>fix ave/chunk temp</em></a></p> </div> <div class="section" id="default"> <h2>Default<a class="headerlink" href="#default" title="Permalink to this headline">¶</a></h2> <p>The option defaults are com no, no bias, adof = dimensionality of the system (2 or 3), and cdof = 0.0.</p> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/compute_temp_profile.html b/doc/compute_temp_profile.html index e8ad060ae..863bc1641 100644 --- a/doc/compute_temp_profile.html +++ b/doc/compute_temp_profile.html @@ -1,352 +1,352 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>compute temp/profile command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>compute temp/profile command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="compute-temp-profile-command"> <span id="index-0"></span><h1>compute temp/profile command<a class="headerlink" href="#compute-temp-profile-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>compute ID group-ID temp/profile xflag yflag zflag binstyle args </pre></div> </div> <ul class="simple"> <li>ID, group-ID are documented in <a class="reference internal" href="compute.html"><em>compute</em></a> command</li> <li>temp/profile = style name of this compute command</li> <li>xflag,yflag,zflag = 0/1 for whether to exclude/include this dimension</li> <li>binstyle = <em>x</em> or <em>y</em> or <em>z</em> or <em>xy</em> or <em>yz</em> or <em>xz</em> or <em>xyz</em></li> </ul> <pre class="literal-block"> <em>x</em> arg = Nx - <em>y</em> arg = Ny - <em>z</em> arg = Nz - <em>xy</em> args = Nx Ny - <em>yz</em> args = Ny Nz - <em>xz</em> args = Nx Nz - <em>xyz</em> args = Nx Ny Nz - Nx,Ny,Nz = number of velocity bins in x,y,z dimensions +<em>y</em> arg = Ny +<em>z</em> arg = Nz +<em>xy</em> args = Nx Ny +<em>yz</em> args = Ny Nz +<em>xz</em> args = Nx Nz +<em>xyz</em> args = Nx Ny Nz + Nx,Ny,Nz = number of velocity bins in x,y,z dimensions </pre> <ul class="simple"> <li>zero or more keyword/value pairs may be appended</li> <li>keyword = <em>out</em></li> </ul> <pre class="literal-block"> <em>out</em> value = <em>tensor</em> or <em>bin</em> </pre> </div> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>compute myTemp flow temp/profile 1 1 1 x 10 compute myTemp flow temp/profile 1 1 1 x 10 out bin compute myTemp flow temp/profile 0 1 1 xyz 20 20 20 </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>Define a computation that calculates the temperature of a group of atoms, after subtracting out a spatially-averaged center-of-mass velocity field, before computing the kinetic energy. This can be useful for thermostatting a collection of atoms undergoing a complex flow, e.g. via a profile-unbiased thermostat (PUT) as described in <a class="reference internal" href="fix_nvt_sllod.html#evans"><span>(Evans)</span></a>. A compute of this style can be used by any command that computes a temperature, e.g. <a class="reference internal" href="thermo_modify.html"><em>thermo_modify</em></a>, <a class="reference internal" href="fix_temp_rescale.html"><em>fix temp/rescale</em></a>, <a class="reference internal" href="fix_nh.html"><em>fix npt</em></a>, etc.</p> <p>The <em>xflag</em>, <em>yflag</em>, <em>zflag</em> settings determine which components of average velocity are subtracted out.</p> <p>The <em>binstyle</em> setting and its <em>Nx</em>, <em>Ny</em>, <em>Nz</em> arguments determine how bins are setup to perform spatial averaging. “Bins” can be 1d slabs, 2d pencils, or 3d bricks depending on which <em>binstyle</em> is used. The simulation box is partitioned conceptually into <em>Nx</em> by <em>Ny</em> by <em>Nz</em> bins. Depending on the <em>binstyle</em>, you may only specify one or two of these values; the others are effectively set to 1 (no binning in that dimension). For non-orthogonal (triclinic) simulation boxes, the bins are “tilted” slabs or pencils or bricks that are parallel to the tilted faces of the box. See the <a class="reference internal" href="region.html"><em>region prism</em></a> command for a discussion of the geometry of tilted boxes in LAMMPS.</p> <p>When a temperature is computed, the center-of-mass velocity for the set of atoms that are both in the compute group and in the same spatial bin is calculated. This bias velocity is then subtracted from the velocities of individual atoms in the bin to yield a thermal velocity for each atom. Note that if there is only one atom in the bin, its thermal velocity will thus be 0.0.</p> <p>After the spatially-averaged velocity field has been subtracted from each atom, the temperature is calculated by the formula KE = (dim/2 N - dim*Nx*Ny*Nz) k T, where KE = total kinetic energy of the group of atoms (sum of 1/2 m v^2), dim = 2 or 3 = dimensionality of the simulation, N = number of atoms in the group, k = Boltzmann constant, and T = temperature. The dim*Nx*Ny*Nz term are degrees of freedom subtracted to adjust for the removal of the center-of-mass velocity in each of Nx*Ny*Nz bins, as discussed in the <a class="reference internal" href="fix_nvt_sllod.html#evans"><span>(Evans)</span></a> paper.</p> <p>If the <em>out</em> keyword is used with a <em>tensor</em> value, which is the default, a kinetic energy tensor, stored as a 6-element vector, is also calculated by this compute for use in the computation of a pressure tensor. The formula for the components of the tensor is the same as the above formula, except that v^2 is replaced by vx*vy for the xy component, etc. The 6 components of the vector are ordered xx, yy, zz, xy, xz, yz.</p> <p>If the <em>out</em> keyword is used with a <em>bin</em> value, the count of atoms and computed temperature for each bin are stored for output, as an array of values, as described below. The temperature of each bin is calculated as described above, where the bias velocity is subtracted and only the remaining thermal velocity of atoms in the bin contributes to the temperature. See the note below for how the temperature is normalized by the degrees-of-freedom of atoms in the bin.</p> <p>The number of atoms contributing to the temperature is assumed to be constant for the duration of the run; use the <em>dynamic</em> option of the <a class="reference internal" href="compute_modify.html"><em>compute_modify</em></a> command if this is not the case.</p> <p>The removal of the spatially-averaged velocity field by this fix is essentially computing the temperature after a “bias” has been removed from the velocity of the atoms. If this compute is used with a fix command that performs thermostatting then this bias will be subtracted from each atom, thermostatting of the remaining thermal velocity will be performed, and the bias will be added back in. Thermostatting fixes that work in this way include <a class="reference internal" href="fix_nh.html"><em>fix nvt</em></a>, <a class="reference internal" href="fix_temp_rescale.html"><em>fix temp/rescale</em></a>, <a class="reference internal" href="fix_temp_berendsen.html"><em>fix temp/berendsen</em></a>, and <a class="reference internal" href="fix_langevin.html"><em>fix langevin</em></a>.</p> <p>This compute subtracts out degrees-of-freedom due to fixes that constrain molecular motion, such as <a class="reference internal" href="fix_shake.html"><em>fix shake</em></a> and <a class="reference internal" href="fix_rigid.html"><em>fix rigid</em></a>. This means the temperature of groups of atoms that include these constraints will be computed correctly. If needed, the subtracted degrees-of-freedom can be altered using the <em>extra</em> option of the <a class="reference internal" href="compute_modify.html"><em>compute_modify</em></a> command.</p> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">When using the <em>out</em> keyword with a value of <em>bin</em>, the calculated temperature for each bin does not include the degrees-of-freedom adjustment described in the preceeding paragraph, for fixes that constrain molecular motion. It does include the adjustment due to the <em>extra</em> option, which is applied to each bin.</p> </div> <p>See <a class="reference internal" href="Section_howto.html#howto-16"><span>this howto section</span></a> of the manual for a discussion of different ways to compute temperature and perform thermostatting. Using this compute in conjunction with a thermostatting fix, as explained there, will effectively implement a profile-unbiased thermostat (PUT), as described in <a class="reference internal" href="fix_nvt_sllod.html#evans"><span>(Evans)</span></a>.</p> <p><strong>Output info:</strong></p> <p>This compute calculates a global scalar (the temperature). Depending on the setting of the <em>out</em> keyword, it also calculates a global vector or array. For <em>out</em> = <em>tensor</em>, it calculates a vector of length 6 (KE tensor), which can be accessed by indices 1-6. For <em>out</em> = <em>bin</em> it calculates a global array which has 2 columns and N rows, where N is the number of bins. The first column contains the number of atoms in that bin. The second contains the temperature of that bin, calculated as described above. The ordering of rows in the array is as follows. Bins in x vary fastest, then y, then z. Thus for a 10x10x10 3d array of bins, there will be 1000 rows. The bin with indices ix,iy,iz = 2,3,4 would map to row M = (iz-1)*10*10 + (iy-1)*10 + ix = 322, where the rows are numbered from 1 to 1000 and the bin indices are numbered from 1 to 10 in each dimension.</p> <p>These values can be used by any command that uses global scalar or vector or array values from a compute as input. See <a class="reference internal" href="Section_howto.html#howto-15"><span>this section</span></a> for an overview of LAMMPS output options.</p> <p>The scalar value calculated by this compute is “intensive”. The vector values are “extensive”. The array values are “intensive”.</p> <p>The scalar value will be in temperature <a class="reference internal" href="units.html"><em>units</em></a>. The vector values will be in energy <a class="reference internal" href="units.html"><em>units</em></a>. The first column of array values are counts; the values in the second column will be in temperature <a class="reference internal" href="units.html"><em>units</em></a>.</p> </div> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <p>You should not use too large a velocity-binning grid, especially in 3d. In the current implementation, the binned velocity averages are summed across all processors, so this will be inefficient if the grid is too large, and the operation is performed every timestep, as it will be for most thermostats.</p> </div> <div class="section" id="related-commands"> <h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2> <p><a class="reference internal" href="compute_temp.html"><em>compute temp</em></a>, <a class="reference internal" href="compute_temp_ramp.html"><em>compute temp/ramp</em></a>, <a class="reference internal" href="compute_temp_deform.html"><em>compute temp/deform</em></a>, <a class="reference internal" href="compute_pressure.html"><em>compute pressure</em></a></p> </div> <div class="section" id="default"> <h2>Default<a class="headerlink" href="#default" title="Permalink to this headline">¶</a></h2> <p>The option default is out = tensor.</p> <hr class="docutils" /> <p id="evans"><strong>(Evans)</strong> Evans and Morriss, Phys Rev Lett, 56, 2172-2175 (1986).</p> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/compute_temp_sphere.html b/doc/compute_temp_sphere.html index c08fa3f9a..9ab859208 100644 --- a/doc/compute_temp_sphere.html +++ b/doc/compute_temp_sphere.html @@ -1,312 +1,312 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>compute temp/sphere command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>compute temp/sphere command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="compute-temp-sphere-command"> <span id="index-0"></span><h1>compute temp/sphere command<a class="headerlink" href="#compute-temp-sphere-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>compute ID group-ID temp/sphere keyword value ... </pre></div> </div> <ul class="simple"> <li>ID, group-ID are documented in <a class="reference internal" href="compute.html"><em>compute</em></a> command</li> <li>temp/sphere = style name of this compute command</li> <li>zero or more keyword/value pairs may be appended</li> <li>keyword = <em>bias</em> or <em>dof</em></li> </ul> <pre class="literal-block"> <em>bias</em> value = bias-ID - bias-ID = ID of a temperature compute that removes a velocity bias - <em>dof</em> value = <em>all</em> or <em>rotate</em> - all = compute temperature of translational and rotational degrees of freedom - rotate = compute temperature of just rotational degrees of freedom + bias-ID = ID of a temperature compute that removes a velocity bias +<em>dof</em> value = <em>all</em> or <em>rotate</em> + all = compute temperature of translational and rotational degrees of freedom + rotate = compute temperature of just rotational degrees of freedom </pre> </div> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>compute 1 all temp/sphere compute myTemp mobile temp/sphere bias tempCOM compute myTemp mobile temp/sphere dof rotate </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>Define a computation that calculates the temperature of a group of spherical particles, including a contribution from both their translational and rotational kinetic energy. This differs from the usual <a class="reference internal" href="compute_temp.html"><em>compute temp</em></a> command, which assumes point particles with only translational kinetic energy.</p> <p>Both point and finite-size particles can be included in the group. Point particles do not rotate, so they have only 3 translational degrees of freedom. For 3d spherical particles, each has 6 degrees of freedom (3 translational, 3 rotational). For 2d spherical particles, each has 3 degrees of freedom (2 translational, 1 rotational).</p> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">This choice for degrees of freedom (dof) assumes that all finite-size spherical particles in your model will freely rotate, sampling all their rotational dof. It is possible to use a combination of interaction potentials and fixes that induce no torque or otherwise constrain some of all of your particles so that this is not the case. Then there are less dof and you should use the <a class="reference internal" href="compute_modify.html"><em>compute_modify extra</em></a> command to adjust the dof accordingly.</p> </div> <p>The translational kinetic energy is computed the same as is described by the <a class="reference internal" href="compute_temp.html"><em>compute temp</em></a> command. The rotational kinetic energy is computed as 1/2 I w^2, where I is the moment of inertia for a sphere and w is the particle’s angular velocity.</p> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">For <a class="reference internal" href="dimension.html"><em>2d models</em></a>, particles are treated as spheres, not disks, meaning their moment of inertia will be the same as in 3d.</p> </div> <p>A kinetic energy tensor, stored as a 6-element vector, is also calculated by this compute. The formula for the components of the tensor is the same as the above formulas, except that v^2 and w^2 are replaced by vx*vy and wx*wy for the xy component. The 6 components of the vector are ordered xx, yy, zz, xy, xz, yz.</p> <p>The number of atoms contributing to the temperature is assumed to be constant for the duration of the run; use the <em>dynamic</em> option of the <a class="reference internal" href="compute_modify.html"><em>compute_modify</em></a> command if this is not the case.</p> <p>This compute subtracts out translational degrees-of-freedom due to fixes that constrain molecular motion, such as <a class="reference internal" href="fix_shake.html"><em>fix shake</em></a> and <a class="reference internal" href="fix_rigid.html"><em>fix rigid</em></a>. This means the temperature of groups of atoms that include these constraints will be computed correctly. If needed, the subtracted degrees-of-freedom can be altered using the <em>extra</em> option of the <a class="reference internal" href="compute_modify.html"><em>compute_modify</em></a> command.</p> <p>See <a class="reference internal" href="Section_howto.html#howto-16"><span>this howto section</span></a> of the manual for a discussion of different ways to compute temperature and perform thermostatting.</p> <hr class="docutils" /> <p>The keyword/value option pairs are used in the following ways.</p> <p>For the <em>bias</em> keyword, <em>bias-ID</em> refers to the ID of a temperature compute that removes a “bias” velocity from each atom. This allows compute temp/sphere to compute its thermal temperature after the translational kinetic energy components have been altered in a prescribed way, e.g. to remove a flow velocity profile. Thermostats that use this compute will work with this bias term. See the doc pages for individual computes that calculate a temperature and the doc pages for fixes that perform thermostatting for more details.</p> <p>For the <em>dof</em> keyword, a setting of <em>all</em> calculates a temperature that includes both translational and rotational degrees of freedom. A setting of <em>rotate</em> calculates a temperature that includes only rotational degrees of freedom.</p> <hr class="docutils" /> <p><strong>Output info:</strong></p> <p>This compute calculates a global scalar (the temperature) and a global vector of length 6 (KE tensor), which can be accessed by indices 1-6. These values can be used by any command that uses global scalar or vector values from a compute as input. See <a class="reference internal" href="Section_howto.html#howto-15"><span>this section</span></a> for an overview of LAMMPS output options.</p> <p>The scalar value calculated by this compute is “intensive”. The vector values are “extensive”.</p> <p>The scalar value will be in temperature <a class="reference internal" href="units.html"><em>units</em></a>. The vector values will be in energy <a class="reference internal" href="units.html"><em>units</em></a>.</p> </div> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <p>This fix requires that atoms store torque and angular velocity (omega) and a radius as defined by the <a class="reference internal" href="atom_style.html"><em>atom_style sphere</em></a> command.</p> <p>All particles in the group must be finite-size spheres, or point particles with radius = 0.0.</p> </div> <div class="section" id="related-commands"> <h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2> <p><a class="reference internal" href="compute_temp.html"><em>compute temp</em></a>, <a class="reference internal" href="compute_temp.html"><em>compute temp/asphere</em></a></p> </div> <div class="section" id="default"> <h2>Default<a class="headerlink" href="#default" title="Permalink to this headline">¶</a></h2> <p>The option defaults are no bias and dof = all.</p> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/compute_ti.html b/doc/compute_ti.html index 7cf079966..d5dd5c072 100644 --- a/doc/compute_ti.html +++ b/doc/compute_ti.html @@ -1,307 +1,307 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>compute ti command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>compute ti command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="compute-ti-command"> <span id="index-0"></span><h1>compute ti command<a class="headerlink" href="#compute-ti-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>compute ID group ti keyword args ... </pre></div> </div> <ul class="simple"> <li>ID, group-ID are documented in <a class="reference internal" href="compute.html"><em>compute</em></a> command</li> <li>ti = style name of this compute command</li> <li>one or more attribute/arg pairs may be appended</li> <li>keyword = pair style (lj/cut, gauss, born, etc) or <em>tail</em> or <em>kspace</em></li> </ul> <pre class="literal-block"> pair style args = atype v_name1 v_name2 - atype = atom type (see asterisk form below) - v_name1 = variable with name1 that is energy scale factor and function of lambda - v_name2 = variable with name2 that is derivative of v_name1 with respect to lambda - <em>tail</em> args = atype v_name1 v_name2 - atype = atom type (see asterisk form below) - v_name1 = variable with name1 that is energy tail correction scale factor and function of lambda - v_name2 = variable with name2 that is derivative of v_name1 with respect to lambda - <em>kspace</em> args = atype v_name1 v_name2 - atype = atom type (see asterisk form below) - v_name1 = variable with name1 that is K-Space scale factor and function of lambda - v_name2 = variable with name2 that is derivative of v_name1 with respect to lambda + atype = atom type (see asterisk form below) + v_name1 = variable with name1 that is energy scale factor and function of lambda + v_name2 = variable with name2 that is derivative of v_name1 with respect to lambda +<em>tail</em> args = atype v_name1 v_name2 + atype = atom type (see asterisk form below) + v_name1 = variable with name1 that is energy tail correction scale factor and function of lambda + v_name2 = variable with name2 that is derivative of v_name1 with respect to lambda +<em>kspace</em> args = atype v_name1 v_name2 + atype = atom type (see asterisk form below) + v_name1 = variable with name1 that is K-Space scale factor and function of lambda + v_name2 = variable with name2 that is derivative of v_name1 with respect to lambda </pre> </div> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>compute 1 all ti lj/cut 1 v_lj v_dlj coul/long 2 v_c v_dc kspace 1 v_ks v_dks compute 1 all ti lj/cut 1*3 v_lj v_dlj coul/long * v_c v_dc kspace * v_ks v_dks </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>Define a computation that calculates the derivative of the interaction potential with respect to <em>lambda</em>, the coupling parameter used in a thermodynamic integration. This derivative can be used to infer a free energy difference resulting from an alchemical simulation, as described in <a class="reference internal" href="#eike"><span>Eike</span></a>.</p> <p>Typically this compute will be used in conjunction with the <a class="reference internal" href="fix_adapt.html"><em>fix adapt</em></a> command which can perform alchemical transformations by adusting the strength of an interaction potential as a simulation runs, as defined by one or more <a class="reference internal" href="pair_style.html"><em>pair_style</em></a> or <a class="reference internal" href="kspace_style.html"><em>kspace_style</em></a> commands. This scaling is done via a prefactor on the energy, forces, virial calculated by the pair or K-Space style. The prefactor is often a function of a <em>lambda</em> parameter which may be adjusted from 0 to 1 (or vice versa) over the course of a <a class="reference internal" href="run.html"><em>run</em></a>. The time-dependent adjustment is what the <a class="reference internal" href="fix_adapt.html"><em>fix adapt</em></a> command does.</p> <p>Assume that the unscaled energy of a pair_style or kspace_style is given by U. Then the scaled energy is</p> <div class="highlight-python"><div class="highlight"><pre>Us = f(lambda) U </pre></div> </div> <p>where f() is some function of lambda. What this compute calculates is</p> <div class="highlight-python"><div class="highlight"><pre>dUs / d(lambda) = U df(lambda)/dlambda = Us / f(lambda) df(lambda)/dlambda </pre></div> </div> <p>which is the derivative of the system’s scaled potential energy Us with respect to <em>lambda</em>.</p> <p>To perform this calculation, you provide one or more atom types as <em>atype</em>. <em>Atype</em> can be specified in one of two ways. An explicit numeric values can be used, as in the 1st example above. Or a wildcard asterisk can be used in place of or in conjunction with the <em>atype</em> argument to select multiple atom types. This takes the form “*” or “<em>n” or “n</em>” or “m*n”. If N = the number of atom types, then an asterisk with no numeric values means all types from 1 to N. A leading asterisk means all types from 1 to n (inclusive). A trailing asterisk means all types from n to N (inclusive). A middle asterisk means all types from m to n (inclusive).</p> <p>You also specify two functions, as <a class="reference internal" href="variable.html"><em>equal-style variables</em></a>. The first is specified as <em>v_name1</em>, where <em>name1</em> is the name of the variable, and is f(lambda) in the notation above. The second is specified as <em>v_name2</em>, where <em>name2</em> is the name of the variable, and is df(lambda) / dlambda in the notation above. I.e. it is the analytic derivative of f() with respect to lambda. Note that the <em>name1</em> variable is also typically given as an argument to the <a class="reference internal" href="fix_adapt.html"><em>fix adapt</em></a> command.</p> <p>An alchemical simulation may use several pair potentials together, invoked via the <a class="reference internal" href="pair_hybrid.html"><em>pair_style hybrid or hybrid/overlay</em></a> command. The total dUs/dlambda for the overall system is calculated as the sum of each contributing term as listed by the keywords in the compute ti command. Individual pair potentials can be listed, which will be sub-styles in the hybrid case. You can also include a K-space term via the <em>kspace</em> keyword. You can also include a pairwise long-range tail correction to the energy via the <em>tail</em> keyword.</p> <p>For each term you can specify a different (or the same) scale factor by the two variables that you list. Again, these will typically correspond toe the scale factors applied to these various potentials and the K-Space contribution via the <a class="reference internal" href="fix_adapt.html"><em>fix_adapt</em></a> command.</p> <p>More details about the exact functional forms for the computation of du/dl can be found in the paper by <a class="reference internal" href="#eike"><span>Eike</span></a>.</p> <hr class="docutils" /> <p><strong>Output info:</strong></p> <p>This compute calculates a global scalar, namely dUs/dlambda. This value can be used by any command that uses a global scalar value from a compute as input. See <a class="reference internal" href="Section_howto.html#howto-15"><span>Section_howto 15</span></a> for an overview of LAMMPS output options.</p> <p>The scalar value calculated by this compute is “extensive”.</p> <p>The scalar value will be in energy <a class="reference internal" href="units.html"><em>units</em></a>.</p> </div> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <p>This compute is part of the MISC package. It is only enabled if LAMMPS was built with that package. See the <a class="reference internal" href="Section_start.html#start-3"><span>Making LAMMPS</span></a> section for more info.</p> </div> <div class="section" id="related-commands"> <h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2> <p><a class="reference internal" href="fix_adapt.html"><em>fix adapt</em></a></p> <p><strong>Default:</strong> none</p> <hr class="docutils" /> <p id="eike"><strong>(Eike)</strong> Eike and Maginn, Journal of Chemical Physics, 124, 164503 (2006).</p> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/compute_voronoi_atom.html b/doc/compute_voronoi_atom.html index 5e8d8e2b5..174502a1f 100644 --- a/doc/compute_voronoi_atom.html +++ b/doc/compute_voronoi_atom.html @@ -1,348 +1,348 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>compute voronoi/atom command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>compute voronoi/atom command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="compute-voronoi-atom-command"> <span id="index-0"></span><h1>compute voronoi/atom command<a class="headerlink" href="#compute-voronoi-atom-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>compute ID group-ID voronoi/atom keyword arg ... </pre></div> </div> <ul class="simple"> <li>ID, group-ID are documented in <a class="reference internal" href="compute.html"><em>compute</em></a> command</li> <li>voronoi/atom = style name of this compute command</li> <li>zero or more keyword/value pairs may be appended</li> <li>keyword = <em>only_group</em> or <em>surface</em> or <em>radius</em> or <em>edge_histo</em> or <em>edge_threshold</em> or <em>face_threshold</em></li> </ul> <pre class="literal-block"> <em>only_group</em> = no arg - <em>occupation</em> = no arg - <em>surface</em> arg = sgroup-ID - sgroup-ID = compute the dividing surface between group-ID and sgroup-ID - this keyword adds a third column to the compute output - <em>radius</em> arg = v_r - v_r = radius atom style variable for a poly-disperse Voronoi tessellation - <em>edge_histo</em> arg = maxedge - maxedge = maximum number of Voronoi cell edges to be accounted in the histogram - <em>edge_threshold</em> arg = minlength - minlength = minimum length for an edge to be counted - <em>face_threshold</em> arg = minarea - minarea = minimum area for a face to be counted +<em>occupation</em> = no arg +<em>surface</em> arg = sgroup-ID + sgroup-ID = compute the dividing surface between group-ID and sgroup-ID + this keyword adds a third column to the compute output +<em>radius</em> arg = v_r + v_r = radius atom style variable for a poly-disperse Voronoi tessellation +<em>edge_histo</em> arg = maxedge + maxedge = maximum number of Voronoi cell edges to be accounted in the histogram +<em>edge_threshold</em> arg = minlength + minlength = minimum length for an edge to be counted +<em>face_threshold</em> arg = minarea + minarea = minimum area for a face to be counted </pre> </div> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>compute 1 all voronoi/atom compute 2 precipitate voronoi/atom surface matrix compute 3b precipitate voronoi/atom radius v_r compute 4 solute voronoi/atom only_group </pre></div> </div> <div class="highlight-python"><div class="highlight"><pre>compute 5 defects voronoi/atom occupation </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>Define a computation that calculates the Voronoi tessellation of the atoms in the simulation box. The tessellation is calculated using all atoms in the simulation, but non-zero values are only stored for atoms in the group.</p> <p>By default two quantities per atom are calculated by this compute. The first is the volume of the Voronoi cell around each atom. Any point in an atom’s Voronoi cell is closer to that atom than any other. The second is the number of faces of the Voronoi cell, which is also the number of nearest neighbors of the atom in the middle of the cell.</p> <hr class="docutils" /> <p>If the <em>only_group</em> keyword is specified the tessellation is performed only with respect to the atoms contained in the compute group. This is equivalent to deleting all atoms not contained in the group prior to evaluating the tessellation.</p> <p>If the <em>surface</em> keyword is specified a third quantity per atom is computed: the Voronoi cell surface of the given atom. <em>surface</em> takes a group ID as an argument. If a group other than <em>all</em> is specified, only the Voronoi cell facets facing a neighbor atom from the specified group are counted towards the surface area.</p> <p>In the example above, a precipitate embedded in a matrix, only atoms at the surface of the precipitate will have non-zero surface area, and only the outward facing facets of the Voronoi cells are counted (the hull of the precipitate). The total surface area of the precipitate can be obtained by running a “reduce sum” compute on c_2[3]</p> <p>If the <em>radius</em> keyword is specified with an atom style variable as the argument, a poly-disperse Voronoi tessellation is performed. Examples for radius variables are</p> <div class="highlight-python"><div class="highlight"><pre>variable r1 atom (type==1)*0.1+(type==2)*0.4 compute radius all property/atom radius variable r2 atom c_radius </pre></div> </div> <p>Here v_r1 specifies a per-type radius of 0.1 units for type 1 atoms and 0.4 units for type 2 atoms, and v_r2 accesses the radius property present in atom_style sphere for granular models.</p> <p>The <em>edge_histo</em> keyword activates the compilation of a histogram of number of edges on the faces of the Voronoi cells in the compute group. The argument maxedge of the this keyword is the largest number of edges on a single Voronoi cell face expected to occur in the sample. This keyword adds the generation of a global vector with maxedge+1 entries. The last entry in the vector contains the number of faces with with more than maxedge edges. Since the polygon with the smallest amount of edges is a triangle, entries 1 and 2 of the vector will always be zero.</p> <p>The <em>edge_threshold</em> and <em>face_threshold</em> keywords allow the suppression of edges below a given minimum length and faces below a given minimum area. Ultra short edges and ultra small faces can occur as artifacts of the Voronoi tessellation. These keywords will affect the neighbor count and edge histogram outputs.</p> <p>If the <em>occupation</em> keyword is specified the tessellation is only performed for the first invocation of the compute and then stored. For all following invocations of the compute the number of atoms in each Voronoi cell in the stored tessellation is counted. In this mode the compute returns a per-atom array with 2 columns. The first column is the number of atoms currently in the Voronoi volume defined by this atom at the time of the first invocation of the compute (note that the atom may have moved significantly). The second column contains the total number of atoms sharing the Voronoi cell of the stored tessellation at the location of the current atom. Numbers in column one can be any positive integer including zero, while column two values will always be greater than zero. Column one data can be used to locate vacancies (the coordinates are given by the atom coordinates at the time step when the compute was first invoked), while column two data can be used to identify interstitial atoms.</p> <hr class="docutils" /> <p>The Voronoi calculation is performed by the freely available <a class="reference external" href="http://math.lbl.gov/voro++">Voro++ package</a>, written by Chris Rycroft at UC Berkeley and LBL, which must be installed on your system when building LAMMPS for use with this compute. See instructions on obtaining and installing the Voro++ software in the src/VORONOI/README file.</p> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">The calculation of Voronoi volumes is performed by each processor for the atoms it owns, and includes the effect of ghost atoms stored by the processor. This assumes that the Voronoi cells of owned atoms are not affected by atoms beyond the ghost atom cut-off distance. This is usually a good assumption for liquid and solid systems, but may lead to underestimation of Voronoi volumes in low density systems. By default, the set of ghost atoms stored by each processor is determined by the cutoff used for <a class="reference internal" href="pair_style.html"><em>pair_style</em></a> interactions. The cutoff can be set explicitly via the <a class="reference internal" href="comm_modify.html"><em>comm_modify cutoff</em></a> command.</p> </div> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">The Voro++ package performs its calculation in 3d. This should still work for a 2d LAMMPS simulation, to effectively compute Voronoi “areas”, so long as the z-dimension of the box is roughly the same (or smaller) compared to the separation of the atoms. Typical values for the z box dimensions in a 2d LAMMPS model are -0.5 to 0.5, which satisfies the criterion for most <a class="reference internal" href="units.html"><em>units</em></a> systems. Note that you define the z extent of the simulation box for 2d simulations when using the <a class="reference internal" href="create_box.html"><em>create_box</em></a> or <a class="reference internal" href="read_data.html"><em>read_data</em></a> commands.</p> </div> <p><strong>Output info:</strong></p> <p>This compute calculates a per-atom array with 2 columns. In regular dynamic tessellation mode the first column is the Voronoi volume, the second is the neighbor count, as described above (read above for the output data in case the <em>occupation</em> keyword is specified). These values can be accessed by any command that uses per-atom values from a compute as input. See <a class="reference internal" href="Section_howto.html#howto-15"><span>Section_howto 15</span></a> for an overview of LAMMPS output options.</p> <p>The Voronoi cell volume will be in distance <a class="reference internal" href="units.html"><em>units</em></a> cubed.</p> </div> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <p>This compute is part of the VORONOI package. It is only enabled if LAMMPS was built with that package. See the <a class="reference internal" href="Section_start.html#start-3"><span>Making LAMMPS</span></a> section for more info.</p> </div> <div class="section" id="related-commands"> <h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2> <p><a class="reference internal" href="dump.html"><em>dump custom</em></a></p> <p><strong>Default:</strong> none</p> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/compute_xrd.html b/doc/compute_xrd.html index 52179cf86..e12b3c68f 100644 --- a/doc/compute_xrd.html +++ b/doc/compute_xrd.html @@ -1,390 +1,390 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>compute xrd command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>compute xrd command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="compute-xrd-command"> <span id="index-0"></span><h1>compute xrd command<a class="headerlink" href="#compute-xrd-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>compute ID group-ID xrd lambda type1 type2 ... typeN keyword value ... </pre></div> </div> <ul class="simple"> <li>ID, group-ID are documented in <a class="reference internal" href="compute.html"><em>compute</em></a> command</li> <li>xrd = style name of this compute command</li> <li>lambda = wavelength of incident radiation (length units)</li> <li>type1 type2 ... typeN = chemical symbol of each atom type (see valid options below)</li> <li>zero or more keyword/value pairs may be appended</li> <li>keyword = <em>2Theta</em> or <em>c</em> or <em>LP</em> or <em>manual</em> or <em>echo</em></li> </ul> <pre class="literal-block"> <em>2Theta</em> values = Min2Theta Max2Theta - Min2Theta,Max2Theta = minimum and maximum 2 theta range to explore - (radians or degrees) - <em>c</em> values = c1 c2 c3 - c1,c2,c3 = parameters to adjust the spacing of the reciprocal - lattice nodes in the h, k, and l directions respectively - <em>LP</em> value = switch to apply Lorentz-polarization factor - 0/1 = off/on - <em>manual</em> = flag to use manual spacing of reciprocal lattice points - based on the values of the <em>c</em> parameters - <em>echo</em> = flag to provide extra output for debugging purposes + Min2Theta,Max2Theta = minimum and maximum 2 theta range to explore + (radians or degrees) +<em>c</em> values = c1 c2 c3 + c1,c2,c3 = parameters to adjust the spacing of the reciprocal + lattice nodes in the h, k, and l directions respectively +<em>LP</em> value = switch to apply Lorentz-polarization factor + 0/1 = off/on +<em>manual</em> = flag to use manual spacing of reciprocal lattice points + based on the values of the <em>c</em> parameters +<em>echo</em> = flag to provide extra output for debugging purposes </pre> </div> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>compute 1 all xrd 1.541838 Al O 2Theta 0.087 0.87 c 1 1 1 LP 1 echo compute 2 all xrd 1.541838 Al O 2Theta 10 100 c 0.05 0.05 0.05 LP 1 manual </pre></div> </div> <div class="highlight-python"><div class="highlight"><pre>fix 1 all ave/histo/weights 1 1 1 0.087 0.87 250 c_1[1] c_1[2] mode vector file Rad2Theta.xrd fix 2 all ave/histo/weights 1 1 1 10 100 250 c_2[1] c_2[2] mode vector file Deg2Theta.xrd </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>Define a computation that calculates x-ray diffraction intensity as described in <a class="reference internal" href="fix_saed_vtk.html#coleman"><span>(Coleman)</span></a> on a mesh of reciprocal lattice nodes defined by the entire simulation domain (or manually) using a simulated radiation of wavelength lambda.</p> <p>The x-ray diffraction intensity, I, at each reciprocal lattice point, k, is computed from the structure factor, F, using the equations:</p> <img alt="_images/compute_xrd1.jpg" class="align-center" src="_images/compute_xrd1.jpg" /> <img alt="_images/compute_xrd2.jpg" class="align-center" src="_images/compute_xrd2.jpg" /> <img alt="_images/compute_xrd3.jpg" class="align-center" src="_images/compute_xrd3.jpg" /> <img alt="_images/compute_xrd4.jpg" class="align-center" src="_images/compute_xrd4.jpg" /> <p>Here, K is the location of the reciprocal lattice node, rj is the position of each atom, fj are atomic scattering factors, LP is the Lorentz-polarization factor, and theta is the scattering angle of diffraction. The Lorentz-polarization factor can be turned off using the optional <em>LP</em> keyword.</p> <p>Diffraction intensities are calculated on a three-dimensional mesh of reciprocal lattice nodes. The mesh spacing is defined either (a) by the entire simulation domain or (b) manually using selected values as shown in the 2D diagram below.</p> <a data-lightbox="group-default" href="_images/xrd_mesh.jpg" class="" title="" data-title="" ><img src="_images/xrd_mesh.jpg" class="align-center" width="25%" height="auto" alt=""/> </a><p>For a mesh defined by the simulation domain, a rectilinear grid is constructed with spacing <a href="#id1"><span class="problematic" id="id2">*</span></a>c**inv(A) along each reciprocal lattice axis. Where A are the vectors corresponding to the edges of the simulation cell. If one or two directions has non-periodic boundary conditions, then the spacing in these directions is defined from the average of the (inversed) box lengths with periodic boundary conditions. Meshes defined by the simulation domain must contain at least one periodic boundary.</p> <p>If the <em>manual</em> flag is included, the mesh of reciprocal lattice nodes will defined using the <em>c</em> values for the spacing along each reciprocal lattice axis. Note that manual mapping of the reciprocal space mesh is good for comparing diffraction results from multiple simulations; however it can reduce the likelihood that Bragg reflections will be satisfied unless small spacing parameters (< 0.05 Angstrom^(-1)) are implemented. Meshes with manual spacing do not require a periodic boundary.</p> <p>The limits of the reciprocal lattice mesh are determined by range of scattering angles explored. The <em>2Theta</em> parameters allows the user to reduce the scattering angle range to only the region of interest which reduces the cost of the computation.</p> <p>The atomic scattering factors, fj, accounts for the reduction in diffraction intensity due to Compton scattering. Compute xrd uses analytical approximations of the atomic scattering factors that vary for each atom type (type1 type2 ... typeN) and angle of diffraction. The analytic approximation is computed using the formula <a class="reference internal" href="#colliex"><span>(Colliex)</span></a>:</p> <img alt="_images/compute_xrd5.jpg" class="align-center" src="_images/compute_xrd5.jpg" /> <p>Coefficients parameterized by <a class="reference internal" href="#peng"><span>(Peng)</span></a> are assigned for each atom type designating the chemical symbol and charge of each atom type. Valid chemical symbols for compute xrd are:</p> <dl class="docutils"> <dt>H: He1-: He: Li: Li1+:</dt> <dd><blockquote class="first"> <div><blockquote> <div><dl class="docutils"> <dt>Be: Be2+: B: C: Cval:</dt> <dd>N: O: O1-: F: F1-:</dd> </dl> <p>Ne: Na: Na1+: Mg: Mg2+: Al: Al3+: Si: Sival: Si4+:</p> <blockquote> <div>P: S: Cl: Cl1-: Ar: K: Ca: Ca2+: Sc: Sc3+:</div></blockquote> <p>Ti: Ti2+: Ti3+: Ti4+: V:</p> </div></blockquote> <p>V2+: V3+: V5+: Cr: Cr2+:</p> </div></blockquote> <dl class="docutils"> <dt>Cr3+: Mn: Mn2+: Mn3+: Mn4+:</dt> <dd>Fe: Fe2+: Fe3+: Co: Co2+: Co: Ni: Ni2+: Ni3+: Cu:</dd> </dl> <p>Cu1+: Cu2+: Zn: Zn2+: Ga: Ga3+: Ge: Ge4+: As: Se:</p> <blockquote> <div>Br: Br1-: Kr: Rb: Rb1+: Sr: Sr2+: Y: Y3+: Zr:</div></blockquote> <p>Zr4+: Nb: Nb3+: Nb5+: Mo: Mo3+: Mo5+: Mo6+: Tc: Ru: Ru3+: Ru4+: Rh: Rh3+: Rh4+:</p> <blockquote> <div>Pd: Pd2+: Pd4+: Ag: Ag1+:</div></blockquote> <dl class="docutils"> <dt>Ag2+: Cd: Cd2+: In: In3+:</dt> <dd>Sn: Sn2+: Sn4+: Sb: Sb3+:</dd> <dt>Sb5+: Te: I: I1-: Xe:</dt> <dd>Cs: Cs1+: Ba: Ba2+: La:</dd> </dl> <p>La3+: Ce: Ce3+: Ce4+: Pr: Pr3+: Pr4+: Nd: Nd3+: Pm: Pm3+: Sm: Sm3+: Eu: Eu2+: Eu3+: Gd: Gd3+: Tb: Tb3+:</p> <blockquote> <div>Dy: Dy3+: Ho: Ho3+: Er:</div></blockquote> <p>Er3+: Tm: Tm3+: Yb: Yb2+: Yb3+: Lu: Lu3+: Hf: Hf4+:</p> <blockquote> <div>Ta: Ta5+: W: W6+: Re: Os: Os4+: Ir: Ir3+: Ir4+: Pt: Pt2+: Pt4+: Au: Au1+:</div></blockquote> <p>Au3+: Hg: Hg1+: Hg2+: Tl: Tl1+: Tl3+: Pb: Pb2+: Pb4+:</p> <blockquote> <div>Bi: Bi3+: Bi5+: Po: At: Rn: Fr: Ra: Ra2+: Ac:</div></blockquote> <dl class="docutils"> <dt>Ac3+: Th: Th4+: Pa: U:</dt> <dd>U3+: U4+: U6+: Np: Np3+:</dd> </dl> <p class="last">Np4+: Np6+: Pu: Pu3+: Pu4+: Pu6+: Am: Cm: Bk: Cf:tb(c=5,s=:)</p> </dd> </dl> <p>If the <em>echo</em> keyword is specified, compute xrd will provide extra reporting information to the screen.</p> <p><strong>Output info:</strong></p> <p>This compute calculates a global array. The number of rows in the array is the number of reciprocal lattice nodes that are explored which by the mesh. The global array has 2 columns.</p> <p>The first column contains the diffraction angle in the units (radians or degrees) provided with the <em>2Theta</em> values. The second column contains the computed diffraction intensities as described above.</p> <p>The array can be accessed by any command that uses global values from a compute as input. See <a class="reference internal" href="Section_howto.html#howto-15"><span>this section</span></a> for an overview of LAMMPS output options.</p> <p>All array values calculated by this compute are “intensive”.</p> </div> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <p>The compute_xrd command does not work for triclinic cells.</p> </div> <div class="section" id="related-commands"> <h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2> <p><a class="reference internal" href="fix_ave_histo.html"><em>fix ave/histo</em></a>, <a class="reference internal" href="compute_saed.html"><em>compute saed</em></a></p> </div> <div class="section" id="default"> <h2>Default<a class="headerlink" href="#default" title="Permalink to this headline">¶</a></h2> <p>The option defaults are 2Theta = 1 179 (degrees), c = 1 1 1, LP = 1, no manual flag, no echo flag.</p> <hr class="docutils" /> <p id="coleman"><strong>(Coleman)</strong> Coleman, Spearot, Capolungo, MSMSE, 21, 055020 (2013).</p> <p id="colliex"><strong>(Colliex)</strong> Colliex et al. International Tables for Crystallography Volume C: Mathematical and Chemical Tables, 249-429 (2004).</p> <p id="peng"><strong>(Peng)</strong> Peng, Ren, Dudarev, Whelan, Acta Crystallogr. A, 52, 257-76 (1996).</p> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/create_atoms.html b/doc/create_atoms.html index caa4249ce..6678e40d6 100644 --- a/doc/create_atoms.html +++ b/doc/create_atoms.html @@ -1,495 +1,495 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>create_atoms command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>create_atoms command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="create-atoms-command"> <span id="index-0"></span><h1>create_atoms command<a class="headerlink" href="#create-atoms-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>create_atoms type style args keyword values ... </pre></div> </div> <ul class="simple"> <li>type = atom type (1-Ntypes) of atoms to create (offset for molecule creation)</li> <li>style = <em>box</em> or <em>region</em> or <em>single</em> or <em>random</em></li> </ul> <pre class="literal-block"> <em>box</em> args = none - <em>region</em> args = region-ID - region-ID = particles will only be created if contained in the region - <em>single</em> args = x y z - x,y,z = coordinates of a single particle (distance units) - <em>random</em> args = N seed region-ID - N = number of particles to create - seed = random # seed (positive integer) - region-ID = create atoms within this region, use NULL for entire simulation box +<em>region</em> args = region-ID + region-ID = particles will only be created if contained in the region +<em>single</em> args = x y z + x,y,z = coordinates of a single particle (distance units) +<em>random</em> args = N seed region-ID + N = number of particles to create + seed = random # seed (positive integer) + region-ID = create atoms within this region, use NULL for entire simulation box </pre> <ul class="simple"> <li>zero or more keyword/value pairs may be appended</li> <li>keyword = <em>mol</em> or <em>basis</em> or <em>remap</em> or <em>var</em> or <em>set</em> or <em>units</em></li> </ul> <pre class="literal-block"> <em>mol</em> value = template-ID seed - template-ID = ID of molecule template specified in a separate <a class="reference internal" href="molecule.html"><em>molecule</em></a> command - seed = random # seed (positive integer) - <em>basis</em> values = M itype - M = which basis atom - itype = atom type (1-N) to assign to this basis atom - <em>remap</em> value = <em>yes</em> or <em>no</em> - <em>var</em> value = name = variable name to evaluate for test of atom creation - <em>set</em> values = dim vname - dim = <em>x</em> or <em>y</em> or <em>z</em> - name = name of variable to set with x,y,z atom position - <em>rotate</em> values = Rx Ry Rz theta - Rx,Ry,Rz = rotation vector for single molecule - theta = rotation angle for single molecule (degrees) - <em>units</em> value = <em>lattice</em> or <em>box</em> - <em>lattice</em> = the geometry is defined in lattice units - <em>box</em> = the geometry is defined in simulation box units + template-ID = ID of molecule template specified in a separate <a class="reference internal" href="molecule.html"><em>molecule</em></a> command + seed = random # seed (positive integer) +<em>basis</em> values = M itype + M = which basis atom + itype = atom type (1-N) to assign to this basis atom +<em>remap</em> value = <em>yes</em> or <em>no</em> +<em>var</em> value = name = variable name to evaluate for test of atom creation +<em>set</em> values = dim vname + dim = <em>x</em> or <em>y</em> or <em>z</em> + name = name of variable to set with x,y,z atom position +<em>rotate</em> values = Rx Ry Rz theta + Rx,Ry,Rz = rotation vector for single molecule + theta = rotation angle for single molecule (degrees) +<em>units</em> value = <em>lattice</em> or <em>box</em> + <em>lattice</em> = the geometry is defined in lattice units + <em>box</em> = the geometry is defined in simulation box units </pre> </div> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>create_atoms 1 box create_atoms 3 region regsphere basis 2 3 create_atoms 3 single 0 0 5 create_atoms 1 box var v set x xpos set y ypos </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>This command creates atoms (or molecules) on a lattice, or a single atom (or molecule), or a random collection of atoms (or molecules), as an alternative to reading in their coordinates explicitly via a <a class="reference internal" href="read_data.html"><em>read_data</em></a> or <a class="reference internal" href="read_restart.html"><em>read_restart</em></a> command. A simulation box must already exist, which is typically created via the <a class="reference internal" href="create_box.html"><em>create_box</em></a> command. Before using this command, a lattice must also be defined using the <a class="reference internal" href="lattice.html"><em>lattice</em></a> command, unless you specify the <em>single</em> style with units = box or the <em>random</em> style. For the remainder of this doc page, a created atom or molecule is referred to as a “particle”.</p> <p>If created particles are individual atoms, they are assigned the specified atom <em>type</em>, though this can be altered via the <em>basis</em> keyword as discussed below. If molecules are being created, the type of each atom in the created molecule is specified in the file read by the <a class="reference internal" href="molecule.html"><em>molecule</em></a> command, and those values are added to the specified atom <em>type</em>. E.g. if <em>type</em> = 2, and the file specifies atom types 1,2,3, then each created molecule will have atom types 3,4,5.</p> <p>For the <em>box</em> style, the create_atoms command fills the entire simulation box with particles on the lattice. If your simulation box is periodic, you should insure its size is a multiple of the lattice spacings, to avoid unwanted atom overlaps at the box boundaries. If your box is periodic and a multiple of the lattice spacing in a particular dimension, LAMMPS is careful to put exactly one particle at the boundary (on either side of the box), not zero or two.</p> <p>For the <em>region</em> style, a geometric volume is filled with particles on the lattice. This volume what is inside the simulation box and is also consistent with the region volume. See the <a class="reference internal" href="region.html"><em>region</em></a> command for details. Note that a region can be specified so that its “volume” is either inside or outside a geometric boundary. Also note that if your region is the same size as a periodic simulation box (in some dimension), LAMMPS does not implement the same logic described above as for the <em>box</em> style, to insure exactly one particle at periodic boundaries. if this is what you desire, you should either use the <em>box</em> style, or tweak the region size to get precisely the particles you want.</p> <p>For the <em>single</em> style, a single particle is added to the system at the specified coordinates. This can be useful for debugging purposes or to create a tiny system with a handful of particles at specified positions.</p> <p>For the <em>random</em> style, N particles are added to the system at randomly generated coordinates, which can be useful for generating an amorphous system. The particles are created one by one using the speficied random number <em>seed</em>, resulting in the same set of particles coordinates, independent of how many processors are being used in the simulation. If the <em>region-ID</em> argument is specified as NULL, then the created particles will be anywhere in the simulation box. If a <em>region-ID</em> is specified, a geometric volume is filled which is both inside the simulation box and is also consistent with the region volume. See the <a class="reference internal" href="region.html"><em>region</em></a> command for details. Note that a region can be specified so that its “volume” is either inside or outside a geometric boundary.</p> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">Particles generated by the <em>random</em> style will typically be highly overlapped which will cause many interatomic potentials to compute large energies and forces. Thus you should either perform an <a class="reference internal" href="minimize.html"><em>energy minimization</em></a> or run dynamics with <a class="reference internal" href="fix_nve_limit.html"><em>fix nve/limit</em></a> to equilibrate such a system, before running normal dynamics.</p> </div> <p>Note that this command adds particles to those that already exist. This means it can be used to add particles to a system previously read in from a data or restart file. Or the create_atoms command can be used multiple times, to add multiple sets of particles to the simulation. For example, grain boundaries can be created, by interleaving create_atoms with <a class="reference internal" href="lattice.html"><em>lattice</em></a> commands specifying different orientations. By using the create_atoms command in conjunction with the <a class="reference internal" href="delete_atoms.html"><em>delete_atoms</em></a> command, reasonably complex geometries can be created, or a protein can be solvated with a surrounding box of water molecules.</p> <p>In all these cases, care should be taken to insure that new atoms do not overlap existing atoms inappropriately, especially if molecules are being added. The <a class="reference internal" href="delete_atoms.html"><em>delete_atoms</em></a> command can be used to remove overlapping atoms or molecules.</p> <hr class="docutils" /> <p>Individual atoms are inserted by this command, unless the <em>mol</em> keyword is used. It specifies a <em>template-ID</em> previously defined using the <a class="reference internal" href="molecule.html"><em>molecule</em></a> command, which reads a file that defines the molecule. The coordinates, atom types, charges, etc, as well as any bond/angle/etc and special neighbor information for the molecule can be specified in the molecule file. See the <a class="reference internal" href="molecule.html"><em>molecule</em></a> command for details. The only settings required to be in this file are the coordinates and types of atoms in the molecule.</p> <p>Using a lattice to add molecules, e.g. via the <em>box</em> or <em>region</em> or <em>single</em> styles, is exactly the same as adding atoms on lattice points, except that entire molecules are added at each point, i.e. on the point defined by each basis atom in the unit cell as it tiles the simulation box or region. This is done by placing the geometric center of the molecule at the lattice point, and giving the molecule a random orientation about the point. The random <em>seed</em> specified with the <em>mol</em> keyword is used for this operation, and the random numbers generated by each processor are different. This means the coordinates of individual atoms (in the molecules) will be different when running on different numbers of processors, unlike when atoms are being created in parallel.</p> <p>Also note that because of the random rotations, it may be important to use a lattice with a large enough spacing that adjacent molecules will not overlap, regardless of their relative orientations.</p> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">If the <a class="reference internal" href="create_box.html"><em>create_box</em></a> command is used to create the simulation box, followed by the create_atoms command with its <em>mol</em> option for adding molecules, then you typically need to use the optional keywords allowed by the <a class="reference internal" href="create_box.html"><em>create_box</em></a> command for extra bonds (angles,etc) or extra special neighbors. This is because by default, the <a class="reference internal" href="create_box.html"><em>create_box</em></a> command sets up a non-molecular system which doesn’t allow molecules to be added.</p> </div> <hr class="docutils" /> <p>This is the meaning of the other allowed keywords.</p> <p>The <em>basis</em> keyword is only used when atoms (not molecules) are being created. It specifies an atom type that will be assigned to specific basis atoms as they are created. See the <a class="reference internal" href="lattice.html"><em>lattice</em></a> command for specifics on how basis atoms are defined for the unit cell of the lattice. By default, all created atoms are assigned the argument <em>type</em> as their atom type.</p> <p>The <em>remap</em> keyword only applies to the <em>single</em> style. If it is set to <em>yes</em>, then if the specified position is outside the simulation box, it will mapped back into the box, assuming the relevant dimensions are periodic. If it is set to <em>no</em>, no remapping is done and no particle is created if its position is outside the box.</p> <p>The <em>var</em> and <em>set</em> keywords can be used to provide a criterion for accepting or rejecting the addition of an individual atom, based on its coordinates. The <em>vname</em> specified for the <em>var</em> keyword is the name of an <a class="reference internal" href="variable.html"><em>equal-style variable</em></a> which should evaluate to a zero or non-zero value based on one or two or three variables which will store the x, y, or z coordinates of an atom (one variable per coordinate). These other variables must be <a class="reference internal" href="variable.html"><em>equal-style variables</em></a> defined in the input script, but their formula can by anything. The <em>set</em> keyword is used to identify the names of these other variables, one variable for the x-coordinate of a created atom, one for y, and one for z.</p> <p>When an atom is created, its x, y, or z coordinates override the formula for any <em>set</em> variable that is defined. The <em>var</em> variable is then evaluated. If the returned value is 0.0, the atom is not created. If it is non-zero, the atom is created. After all atoms are created, the formulas defined for all of the <em>set</em> variables are restored to their original strings.</p> <p>As an example, these commands can be used in a 2d simulation, to create a sinusoidal surface. Note that the surface is “rough” due to individual lattice points being “above” or “below” the mathematical expression for the sinusoidal curve. If a finer lattice were used, the sinusoid would appear to be “smoother”. Also note the use of the “xlat” and “ylat” <a class="reference internal" href="thermo_style.html"><em>thermo_style</em></a> keywords which converts lattice spacings to distance. Click on the image for a larger version.</p> <div class="highlight-python"><div class="highlight"><pre>variable x equal 100 variable y equal 25 lattice hex 0.8442 region box block 0 $x 0 $y -0.5 0.5 create_box 1 box </pre></div> </div> <div class="highlight-python"><div class="highlight"><pre>variable xx equal 0.0 variable yy equal 0.0 variable v equal "(0.2*v_y*ylat * cos(v_xx/xlat * 2.0*PI*4.0/v_x) + 0.5*v_y*ylat - v_yy) > 0.0" create_atoms 1 box var v set x xx set y yy </pre></div> </div> <a data-lightbox="group-default" href="_images/sinusoid.jpg" class="" title="" data-title="" ><img src="_images/sinusoid.jpg" class="align-center" width="25%" height="auto" alt=""/> </a><p>The <em>rotate</em> keyword can be used with the <em>single</em> style, when adding a single molecule to specify the orientation at which the molecule is inserted. The axis of rotation is determined by the rotation vector (Rx,Ry,Rz) that goes through the insertion point. The specified <em>theta</em> determines the angle of rotation around that axis. Note that the direction of rotation for the atoms around the rotation axis is consistent with the right-hand rule: if your right-hand’s thumb points along <em>R</em>, then your fingers wrap around the axis in the direction of rotation.</p> <p>The <em>units</em> keyword determines the meaning of the distance units used to specify the coordinates of the one particle created by the <em>single</em> style. A <em>box</em> value selects standard distance units as defined by the <a class="reference internal" href="units.html"><em>units</em></a> command, e.g. Angstroms for units = real or metal. A <em>lattice</em> value means the distance units are in lattice spacings.</p> <hr class="docutils" /> <p>Atom IDs are assigned to created atoms in the following way. The collection of created atoms are assigned consecutive IDs that start immediately following the largest atom ID existing before the create_atoms command was invoked. When a simulation is performed on different numbers of processors, there is no guarantee a particular created atom will be assigned the same ID. If molecules are being created, molecule IDs are assigned to created molecules in a similar fashion.</p> <p>Aside from their ID, atom type, and xyz position, other properties of created atoms are set to default values, depending on which quantities are defined by the chosen <a class="reference internal" href="atom_style.html"><em>atom style</em></a>. See the <a class="reference internal" href="atom_style.html"><em>atom style</em></a> command for more details. See the <a class="reference internal" href="set.html"><em>set</em></a> and <a class="reference internal" href="velocity.html"><em>velocity</em></a> commands for info on how to change these values.</p> <ul class="simple"> <li>charge = 0.0</li> <li>dipole moment magnitude = 0.0</li> <li>diameter = 1.0</li> <li>shape = 0.0 0.0 0.0</li> <li>density = 1.0</li> <li>volume = 1.0</li> <li>velocity = 0.0 0.0 0.0</li> <li>angular velocity = 0.0 0.0 0.0</li> <li>angular momentum = 0.0 0.0 0.0</li> <li>quaternion = (1,0,0,0)</li> <li>bonds, angles, dihedrals, impropers = none</li> </ul> <p>If molecules are being created, these defaults can be overridden by values specified in the file read by the <a class="reference internal" href="molecule.html"><em>molecule</em></a> command. E.g. the file typically defines bonds (angles,etc) between atoms in the molecule, and can optionally define charges on each atom.</p> <p>Note that the <em>sphere</em> atom style sets the default particle diameter to 1.0 as well as the density. This means the mass for the particle is not 1.0, but is PI/6 * diameter^3 = 0.5236.</p> <p>Note that the <em>ellipsoid</em> atom style sets the default particle shape to (0.0 0.0 0.0) and the density to 1.0 which means it is a point particle, not an ellipsoid, and has a mass of 1.0.</p> <p>Note that the <em>peri</em> style sets the default volume and density to 1.0 and thus also set the mass for the particle to 1.0.</p> <p>The <a class="reference internal" href="set.html"><em>set</em></a> command can be used to override many of these default settings.</p> </div> <hr class="docutils" /> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <p>An <a class="reference internal" href="atom_style.html"><em>atom_style</em></a> must be previously defined to use this command.</p> <p>A rotation vector specified for a single molecule must be in the z-direction for a 2d model.</p> </div> <div class="section" id="related-commands"> <h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2> <p><a class="reference internal" href="lattice.html"><em>lattice</em></a>, <a class="reference internal" href="region.html"><em>region</em></a>, <a class="reference internal" href="create_box.html"><em>create_box</em></a>, <a class="reference internal" href="read_data.html"><em>read_data</em></a>, <a class="reference internal" href="read_restart.html"><em>read_restart</em></a></p> </div> <div class="section" id="default"> <h2>Default<a class="headerlink" href="#default" title="Permalink to this headline">¶</a></h2> <p>The default for the <em>basis</em> keyword is that all created atoms are assigned the argument <em>type</em> as their atom type (when single atoms are being created). The other defaults are <em>remap</em> = no, <em>rotate</em> = random, and <em>units</em> = lattice.</p> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/create_box.html b/doc/create_box.html index 21958fb99..4cc3efffe 100644 --- a/doc/create_box.html +++ b/doc/create_box.html @@ -1,327 +1,327 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>create_box command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>create_box command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="create-box-command"> <span id="index-0"></span><h1>create_box command<a class="headerlink" href="#create-box-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>create_box N region-ID keyword value ... </pre></div> </div> <ul class="simple"> <li>N = # of atom types to use in this simulation</li> <li>region-ID = ID of region to use as simulation domain</li> <li>zero or more keyword/value pairs may be appended</li> <li>keyword = <em>bond/types</em> or <em>angle/types</em> or <em>dihedral/types</em> or <em>improper/types</em> or <em>extra/bond/per/atom</em> or <em>extra/angle/per/atom</em> or <em>extra/dihedral/per/atom</em> or <em>extra/improper/per/atom</em></li> </ul> <pre class="literal-block"> <em>bond/types</em> value = # of bond types - <em>angle/types</em> value = # of angle types - <em>dihedral/types</em> value = # of dihedral types - <em>improper/types</em> value = # of improper types - <em>extra/bond/per/atom</em> value = # of bonds per atom - <em>extra/angle/per/atom</em> value = # of angles per atom - <em>extra/dihedral/per/atom</em> value = # of dihedrals per atom - <em>extra/improper/per/atom</em> value = # of impropers per atom - <em>extra/special/per/atom</em> value = # of special neighbors per atom +<em>angle/types</em> value = # of angle types +<em>dihedral/types</em> value = # of dihedral types +<em>improper/types</em> value = # of improper types +<em>extra/bond/per/atom</em> value = # of bonds per atom +<em>extra/angle/per/atom</em> value = # of angles per atom +<em>extra/dihedral/per/atom</em> value = # of dihedrals per atom +<em>extra/improper/per/atom</em> value = # of impropers per atom +<em>extra/special/per/atom</em> value = # of special neighbors per atom </pre> </div> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>create_box 2 mybox create_box 2 mybox bond/types 2 extra/bond/per/atom 1 </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>This command creates a simulation box based on the specified region. Thus a <a class="reference internal" href="region.html"><em>region</em></a> command must first be used to define a geometric domain. It also partitions the simulation box into a regular 3d grid of rectangular bricks, one per processor, based on the number of processors being used and the settings of the <a class="reference internal" href="processors.html"><em>processors</em></a> command. The partitioning can later be changed by the <a class="reference internal" href="balance.html"><em>balance</em></a> or <a class="reference internal" href="fix_balance.html"><em>fix balance</em></a> commands.</p> <p>The argument N is the number of atom types that will be used in the simulation.</p> <p>If the region is not of style <em>prism</em>, then LAMMPS encloses the region (block, sphere, etc) with an axis-aligned orthogonal bounding box which becomes the simulation domain.</p> <p>If the region is of style <em>prism</em>, LAMMPS creates a non-orthogonal simulation domain shaped as a parallelepiped with triclinic symmetry. As defined by the <a class="reference internal" href="region.html"><em>region prism</em></a> command, the parallelepiped has its “origin” at (xlo,ylo,zlo) and is defined by 3 edge vectors starting from the origin given by A = (xhi-xlo,0,0); B = (xy,yhi-ylo,0); C = (xz,yz,zhi-zlo). <em>Xy,xz,yz</em> can be 0.0 or positive or negative values and are called “tilt factors” because they are the amount of displacement applied to faces of an originally orthogonal box to transform it into the parallelipiped.</p> <p>By default, a <em>prism</em> region used with the create_box command must have tilt factors (xy,xz,yz) that do not skew the box more than half the distance of the parallel box length. For example, if xlo = 2 and xhi = 12, then the x box length is 10 and the xy tilt factor must be between -5 and 5. Similarly, both xz and yz must be between -(xhi-xlo)/2 and +(yhi-ylo)/2. Note that this is not a limitation, since if the maximum tilt factor is 5 (as in this example), then configurations with tilt = ..., -15, -5, 5, 15, 25, ... are all geometrically equivalent. If you wish to define a box with tilt factors that exceed these limits, you can use the <a class="reference internal" href="box.html"><em>box tilt</em></a> command, with a setting of <em>large</em>; a setting of <em>small</em> is the default.</p> <p>See <a class="reference internal" href="Section_howto.html#howto-12"><span>Section_howto 12</span></a> of the doc pages for a geometric description of triclinic boxes, as defined by LAMMPS, and how to transform these parameters to and from other commonly used triclinic representations.</p> <p>When a prism region is used, the simulation domain should normally be periodic in the dimension that the tilt is applied to, which is given by the second dimension of the tilt factor (e.g. y for xy tilt). This is so that pairs of atoms interacting across that boundary will have one of them shifted by the tilt factor. Periodicity is set by the <a class="reference internal" href="boundary.html"><em>boundary</em></a> command. For example, if the xy tilt factor is non-zero, then the y dimension should be periodic. Similarly, the z dimension should be periodic if xz or yz is non-zero. LAMMPS does not require this periodicity, but you may lose atoms if this is not the case.</p> <p>Also note that if your simulation will tilt the box, e.g. via the <a class="reference internal" href="fix_deform.html"><em>fix deform</em></a> command, the simulation box must be setup to be triclinic, even if the tilt factors are initially 0.0. You can also change an orthogonal box to a triclinic box or vice versa by using the <a class="reference internal" href="change_box.html"><em>change box</em></a> command with its <em>ortho</em> and <em>triclinic</em> options.</p> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">If the system is non-periodic (in a dimension), then you should not make the lo/hi box dimensions (as defined in your <a class="reference internal" href="region.html"><em>region</em></a> command) radically smaller/larger than the extent of the atoms you eventually plan to create, e.g. via the <a class="reference internal" href="create_atoms.html"><em>create_atoms</em></a> command. For example, if your atoms extend from 0 to 50, you should not specify the box bounds as -10000 and 10000. This is because as described above, LAMMPS uses the specified box size to layout the 3d grid of processors. A huge (mostly empty) box will be sub-optimal for performance when using “fixed” boundary conditions (see the <a class="reference internal" href="boundary.html"><em>boundary</em></a> command). When using “shrink-wrap” boundary conditions (see the <a class="reference internal" href="boundary.html"><em>boundary</em></a> command), a huge (mostly empty) box may cause a parallel simulation to lose atoms the first time that LAMMPS shrink-wraps the box around the atoms.</p> </div> <hr class="docutils" /> <p>The optional keywords can be used to create a system that allows for bond (angle, dihedral, improper) interactions, or for molecules with special 1-2,1-3,1-4 neighbors to be added later. These optional keywords serve the same purpose as the analogous keywords that can be used in a data file which are recognized by the <a class="reference internal" href="read_data.html"><em>read_data</em></a> command when it sets up a system.</p> <p>Note that if these keywords are not used, then the create_box command creates an atomic (non-molecular) simulation that does not allow bonds between pairs of atoms to be defined, or a <a class="reference internal" href="bond_style.html"><em>bond potential</em></a> to be specified, or for molecules with special neighbors to be added to the system by commands such as <a class="reference internal" href="create_atoms.html"><em>create_atoms mol</em></a>, <a class="reference internal" href="fix_deposit.html"><em>fix deposit</em></a> or <a class="reference internal" href="fix_pour.html"><em>fix pour</em></a>.</p> <p>As an example, see the examples/deposit/in.deposit.molecule script, which deposits molecules onto a substrate. Initially there are no molecules in the system, but they are added later by the <a class="reference internal" href="fix_deposit.html"><em>fix deposit</em></a> command. The create_box command in the script uses the bond/types and extra/bond/per/atom keywords to allow this. If the added molecule contained more than 1 special bond (allowed by default), an extra/special/per/atom keyword would also need to be specified.</p> </div> <hr class="docutils" /> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <p>An <a class="reference internal" href="atom_style.html"><em>atom_style</em></a> and <a class="reference internal" href="region.html"><em>region</em></a> must have been previously defined to use this command.</p> </div> <div class="section" id="related-commands"> <h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2> <p><a class="reference internal" href="read_data.html"><em>read_data</em></a>, <a class="reference internal" href="create_atoms.html"><em>create_atoms</em></a>, <a class="reference internal" href="region.html"><em>region</em></a></p> <p><strong>Default:</strong> none</p> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/delete_atoms.html b/doc/delete_atoms.html index 193b87af1..4d339a451 100644 --- a/doc/delete_atoms.html +++ b/doc/delete_atoms.html @@ -1,329 +1,329 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>delete_atoms command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>delete_atoms command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="delete-atoms-command"> <span id="index-0"></span><h1>delete_atoms command<a class="headerlink" href="#delete-atoms-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>delete_atoms style args keyword value ... </pre></div> </div> <ul class="simple"> <li>style = <em>group</em> or <em>region</em> or <em>overlap</em> or <em>porosity</em></li> </ul> <pre class="literal-block"> <em>group</em> args = group-ID - <em>region</em> args = region-ID - <em>overlap</em> args = cutoff group1-ID group2-ID - cutoff = delete one atom from pairs of atoms within the cutoff (distance units) - group1-ID = one atom in pair must be in this group - group2-ID = other atom in pair must be in this group - <em>porosity</em> args = region-ID fraction seed - region-ID = region within which to perform deletions - fraction = delete this fraction of atoms - seed = random number seed (positive integer) +<em>region</em> args = region-ID +<em>overlap</em> args = cutoff group1-ID group2-ID + cutoff = delete one atom from pairs of atoms within the cutoff (distance units) + group1-ID = one atom in pair must be in this group + group2-ID = other atom in pair must be in this group +<em>porosity</em> args = region-ID fraction seed + region-ID = region within which to perform deletions + fraction = delete this fraction of atoms + seed = random number seed (positive integer) </pre> <ul class="simple"> <li>zero or more keyword/value pairs may be appended</li> <li>keyword = <em>compress</em> or <em>bond</em> or <em>mol</em></li> </ul> <pre class="literal-block"> <em>compress</em> value = <em>no</em> or <em>yes</em> - <em>bond</em> value = <em>no</em> or <em>yes</em> - <em>mol</em> value = <em>no</em> or <em>yes</em> +<em>bond</em> value = <em>no</em> or <em>yes</em> +<em>mol</em> value = <em>no</em> or <em>yes</em> </pre> </div> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>delete_atoms group edge delete_atoms region sphere compress no delete_atoms overlap 0.3 all all delete_atoms overlap 0.5 solvent colloid delete_atoms porosity cube 0.1 482793 bond yes </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>Delete the specified atoms. This command can be used to carve out voids from a block of material or to delete created atoms that are too close to each other (e.g. at a grain boundary).</p> <p>For style <em>group</em>, all atoms belonging to the group are deleted.</p> <p>For style <em>region</em>, all atoms in the region volume are deleted. Additional atoms can be deleted if they are in a molecule for which one or more atoms were deleted within the region; see the <em>mol</em> keyword discussion below.</p> <p>For style <em>overlap</em> pairs of atoms whose distance of separation is within the specified cutoff distance are searched for, and one of the 2 atoms is deleted. Only pairs where one of the two atoms is in the first group specified and the other atom is in the second group are considered. The atom that is in the first group is the one that is deleted.</p> <p>Note that it is OK for the two group IDs to be the same (e.g. group <em>all</em>), or for some atoms to be members of both groups. In these cases, either atom in the pair may be deleted. Also note that if there are atoms which are members of both groups, the only guarantee is that at the end of the deletion operation, enough deletions will have occurred that no atom pairs within the cutoff will remain (subject to the group restriction). There is no guarantee that the minimum number of atoms will be deleted, or that the same atoms will be deleted when running on different numbers of processors.</p> <p>For style <em>porosity</em> a specified <em>fraction</em> of atoms are deleted within the specified region. For example, if fraction is 0.1, then 10% of the atoms will be deleted. The atoms to delete are chosen randomly. There is no guarantee that the exact fraction of atoms will be deleted, or that the same atoms will be deleted when running on different numbers of processors.</p> <p>If the <em>compress</em> keyword is set to <em>yes</em>, then after atoms are deleted, then atom IDs are re-assigned so that they run from 1 to the number of atoms in the system. Note that this is not done for molecular systems (see the <a class="reference internal" href="atom_style.html"><em>atom_style</em></a> command), regardless of the <em>compress</em> setting, since it would foul up the bond connectivity that has already been assigned.</p> <p>A molecular system with fixed bonds, angles, dihedrals, or improper interactions, is one where the topology of the interactions is typically defined in the data file read by the <a class="reference internal" href="read_data.html"><em>read_data</em></a> command, and where the interactions themselves are defined with the <a class="reference internal" href="bond_style.html"><em>bond_style</em></a>, <a class="reference internal" href="angle_style.html"><em>angle_style</em></a>, etc commands. If you delete atoms from such a system, you must be careful not to end up with bonded interactions that are stored by remaining atoms but which include deleted atoms. This will cause LAMMPS to generate a “missing atoms” error when the bonded interaction is computed. The <em>bond</em> and <em>mol</em> keywords offer two ways to do that.</p> <p>It the <em>bond</em> keyword is set to <em>yes</em> then any bond or angle or dihedral or improper interaction that includes a deleted atom is also removed from the lists of such interactions stored by non-deleted atoms. Note that simply deleting interactions due to dangling bonds (e.g. at a surface) may result in a inaccurate or invalid model for the remaining atoms.</p> <p>It the <em>mol</em> keyword is set to <em>yes</em>, then for every atom that is deleted, all other atoms in the same molecule (with the same molecule ID) will also be deleted. This is not done for atoms with molecule ID = 0, since such an ID is assumed to flag isolated atoms that are not part of molecules.</p> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">The molecule deletion operation in invoked after all individual atoms have been deleted using the rules described above for each style. This means additional atoms may be deleted that are not in the group or region, that are not required by the overlap cutoff criterion, or that will create a higher fraction of porosity than was requested.</p> </div> </div> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <p>The <em>overlap</em> styles requires inter-processor communication to acquire ghost atoms and build a neighbor list. This means that your system must be ready to perform a simulation before using this command (force fields setup, atom masses set, etc). Since a neighbor list is used to find overlapping atom pairs, it also means that you must define a <a class="reference internal" href="pair_style.html"><em>pair style</em></a> with the minimum force cutoff distance between any pair of atoms types (plus the <a class="reference internal" href="neighbor.html"><em>neighbor</em></a> skin) >= the specified overlap cutoff.</p> <p>If the <a class="reference internal" href="special_bonds.html"><em>special_bonds</em></a> command is used with a setting of 0, then a pair of bonded atoms (1-2, 1-3, or 1-4) will not appear in the neighbor list, and thus will not be considered for deletion by the <em>overlap</em> styles. You probably don’t want to be deleting one atom in a bonded pair anyway.</p> <p>The <em>bond yes</em> option cannot be used with molecular systems defined using molecule template files via the <code class="xref doc docutils literal"><span class="pre">molecule</span></code> and <a class="reference internal" href="atom_style.html"><em>atom_style template</em></a> commands.</p> </div> <div class="section" id="related-commands"> <h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2> <p><a class="reference internal" href="create_atoms.html"><em>create_atoms</em></a></p> </div> <div class="section" id="default"> <h2>Default<a class="headerlink" href="#default" title="Permalink to this headline">¶</a></h2> <p>The option defaults are compress = yes, bond = no, mol = no.</p> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/delete_bonds.html b/doc/delete_bonds.html index d302ba39d..551efffd9 100644 --- a/doc/delete_bonds.html +++ b/doc/delete_bonds.html @@ -1,328 +1,328 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>delete_bonds command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>delete_bonds command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="delete-bonds-command"> <span id="index-0"></span><h1>delete_bonds command<a class="headerlink" href="#delete-bonds-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>delete_bonds group-ID style arg keyword ... </pre></div> </div> <ul> <li><p class="first">group-ID = group ID</p> </li> <li><dl class="first docutils"> <dt>style = <em>multi</em> or <em>atom</em> or <em>bond</em> or <em>angle</em> or <em>dihedral</em> or</dt> <dd><p class="first last"><em>improper</em> or <em>stats</em></p> </dd> </dl> </li> </ul> <pre class="literal-block"> <em>multi</em> arg = none - <em>atom</em> arg = an atom type or range of types (see below) - <em>bond</em> arg = a bond type or range of types (see below) - <em>angle</em> arg = an angle type or range of types (see below) - <em>dihedral</em> arg = a dihedral type or range of types (see below) - <em>improper</em> arg = an improper type or range of types (see below) - <em>stats</em> arg = none +<em>atom</em> arg = an atom type or range of types (see below) +<em>bond</em> arg = a bond type or range of types (see below) +<em>angle</em> arg = an angle type or range of types (see below) +<em>dihedral</em> arg = a dihedral type or range of types (see below) +<em>improper</em> arg = an improper type or range of types (see below) +<em>stats</em> arg = none </pre> <ul class="simple"> <li>zero or more keywords may be appended</li> <li>keyword = <em>any</em> or <em>undo</em> or <em>remove</em> or <em>special</em></li> </ul> </div> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>delete_bonds frozen multi remove delete_bonds all atom 4 special delete_bonds all bond 0*3 special delete_bonds all stats </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>Turn off (or on) molecular topology interactions, i.e. bonds, angles, dihedrals, impropers. This command is useful for deleting interactions that have been previously turned off by bond-breaking potentials. It is also useful for turning off topology interactions between frozen or rigid atoms. Pairwise interactions can be turned off via the <a class="reference internal" href="neigh_modify.html"><em>neigh_modify exclude</em></a> command. The <a class="reference internal" href="fix_shake.html"><em>fix shake</em></a> command also effectively turns off certain bond and angle interactions.</p> <p>For all styles, by default, an interaction is only turned off (or on) if all the atoms involved are in the specified group. See the <em>any</em> keyword to change the behavior.</p> <p>Several of the styles (<em>atom</em>, <em>bond</em>, <em>angle</em>, <em>dihedral</em>, <em>improper</em>) take a <em>type</em> as an argument. The specified <em>type</em> should be an integer from 0 to N, where N is the number of relevant types (atom types, bond types, etc). A value of 0 is only relevant for style <em>bond</em>; see details below. In all cases, a wildcard asterisk can be used in place of or in conjunction with the <em>type</em> argument to specify a range of types. This takes the form “*” or “<em>n” or “n</em>” or “m*n”. If N = the number of types, then an asterisk with no numeric values means all types from 0 to N. A leading asterisk means all types from 0 to n (inclusive). A trailing asterisk means all types from n to N (inclusive). A middle asterisk means all types from m to n (inclusive). Note that it is fine to include a type of 0 for non-bond styles; it will simply be ignored.</p> <p>For style <em>multi</em> all bond, angle, dihedral, and improper interactions of any type, involving atoms in the group, are turned off.</p> <p>Style <em>atom</em> is the same as style <em>multi</em> except that in addition, one or more of the atoms involved in the bond, angle, dihedral, or improper interaction must also be of the specified atom type.</p> <p>For style <em>bond</em>, only bonds are candidates for turn-off, and the bond must also be of the specified type. Styles <em>angle</em>, <em>dihedral</em>, and <em>improper</em> are treated similarly.</p> <p>For style <em>bond</em>, you can set the type to 0 to delete bonds that have been previously broken by a bond-breaking potential (which sets the bond type to 0 when a bond is broken); e.g. see the <a class="reference internal" href="bond_style.html"><em>bond_style quartic</em></a> command.</p> <p>For style <em>stats</em> no interactions are turned off (or on); the status of all interactions in the specified group is simply reported. This is useful for diagnostic purposes if bonds have been turned off by a bond-breaking potential during a previous run.</p> <p>The default behavior of the delete_bonds command is to turn off interactions by toggling their type to a negative value, but not to permanently remove the interaction. E.g. a bond_type of 2 is set to -2. The neighbor list creation routines will not include such an interaction in their interaction lists. The default is also to not alter the list of 1-2, 1-3, 1-4 neighbors computed by the <a class="reference internal" href="special_bonds.html"><em>special_bonds</em></a> command and used to weight pairwise force and energy calculations. This means that pairwise computations will proceed as if the bond (or angle, etc) were still turned on.</p> <p>Several keywords can be appended to the argument list to alter the default behaviors.</p> <p>The <em>any</em> keyword changes the requirement that all atoms in the bond (angle, etc) must be in the specified group in order to turn-off the interaction. Instead, if any of the atoms in the interaction are in the specified group, it will be turned off (or on if the <em>undo</em> keyword is used).</p> <p>The <em>undo</em> keyword inverts the delete_bonds command so that the specified bonds, angles, etc are turned on if they are currently turned off. This means a negative value is toggled to positive. For example, for style <em>angle</em>, if <em>type</em> is specified as 2, then all angles with current type = -2, are reset to type = 2. Note that the <a class="reference internal" href="fix_shake.html"><em>fix shake</em></a> command also sets bond and angle types negative, so this option should not be used on those interactions.</p> <p>The <em>remove</em> keyword is invoked at the end of the delete_bonds operation. It causes turned-off bonds (angles, etc) to be removed from each atom’s data structure and then adjusts the global bond (angle, etc) counts accordingly. Removal is a permanent change; removed bonds cannot be turned back on via the <em>undo</em> keyword. Removal does not alter the pairwise 1-2, 1-3, 1-4 weighting list.</p> <p>The <em>special</em> keyword is invoked at the end of the delete_bonds operation, after (optional) removal. It re-computes the pairwise 1-2, 1-3, 1-4 weighting list. The weighting list computation treats turned-off bonds the same as turned-on. Thus, turned-off bonds must be removed if you wish to change the weighting list.</p> <p>Note that the choice of <em>remove</em> and <em>special</em> options affects how 1-2, 1-3, 1-4 pairwise interactions will be computed across bonds that have been modified by the delete_bonds command.</p> </div> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <p>This command requires inter-processor communication to coordinate the deleting of bonds. This means that your system must be ready to perform a simulation before using this command (force fields setup, atom masses set, etc).</p> <p>If deleted bonds (angles, etc) are removed but the 1-2, 1-3, 1-4 weighting list is not recomputed, this can cause a later <a class="reference internal" href="fix_shake.html"><em>fix shake</em></a> command to fail due to an atom’s bonds being inconsistent with the weighting list. This should only happen if the group used in the fix command includes both atoms in the bond, in which case you probably should be recomputing the weighting list.</p> </div> <div class="section" id="related-commands"> <h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2> <p><a class="reference internal" href="neigh_modify.html"><em>neigh_modify</em></a> exclude, <a class="reference internal" href="special_bonds.html"><em>special_bonds</em></a>, <a class="reference internal" href="fix_shake.html"><em>fix shake</em></a></p> <p><strong>Default:</strong> none</p> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/displace_atoms.html b/doc/displace_atoms.html index d769595ed..5a36ff977 100644 --- a/doc/displace_atoms.html +++ b/doc/displace_atoms.html @@ -1,306 +1,306 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>displace_atoms command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>displace_atoms command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="displace-atoms-command"> <span id="index-0"></span><h1>displace_atoms command<a class="headerlink" href="#displace-atoms-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>displace_atoms group-ID style args keyword value ... </pre></div> </div> <ul class="simple"> <li>group-ID = ID of group of atoms to displace</li> <li>style = <em>move</em> or <em>ramp</em> or <em>random</em> or <em>rotate</em></li> </ul> <pre class="literal-block"> <em>move</em> args = delx dely delz - delx,dely,delz = distance to displace in each dimension (distance units) - <em>ramp</em> args = ddim dlo dhi dim clo chi - ddim = <em>x</em> or <em>y</em> or <em>z</em> - dlo,dhi = displacement distance between dlo and dhi (distance units) - dim = <em>x</em> or <em>y</em> or <em>z</em> - clo,chi = lower and upper bound of domain to displace (distance units) - <em>random</em> args = dx dy dz seed - dx,dy,dz = random displacement magnitude in each dimension (distance units) - seed = random # seed (positive integer) - <em>rotate</em> args = Px Py Pz Rx Ry Rz theta - Px,Py,Pz = origin point of axis of rotation (distance units) - Rx,Ry,Rz = axis of rotation vector - theta = angle of rotation (degrees) + delx,dely,delz = distance to displace in each dimension (distance units) +<em>ramp</em> args = ddim dlo dhi dim clo chi + ddim = <em>x</em> or <em>y</em> or <em>z</em> + dlo,dhi = displacement distance between dlo and dhi (distance units) + dim = <em>x</em> or <em>y</em> or <em>z</em> + clo,chi = lower and upper bound of domain to displace (distance units) +<em>random</em> args = dx dy dz seed + dx,dy,dz = random displacement magnitude in each dimension (distance units) + seed = random # seed (positive integer) +<em>rotate</em> args = Px Py Pz Rx Ry Rz theta + Px,Py,Pz = origin point of axis of rotation (distance units) + Rx,Ry,Rz = axis of rotation vector + theta = angle of rotation (degrees) </pre> <ul class="simple"> <li>zero or more keyword/value pairs may be appended</li> </ul> <pre class="literal-block"> keyword = <em>units</em> - value = <em>box</em> or <em>lattice</em> + value = <em>box</em> or <em>lattice</em> </pre> </div> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>displace_atoms top move 0 -5 0 units box displace_atoms flow ramp x 0.0 5.0 y 2.0 20.5 </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>Displace a group of atoms. This can be used to move atoms a large distance before beginning a simulation or to randomize atoms initially on a lattice. For example, in a shear simulation, an initial strain can be imposed on the system. Or two groups of atoms can be brought into closer proximity.</p> <p>The <em>move</em> style displaces the group of atoms by the specified 3d distance.</p> <p>The <em>ramp</em> style displaces atoms a variable amount in one dimension depending on the atom’s coordinate in a (possibly) different dimension. For example, the second example command displaces atoms in the x-direction an amount between 0.0 and 5.0 distance units. Each atom’s displacement depends on the fractional distance its y coordinate is between 2.0 and 20.5. Atoms with y-coordinates outside those bounds will be moved the minimum (0.0) or maximum (5.0) amount.</p> <p>The <em>random</em> style independently moves each atom in the group by a random displacement, uniformly sampled from a value between -dx and +dx in the x dimension, and similarly for y and z. Random numbers are used in such a way that the displacement of a particular atom is the same, regardless of how many processors are being used.</p> <p>The <em>rotate</em> style rotates each atom in the group by the angle <em>theta</em> around a rotation axis <em>R</em> = (Rx,Ry,Rz) that goes thru a point <em>P</em> = (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’s thumb points along <em>R</em>, then your fingers wrap around the axis in the direction of positive theta.</p> <p>Distance units for displacements and the origin point of the <em>rotate</em> style are determined by the setting of <em>box</em> or <em>lattice</em> for the <em>units</em> keyword. <em>Box</em> means distance units as defined by the <a class="reference internal" href="units.html"><em>units</em></a> command - e.g. Angstroms for <em>real</em> units. <em>Lattice</em> means distance units are in lattice spacings. The <a class="reference internal" href="lattice.html"><em>lattice</em></a> command must have been previously used to define the lattice spacing.</p> <hr class="docutils" /> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">Care should be taken not to move atoms on top of other atoms. After the move, atoms are remapped into the periodic simulation box if needed, and any shrink-wrap boundary conditions (see the <a class="reference internal" href="boundary.html"><em>boundary</em></a> command) are enforced which may change the box size. Other than this effect, this command does not change the size or shape of the simulation box. See the <a class="reference internal" href="change_box.html"><em>change_box</em></a> command if that effect is desired.</p> </div> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">Atoms can be moved arbitrarily long distances by this command. If the simulation box is non-periodic and shrink-wrapped (see the <a class="reference internal" href="boundary.html"><em>boundary</em></a> command), this can change its size or shape. This is not a problem, except that the mapping of processors to the simulation box is not changed by this command from its initial 3d configuration; see the <a class="reference internal" href="processors.html"><em>processors</em></a> command. Thus, if the box size/shape changes dramatically, the mapping of processors to the simulation box may not end up as optimal as the initial mapping attempted to be.</p> </div> </div> <hr class="docutils" /> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <p>You cannot rotate around any rotation vector except the z-axis for a 2d simulation.</p> </div> <div class="section" id="related-commands"> <h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2> <p><a class="reference internal" href="lattice.html"><em>lattice</em></a>, <a class="reference internal" href="change_box.html"><em>change_box</em></a>, <a class="reference internal" href="fix_move.html"><em>fix_move</em></a></p> </div> <div class="section" id="default"> <h2>Default<a class="headerlink" href="#default" title="Permalink to this headline">¶</a></h2> <p>The option defaults are units = lattice.</p> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/dump.html b/doc/dump.html index 2b8d87e77..1ab6b9b51 100644 --- a/doc/dump.html +++ b/doc/dump.html @@ -1,743 +1,743 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>dump command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>dump command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="dump-command"> <span id="index-0"></span><h1>dump command<a class="headerlink" href="#dump-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="dump-image-command"> <h1><a class="reference internal" href="dump_image.html"><em>dump image</em></a> command<a class="headerlink" href="#dump-image-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="dump-movie-command"> <h1><a class="reference internal" href="dump_image.html"><em>dump movie</em></a> command<a class="headerlink" href="#dump-movie-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="dump-molfile-command"> <h1><a class="reference internal" href="dump_molfile.html"><em>dump molfile</em></a> command<a class="headerlink" href="#dump-molfile-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>dump ID group-ID style N file args </pre></div> </div> <ul class="simple"> <li>ID = user-assigned name for the dump</li> <li>group-ID = ID of the group of atoms to be dumped</li> <li>style = <em>atom</em> or <em>atom/mpiio</em> or <em>cfg</em> or <em>cfg/mpiio</em> or <em>dcd</em> or <em>xtc</em> or <em>xyz</em> or <em>xyz/mpiio</em> or <em>image</em> or <em>movie</em> or <em>molfile</em> or <em>local</em> or <em>custom</em> or <em>custom/mpiio</em></li> <li>N = dump every this many timesteps</li> <li>file = name of file to write dump info to</li> <li>args = list of arguments for a particular style</li> </ul> <pre class="literal-block"> <em>atom</em> args = none - <em>atom/mpiio</em> args = none - <em>cfg</em> args = same as <em>custom</em> args, see below - <em>cfg/mpiio</em> args = same as <em>custom</em> args, see below - <em>dcd</em> args = none - <em>xtc</em> args = none - <em>xyz</em> args = none +<em>atom/mpiio</em> args = none +<em>cfg</em> args = same as <em>custom</em> args, see below +<em>cfg/mpiio</em> args = same as <em>custom</em> args, see below +<em>dcd</em> args = none +<em>xtc</em> args = none +<em>xyz</em> args = none </pre> <pre class="literal-block"> <em>xyz/mpiio</em> args = none </pre> <pre class="literal-block"> <em>image</em> args = discussed on <a class="reference internal" href="dump_image.html"><em>dump image</em></a> doc page </pre> <pre class="literal-block"> <em>movie</em> args = discussed on <a class="reference internal" href="dump_image.html"><em>dump image</em></a> doc page </pre> <pre class="literal-block"> <em>molfile</em> args = discussed on <a class="reference internal" href="dump_molfile.html"><em>dump molfile</em></a> doc page </pre> <pre class="literal-block"> <em>local</em> args = list of local attributes - possible attributes = index, c_ID, c_ID[N], f_ID, f_ID[N] - index = enumeration of local values - c_ID = local vector calculated by a compute with ID - c_ID[N] = Nth column of local array calculated by a compute with ID - f_ID = local vector calculated by a fix with ID - f_ID[N] = Nth column of local array calculated by a fix with ID + possible attributes = index, c_ID, c_ID[N], f_ID, f_ID[N] + index = enumeration of local values + c_ID = local vector calculated by a compute with ID + c_ID[N] = Nth column of local array calculated by a compute with ID + f_ID = local vector calculated by a fix with ID + f_ID[N] = Nth column of local array calculated by a fix with ID </pre> <pre class="literal-block"> <em>custom</em> or <em>custom/mpiio</em> args = list of atom attributes - possible attributes = id, mol, proc, procp1, type, element, mass, - x, y, z, xs, ys, zs, xu, yu, zu, - xsu, ysu, zsu, ix, iy, iz, - vx, vy, vz, fx, fy, fz, - q, mux, muy, muz, mu, - radius, diameter, omegax, omegay, omegaz, - angmomx, angmomy, angmomz, tqx, tqy, tqz, - c_ID, c_ID[N], f_ID, f_ID[N], v_name + possible attributes = id, mol, proc, procp1, type, element, mass, + x, y, z, xs, ys, zs, xu, yu, zu, + xsu, ysu, zsu, ix, iy, iz, + vx, vy, vz, fx, fy, fz, + q, mux, muy, muz, mu, + radius, diameter, omegax, omegay, omegaz, + angmomx, angmomy, angmomz, tqx, tqy, tqz, + c_ID, c_ID[N], f_ID, f_ID[N], v_name </pre> <pre class="literal-block"> id = atom ID - mol = molecule ID - proc = ID of processor that owns atom - procp1 = ID+1 of processor that owns atom - type = atom type - element = name of atom element, as defined by <a class="reference internal" href="dump_modify.html"><em>dump_modify</em></a> command - mass = atom mass - x,y,z = unscaled atom coordinates - xs,ys,zs = scaled atom coordinates - xu,yu,zu = unwrapped atom coordinates - xsu,ysu,zsu = scaled unwrapped atom coordinates - ix,iy,iz = box image that the atom is in - vx,vy,vz = atom velocities - fx,fy,fz = forces on atoms - q = atom charge - mux,muy,muz = orientation of dipole moment of atom - mu = magnitude of dipole moment of atom - radius,diameter = radius,diameter of spherical particle - omegax,omegay,omegaz = angular velocity of spherical particle - angmomx,angmomy,angmomz = angular momentum of aspherical particle - tqx,tqy,tqz = torque on finite-size particles - c_ID = per-atom vector calculated by a compute with ID - c_ID[N] = Nth column of per-atom array calculated by a compute with ID - f_ID = per-atom vector calculated by a fix with ID - f_ID[N] = Nth column of per-atom array calculated by a fix with ID - v_name = per-atom vector calculated by an atom-style variable with name - d_name = per-atom floating point vector with name, managed by fix property/atom - i_name = per-atom integer vector with name, managed by fix property/atom +mol = molecule ID +proc = ID of processor that owns atom +procp1 = ID+1 of processor that owns atom +type = atom type +element = name of atom element, as defined by <a class="reference internal" href="dump_modify.html"><em>dump_modify</em></a> command +mass = atom mass +x,y,z = unscaled atom coordinates +xs,ys,zs = scaled atom coordinates +xu,yu,zu = unwrapped atom coordinates +xsu,ysu,zsu = scaled unwrapped atom coordinates +ix,iy,iz = box image that the atom is in +vx,vy,vz = atom velocities +fx,fy,fz = forces on atoms +q = atom charge +mux,muy,muz = orientation of dipole moment of atom +mu = magnitude of dipole moment of atom +radius,diameter = radius,diameter of spherical particle +omegax,omegay,omegaz = angular velocity of spherical particle +angmomx,angmomy,angmomz = angular momentum of aspherical particle +tqx,tqy,tqz = torque on finite-size particles +c_ID = per-atom vector calculated by a compute with ID +c_ID[N] = Nth column of per-atom array calculated by a compute with ID +f_ID = per-atom vector calculated by a fix with ID +f_ID[N] = Nth column of per-atom array calculated by a fix with ID +v_name = per-atom vector calculated by an atom-style variable with name +d_name = per-atom floating point vector with name, managed by fix property/atom +i_name = per-atom integer vector with name, managed by fix property/atom </pre> </div> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>dump myDump all atom 100 dump.atom dump myDump all atom/mpiio 100 dump.atom.mpiio dump 2 subgroup atom 50 dump.run.bin dump 2 subgroup atom 50 dump.run.mpiio.bin dump 4a all custom 100 dump.myforce.* id type x y vx fx dump 4b flow custom 100 dump.%.myforce id type c_myF[3] v_ke dump 2 inner cfg 10 dump.snap.*.cfg mass type xs ys zs vx vy vz dump snap all cfg 100 dump.config.*.cfg mass type xs ys zs id type c_Stress[2] dump 1 all xtc 1000 file.xtc </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>Dump a snapshot of atom quantities to one or more files every N timesteps in one of several styles. The <em>image</em> and <em>movie</em> styles are the exception: the <em>image</em> style renders a JPG, PNG, or PPM image file of the atom configuration every N timesteps while the <em>movie</em> style combines and compresses them into a movie file; both are discussed in detail on the <a class="reference internal" href="dump_image.html"><em>dump image</em></a> doc page. The timesteps on which dump output is written can also be controlled by a variable. See the <a class="reference internal" href="dump_modify.html"><em>dump_modify every</em></a> command.</p> <p>Only information for atoms in the specified group is dumped. The <a class="reference internal" href="dump_modify.html"><em>dump_modify thresh and region</em></a> commands can also alter what atoms are included. Not all styles support all these options; see details below.</p> <p>As described below, the filename determines the kind of output (text or binary or gzipped, one big file or one per timestep, one big file or multiple smaller files).</p> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">Because periodic boundary conditions are enforced only on timesteps when neighbor lists are rebuilt, the coordinates of an atom written to a dump file may be slightly outside the simulation box.</p> </div> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">Unless the <a class="reference internal" href="dump_modify.html"><em>dump_modify sort</em></a> option is invoked, the lines of atom information written to dump files (typically one line per atom) will be in an indeterminate order for each snapshot. This is even true when running on a single processor, if the <a class="reference internal" href="atom_modify.html"><em>atom_modify sort</em></a> option is on, which it is by default. In this case atoms are re-ordered periodically during a simulation, due to spatial sorting. It is also true when running in parallel, because data for a single snapshot is collected from multiple processors, each of which owns a subset of the atoms.</p> </div> <p>For the <em>atom</em>, <em>custom</em>, <em>cfg</em>, and <em>local</em> styles, sorting is off by default. For the <em>dcd</em>, <em>xtc</em>, <em>xyz</em>, and <em>molfile</em> styles, sorting by atom ID is on by default. See the <a class="reference internal" href="dump_modify.html"><em>dump_modify</em></a> doc page for details.</p> <p>As explained below, the <em>atom/mpiio</em>, <em>cfg/mpiio</em>, <em>custom/mpiio</em>, and <em>xyz/mpiio</em> styles are identical in command syntax and in the format of the dump files they create, to the corresponding styles without “mpiio”, except the single dump file they produce is written in parallel via the MPI-IO library. For the remainder of this doc page, you should thus consider the <em>atom</em> and <em>atom/mpiio</em> styles (etc) to be inter-changeable. The one exception is how the filename is specified for the MPI-IO styles, as explained below.</p> <hr class="docutils" /> <p>The <em>style</em> keyword determines what atom quantities are written to the file and in what format. Settings made via the <a class="reference internal" href="dump_modify.html"><em>dump_modify</em></a> command can also alter the format of individual values and the file itself.</p> <p>The <em>atom</em>, <em>local</em>, and <em>custom</em> styles create files in a simple text format that is self-explanatory when viewing a dump file. Many of the LAMMPS <a class="reference internal" href="Section_tools.html"><em>post-processing tools</em></a>, including <a class="reference external" href="http://www.sandia.gov/~sjplimp/pizza.html">Pizza.py</a>, work with this format, as does the <a class="reference internal" href="rerun.html"><em>rerun</em></a> command.</p> <p>For post-processing purposes the <em>atom</em>, <em>local</em>, and <em>custom</em> text files are self-describing in the following sense.</p> <p>The dimensions of the simulation box are included in each snapshot. For an orthogonal simulation box this information is is formatted as:</p> <div class="highlight-python"><div class="highlight"><pre>ITEM: BOX BOUNDS xx yy zz xlo xhi ylo yhi zlo zhi </pre></div> </div> <p>where xlo,xhi are the maximum extents of the simulation box in the x-dimension, and similarly for y and z. The “xx yy zz” represent 6 characters that encode the style of boundary for each of the 6 simulation box boundaries (xlo,xhi and ylo,yhi and zlo,zhi). Each of the 6 characters is either p = periodic, f = fixed, s = shrink wrap, or m = shrink wrapped with a minimum value. See the <a class="reference internal" href="boundary.html"><em>boundary</em></a> command for details.</p> <p>For triclinic simulation boxes (non-orthogonal), an orthogonal bounding box which encloses the triclinic simulation box is output, along with the 3 tilt factors (xy, xz, yz) of the triclinic box, formatted as follows:</p> <div class="highlight-python"><div class="highlight"><pre>ITEM: BOX BOUNDS xy xz yz xx yy zz xlo_bound xhi_bound xy ylo_bound yhi_bound xz zlo_bound zhi_bound yz </pre></div> </div> <p>The presence of the text “xy xz yz” in the ITEM line indicates that the 3 tilt factors will be included on each of the 3 following lines. This bounding box is convenient for many visualization programs. The meaning of the 6 character flags for “xx yy zz” is the same as above.</p> <p>Note that the first two numbers on each line are now xlo_bound instead of xlo, etc, since they repesent a bounding box. See <a class="reference internal" href="Section_howto.html#howto-12"><span>this section</span></a> of the doc pages for a geometric description of triclinic boxes, as defined by LAMMPS, simple formulas for how the 6 bounding box extents (xlo_bound,xhi_bound,etc) are calculated from the triclinic parameters, and how to transform those parameters to and from other commonly used triclinic representations.</p> <p>The “ITEM: ATOMS” line in each snapshot lists column descriptors for the per-atom lines that follow. For example, the descriptors would be “id type xs ys zs” for the default <em>atom</em> style, and would be the atom attributes you specify in the dump command for the <em>custom</em> style.</p> <p>For style <em>atom</em>, atom coordinates are written to the file, along with the atom ID and atom type. By default, atom coords are written in a scaled format (from 0 to 1). I.e. an x value of 0.25 means the atom is at a location 1/4 of the distance from xlo to xhi of the box boundaries. The format can be changed to unscaled coords via the <a class="reference internal" href="dump_modify.html"><em>dump_modify</em></a> settings. Image flags can also be added for each atom via dump_modify.</p> <p>Style <em>custom</em> allows you to specify a list of atom attributes to be written to the dump file for each atom. Possible attributes are listed above and will appear in the order specified. You cannot specify a quantity that is not defined for a particular simulation - such as <em>q</em> for atom style <em>bond</em>, since that atom style doesn’t assign charges. Dumps occur at the very end of a timestep, so atom attributes will include effects due to fixes that are applied during the timestep. An explanation of the possible dump custom attributes is given below.</p> <p>For style <em>local</em>, local output generated by <a class="reference internal" href="compute.html"><em>computes</em></a> and <a class="reference internal" href="fix.html"><em>fixes</em></a> is used to generate lines of output that is written to the dump file. This local data is typically calculated by each processor based on the atoms it owns, but there may be zero or more entities per atom, e.g. a list of bond distances. An explanation of the possible dump local attributes is given below. Note that by using input from the <a class="reference internal" href="compute_property_local.html"><em>compute property/local</em></a> command with dump local, it is possible to generate information on bonds, angles, etc that can be cut and pasted directly into a data file read by the <a class="reference internal" href="read_data.html"><em>read_data</em></a> command.</p> <p>Style <em>cfg</em> has the same command syntax as style <em>custom</em> and writes extended CFG format files, as used by the <a class="reference external" href="http://mt.seas.upenn.edu/Archive/Graphics/A">AtomEye</a> visualization package. Since the extended CFG format uses a single snapshot of the system per file, a wildcard “*” must be included in the filename, as discussed below. The list of atom attributes for style <em>cfg</em> must begin with either “mass type xs ys zs” or “mass type xsu ysu zsu” since these quantities are needed to write the CFG files in the appropriate format (though the “mass” and “type” fields do not appear explicitly in the file). Any remaining attributes will be stored as “auxiliary properties” in the CFG files. Note that you will typically want to use the <a class="reference internal" href="dump_modify.html"><em>dump_modify element</em></a> command with CFG-formatted files, to associate element names with atom types, so that AtomEye can render atoms appropriately. When unwrapped coordinates <em>xsu</em>, <em>ysu</em>, and <em>zsu</em> are requested, the nominal AtomEye periodic cell dimensions are expanded by a large factor UNWRAPEXPAND = 10.0, which ensures atoms that are displayed correctly for up to UNWRAPEXPAND/2 periodic boundary crossings in any direction. Beyond this, AtomEye will rewrap the unwrapped coordinates. The expansion causes the atoms to be drawn farther away from the viewer, but it is easy to zoom the atoms closer, and the interatomic distances are unaffected.</p> <p>The <em>dcd</em> style writes DCD files, a standard atomic trajectory format used by the CHARMM, NAMD, and XPlor molecular dynamics packages. DCD files are binary and thus may not be portable to different machines. The number of atoms per snapshot cannot change with the <em>dcd</em> style. The <em>unwrap</em> option of the <a class="reference internal" href="dump_modify.html"><em>dump_modify</em></a> command allows DCD coordinates to be written “unwrapped” by the image 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 box size stored with the snapshot.</p> <p>The <em>xtc</em> style writes XTC files, a compressed trajectory format used by the GROMACS molecular dynamics package, and described <a class="reference external" href="http://manual.gromacs.org/current/online/xtc.html">here</a>. The precision used in XTC files can be adjusted via the <a class="reference internal" href="dump_modify.html"><em>dump_modify</em></a> command. The default value of 1000 means that coordinates are stored to 1/1000 nanometer accuracy. XTC files are portable binary files written in the NFS XDR data format, so that any machine which supports XDR should be able to read them. The number of atoms per snapshot cannot change with the <em>xtc</em> style. The <em>unwrap</em> option of the <a class="reference internal" href="dump_modify.html"><em>dump_modify</em></a> 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 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 stored with the snapshot.</p> <p>The <em>xyz</em> style writes XYZ files, which is a simple text-based coordinate format that many codes can read. Specifically it has a line with the number of atoms, then a comment line that is usually ignored followed by one line per atom with the atom type and the x-, y-, and z-coordinate of that atom. You can use the <a class="reference internal" href="dump_modify.html"><em>dump_modify element</em></a> option to change the output from using the (numerical) atom type to an element name (or some other label). This will help many visualization programs to guess bonds and colors.</p> <p>Note that <em>atom</em>, <em>custom</em>, <em>dcd</em>, <em>xtc</em>, and <em>xyz</em> style dump files can be read directly by <a class="reference external" href="http://www.ks.uiuc.edu/Research/vmd">VMD</a>, a popular molecular viewing program. See <a class="reference internal" href="Section_tools.html#vmd"><span>Section tools</span></a> of the manual and the tools/lmp2vmd/README.txt file for more information about support in VMD for reading and visualizing LAMMPS dump files.</p> <hr class="docutils" /> <p>Dumps are performed on timesteps that are a multiple of N (including timestep 0) and on the last timestep of a minimization if the minimization converges. Note that this means a dump will not be performed on the initial timestep after the dump command is invoked, if the current timestep is not a multiple of N. This behavior can be changed via the <a class="reference internal" href="dump_modify.html"><em>dump_modify first</em></a> command, which can also be useful if the dump command is invoked after a minimization ended on an arbitrary timestep. N can be changed between runs by using the <a class="reference internal" href="dump_modify.html"><em>dump_modify every</em></a> command (not allowed for <em>dcd</em> style). The <a class="reference internal" href="dump_modify.html"><em>dump_modify every</em></a> command also allows a variable to be used to determine the sequence of timesteps on which dump files are written. In this mode a dump on the first timestep of a run will also not be written unless the <a class="reference internal" href="dump_modify.html"><em>dump_modify first</em></a> command is used.</p> <p>The specified filename determines how the dump file(s) is written. The default is to write one large text file, which is opened when the dump command is invoked and closed when an <a class="reference internal" href="undump.html"><em>undump</em></a> command is used or when LAMMPS exits. For the <em>dcd</em> and <em>xtc</em> styles, this is a single large binary file.</p> <p>Dump filenames can contain two wildcard characters. If a “*” character appears in the filename, then one file per snapshot is written and the “*” character is replaced with the timestep value. For example, tmp.dump.* becomes tmp.dump.0, tmp.dump.10000, tmp.dump.20000, etc. This option is not available for the <em>dcd</em> and <em>xtc</em> styles. Note that the <a class="reference internal" href="dump_modify.html"><em>dump_modify pad</em></a> command can be used to insure all timestep numbers are the same length (e.g. 00010), which can make it easier to read a series of dump files in order with some post-processing tools.</p> <p>If a “%” character appears in the filename, then each of P processors writes a portion of the dump file, and the “%” character is replaced with the processor ID from 0 to P-1. For example, tmp.dump.% becomes tmp.dump.0, tmp.dump.1, ... tmp.dump.P-1, etc. This creates smaller files and can be a fast mode of output on parallel machines that support parallel I/O for output. This option is not available for the <em>dcd</em>, <em>xtc</em>, and <em>xyz</em> styles.</p> <p>By default, P = the number of processors meaning one file per processor, but P can be set to a smaller value via the <em>nfile</em> or <em>fileper</em> keywords of the <a class="reference internal" href="dump_modify.html"><em>dump_modify</em></a> command. These options can be the most efficient way of writing out dump files when running on large numbers of processors.</p> <p>Note that using the “*” and “%” characters together can produce a large number of small dump files!</p> <p>For the <em>atom/mpiio</em>, <em>cfg/mpiio</em>, <em>custom/mpiio</em>, and <em>xyz/mpiio</em> styles, a single dump file is written in parallel via the MPI-IO library, which is part of the MPI standard for versions 2.0 and above. Using MPI-IO requires two steps. First, build LAMMPS with its MPIIO package installed, e.g.</p> <div class="highlight-python"><div class="highlight"><pre>make yes-mpiio # installs the MPIIO package make g++ # build LAMMPS for your platform </pre></div> </div> <p>Second, use a dump filename which contains ”.mpiio”. Note that it does not have to end in ”.mpiio”, just contain those characters. Unlike MPI-IO restart files, which must be both written and read using MPI-IO, the dump files produced by these MPI-IO styles are identical in format to the files produced by their non-MPI-IO style counterparts. This means you can write a dump file using MPI-IO and use the <a class="reference internal" href="read_dump.html"><em>read_dump</em></a> command or perform other post-processing, just as if the dump file was not written using MPI-IO.</p> <p>Note that MPI-IO dump files are one large file which all processors write to. You thus cannot use the “%” wildcard character described above in the filename since that specifies generation of multiple files. You can use the ”.bin” suffix described below in an MPI-IO dump file; again this file will be written in parallel and have the same binary format as if it were written without MPI-IO.</p> <p>If the filename ends with ”.bin”, the dump file (or files, if “*” or “%” is also used) is written in binary format. A binary dump file will be about the same size as a text version, but will typically write out much faster. Of course, when post-processing, you will need to convert it back to text format (see the <a class="reference internal" href="Section_tools.html#binary"><span>binary2txt tool</span></a>) or write your own code to read the binary file. The format of the binary file can be understood by looking at the tools/binary2txt.cpp file. This option is only available for the <em>atom</em> and <em>custom</em> styles.</p> <p>If the filename ends with ”.gz”, the dump file (or files, if “*” or “%” is also used) is written in gzipped format. A gzipped dump file will be about 3x smaller than the text version, but will also take longer to write. This option is not available for the <em>dcd</em> and <em>xtc</em> styles.</p> <hr class="docutils" /> <p>This section explains the local attributes that can be specified as part of the <em>local</em> style.</p> <p>The <em>index</em> attribute can be used to generate an index number from 1 to N for each line written into the dump file, where N is the total number of local datums from all processors, or lines of output that will appear in the snapshot. Note that because data from different processors depend on what atoms they currently own, and atoms migrate between processor, there is no guarantee that the same index will be used for the same info (e.g. a particular bond) in successive snapshots.</p> <p>The <em>c_ID</em> and <em>c_ID[N]</em> attributes allow local vectors or arrays calculated by a <a class="reference internal" href="compute.html"><em>compute</em></a> to be output. The ID in the attribute should be replaced by the actual ID of the compute that has been defined previously in the input script. See the <a class="reference internal" href="compute.html"><em>compute</em></a> command for details. There are computes for calculating local information such as indices, types, and energies for bonds and angles.</p> <p>Note that computes which calculate global or per-atom quantities, as opposed to local quantities, cannot be output in a dump local command. Instead, global quantities can be output by the <a class="reference internal" href="thermo_style.html"><em>thermo_style custom</em></a> command, and per-atom quantities can be output by the dump custom command.</p> <p>If <em>c_ID</em> is used as a attribute, then the local vector calculated by the compute is printed. If <em>c_ID[N]</em> is used, then N must be in the range from 1-M, which will print the Nth column of the M-length local array calculated by the compute.</p> <p>The <em>f_ID</em> and <em>f_ID[N]</em> attributes allow local vectors or arrays calculated by a <a class="reference internal" href="fix.html"><em>fix</em></a> to be output. The ID in the attribute should be replaced by the actual ID of the fix that has been defined previously in the input script.</p> <p>If <em>f_ID</em> is used as a attribute, then the local vector calculated by the fix is printed. If <em>f_ID[N]</em> is used, then N must be in the range from 1-M, which will print the Nth column of the M-length local array calculated by the fix.</p> <p>Here is an example of how to dump bond info for a system, including the distance and energy of each bond:</p> <div class="highlight-python"><div class="highlight"><pre>compute 1 all property/local batom1 batom2 btype compute 2 all bond/local dist eng dump 1 all local 1000 tmp.dump index c_1[1] c_1[2] c_1[3] c_2[1] c_2[2] </pre></div> </div> <hr class="docutils" /> <p>This section explains the atom attributes that can be specified as part of the <em>custom</em> and <em>cfg</em> styles.</p> <p>The <em>id</em>, <em>mol</em>, <em>proc</em>, <em>procp1</em>, <em>type</em>, <em>element</em>, <em>mass</em>, <em>vx</em>, <em>vy</em>, <em>vz</em>, <em>fx</em>, <em>fy</em>, <em>fz</em>, <em>q</em> attributes are self-explanatory.</p> <p><em>Id</em> is the atom ID. <em>Mol</em> is the molecule ID, included in the data file for molecular systems. <em>Proc</em> is the ID of the processor (0 to Nprocs-1) that currently owns the atom. <em>Procp1</em> is the proc ID+1, which can be convenient in place of a <em>type</em> attribute (1 to Ntypes) for coloring atoms in a visualization program. <em>Type</em> is the atom type (1 to Ntypes). <em>Element</em> is typically the chemical name of an element, which you must assign to each type via the <a class="reference internal" href="dump_modify.html"><em>dump_modify element</em></a> command. More generally, it can be any string you wish to associated with an atom type. <em>Mass</em> is the atom mass. <em>Vx</em>, <em>vy</em>, <em>vz</em>, <em>fx</em>, <em>fy</em>, <em>fz</em>, and <em>q</em> are components of atom velocity and force and atomic charge.</p> <p>There are several options for outputting atom coordinates. The <em>x</em>, <em>y</em>, <em>z</em> attributes write atom coordinates “unscaled”, in the appropriate distance <a class="reference internal" href="units.html"><em>units</em></a> (Angstroms, sigma, etc). Use <em>xs</em>, <em>ys</em>, <em>zs</em> if you want the coordinates “scaled” to the box size, so that each value is 0.0 to 1.0. If the simulation box is triclinic (tilted), then all atom coords will still be between 0.0 and 1.0. Use <em>xu</em>, <em>yu</em>, <em>zu</em> 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 printed for what the coordinate would be if it had not been wrapped back into the periodic box. Note that using <em>xu</em>, <em>yu</em>, <em>zu</em> means that the coordinate values may be far outside the box bounds printed with the snapshot. Using <em>xsu</em>, <em>ysu</em>, <em>zsu</em> is similar to using <em>xu</em>, <em>yu</em>, <em>zu</em>, except that the unwrapped coordinates are scaled by the box size. Atoms that have passed through a periodic boundary will have the corresponding cooordinate increased or decreased by 1.0.</p> <p>The image flags can be printed directly using the <em>ix</em>, <em>iy</em>, <em>iz</em> attributes. For periodic dimensions, they specify which image of the simulation box the atom is considered to be in. An image of 0 means it is inside the box as defined. A value of 2 means add 2 box lengths to get the true value. A value of -1 means subtract 1 box length to get the true value. LAMMPS updates these flags as atoms cross periodic boundaries during the simulation.</p> <p>The <em>mux</em>, <em>muy</em>, <em>muz</em> attributes are specific to dipolar systems defined with an atom style of <em>dipole</em>. They give the orientation of the atom’s point dipole moment. The <em>mu</em> attribute gives the magnitude of the atom’s dipole moment.</p> <p>The <em>radius</em> and <em>diameter</em> attributes are specific to spherical particles that have a finite size, such as those defined with an atom style of <em>sphere</em>.</p> <p>The <em>omegax</em>, <em>omegay</em>, and <em>omegaz</em> attributes are specific to finite-size spherical particles that have an angular velocity. Only certain atom styles, such as <em>sphere</em> define this quantity.</p> <p>The <em>angmomx</em>, <em>angmomy</em>, and <em>angmomz</em> attributes are specific to finite-size aspherical particles that have an angular momentum. Only the <em>ellipsoid</em> atom style defines this quantity.</p> <p>The <em>tqx</em>, <em>tqy</em>, <em>tqz</em> attributes are for finite-size particles that can sustain a rotational torque due to interactions with other particles.</p> <p>The <em>c_ID</em> and <em>c_ID[N]</em> attributes allow per-atom vectors or arrays calculated by a <a class="reference internal" href="compute.html"><em>compute</em></a> to be output. The ID in the attribute should be replaced by the actual ID of the compute that has been defined previously in the input script. See the <a class="reference internal" href="compute.html"><em>compute</em></a> command for details. There are computes for calculating the per-atom energy, stress, centro-symmetry parameter, and coordination number of individual atoms.</p> <p>Note that computes which calculate global or local quantities, as opposed to per-atom quantities, cannot be output in a dump custom command. Instead, global quantities can be output by the <a class="reference internal" href="thermo_style.html"><em>thermo_style custom</em></a> command, and local quantities can be output by the dump local command.</p> <p>If <em>c_ID</em> is used as a attribute, then the per-atom vector calculated by the compute is printed. If <em>c_ID[N]</em> is used, then N must be in the range from 1-M, which will print the Nth column of the M-length per-atom array calculated by the compute.</p> <p>The <em>f_ID</em> and <em>f_ID[N]</em> attributes allow vector or array per-atom quantities calculated by a <a class="reference internal" href="fix.html"><em>fix</em></a> to be output. The ID in the attribute should be replaced by the actual ID of the fix that has been defined previously in the input script. The <a class="reference internal" href="fix_ave_atom.html"><em>fix ave/atom</em></a> command is one that calculates per-atom quantities. Since it can time-average per-atom quantities produced by any <a class="reference internal" href="compute.html"><em>compute</em></a>, <a class="reference internal" href="fix.html"><em>fix</em></a>, or atom-style <a class="reference internal" href="variable.html"><em>variable</em></a>, this allows those time-averaged results to be written to a dump file.</p> <p>If <em>f_ID</em> is used as a attribute, then the per-atom vector calculated by the fix is printed. If <em>f_ID[N]</em> is used, then N must be in the range from 1-M, which will print the Nth column of the M-length per-atom array calculated by the fix.</p> <p>The <em>v_name</em> attribute allows per-atom vectors calculated by a <a class="reference internal" href="variable.html"><em>variable</em></a> to be output. The name in the attribute should be replaced by the actual name of the variable that has been defined previously in the input script. Only an atom-style variable can be referenced, since it is the only style that generates per-atom values. Variables of style <em>atom</em> can reference individual atom attributes, per-atom atom attributes, thermodynamic keywords, or invoke other computes, fixes, or variables when they are evaluated, so this is a very general means of creating quantities to output to a dump file.</p> <p>The <em>d_name</em> and <em>i_name</em> attributes allow to output custom per atom floating point or integer properties that are managed by <a class="reference internal" href="fix_property_atom.html"><em>fix property/atom</em></a>.</p> <p>See <a class="reference internal" href="Section_modify.html"><em>Section_modify</em></a> of the manual for information on how to add new compute and fix styles to LAMMPS to calculate per-atom quantities which could then be output into dump files.</p> </div> <hr class="docutils" /> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <p>To write gzipped dump files, you must compile LAMMPS with the -DLAMMPS_GZIP option - see the <a class="reference internal" href="Section_start.html#start-2"><span>Making LAMMPS</span></a> section of the documentation.</p> <p>The <em>atom/mpiio</em>, <em>cfg/mpiio</em>, <em>custom/mpiio</em>, and <em>xyz/mpiio</em> styles are part of the MPIIO package. They are only enabled if LAMMPS was built with that package. See the <a class="reference internal" href="Section_start.html#start-3"><span>Making LAMMPS</span></a> section for more info.</p> <p>The <em>xtc</em> style is part of the XTC package. It is only enabled if LAMMPS was built with that package. See the <a class="reference internal" href="Section_start.html#start-3"><span>Making LAMMPS</span></a> section for more info. This is because some machines may not support the low-level XDR data format that XTC files are written with, which will result in a compile-time error when a low-level include file is not found. Putting this style in a package makes it easy to exclude from a LAMMPS build for those machines. However, the XTC package also includes two compatibility header files and associated functions, which should be a suitable substitute on machines that do not have the appropriate native header files. This option can be invoked at build time by adding -DLAMMPS_XDR to the CCFLAGS variable in the appropriate low-level Makefile, e.g. src/MAKE/Makefile.foo. This compatibility mode has been tested successfully on Cray XT3/XT4/XT5 and IBM BlueGene/L machines and should also work on IBM BG/P, and Windows XP/Vista/7 machines.</p> </div> <div class="section" id="related-commands"> <h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2> <p><a class="reference internal" href="dump_image.html"><em>dump image</em></a>, <a class="reference internal" href="dump_modify.html"><em>dump_modify</em></a>, <a class="reference internal" href="undump.html"><em>undump</em></a></p> </div> <div class="section" id="default"> <h2>Default<a class="headerlink" href="#default" title="Permalink to this headline">¶</a></h2> <p>The defaults for the <em>image</em> and <em>movie</em> styles are listed on the <a class="reference internal" href="dump_image.html"><em>dump image</em></a> doc page.</p> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/dump_image.html b/doc/dump_image.html index a8d23f6d1..04d02bffc 100644 --- a/doc/dump_image.html +++ b/doc/dump_image.html @@ -1,711 +1,711 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>dump image command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>dump image command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="dump-image-command"> <span id="index-0"></span><h1>dump image command<a class="headerlink" href="#dump-image-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="dump-movie-command"> <h1>dump movie command<a class="headerlink" href="#dump-movie-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>dump ID group-ID style N file color diameter keyword value ... </pre></div> </div> <ul class="simple"> <li>ID = user-assigned name for the dump</li> <li>group-ID = ID of the group of atoms to be imaged</li> <li>style = <em>image</em> or <em>movie</em> = style of dump command (other styles <em>atom</em> or <em>cfg</em> or <em>dcd</em> or <em>xtc</em> or <em>xyz</em> or <em>local</em> or <em>custom</em> are discussed on the <a class="reference internal" href="dump.html"><em>dump</em></a> doc page)</li> <li>N = dump every this many timesteps</li> <li>file = name of file to write image to</li> <li>color = atom attribute that determines color of each atom</li> <li>diameter = atom attribute that determines size of each atom</li> <li>zero or more keyword/value pairs may be appended</li> <li>keyword = <em>adiam</em> or <em>atom</em> or <em>bond</em> or <em>size</em> or <em>view</em> or <em>center</em> or <em>up</em> or <em>zoom</em> or <em>persp</em> or <em>box</em> or <em>axes</em> or <em>subbox</em> or <em>shiny</em> or <em>ssao</em></li> </ul> <pre class="literal-block"> <em>adiam</em> value = number = numeric value for atom diameter (distance units) - <em>atom</em> = yes/no = do or do not draw atoms - <em>bond</em> values = color width = color and width of bonds - color = <em>atom</em> or <em>type</em> or <em>none</em> - width = number or <em>atom</em> or <em>type</em> or <em>none</em> - number = numeric value for bond width (distance units) - <em>size</em> values = width height = size of images - width = width of image in # of pixels - height = height of image in # of pixels - <em>view</em> values = theta phi = view of simulation box - theta = view angle from +z axis (degrees) - phi = azimuthal view angle (degrees) - theta or phi can be a variable (see below) - <em>center</em> values = flag Cx Cy Cz = center point of image - flag = "s" for static, "d" for dynamic - Cx,Cy,Cz = center point of image as fraction of box dimension (0.5 = center of box) - Cx,Cy,Cz can be variables (see below) - <em>up</em> values = Ux Uy Uz = direction that is "up" in image - Ux,Uy,Uz = components of up vector - Ux,Uy,Uz can be variables (see below) - <em>zoom</em> value = zfactor = size that simulation box appears in image - zfactor = scale image size by factor > 1 to enlarge, factor < 1 to shrink - zfactor can be a variable (see below) - <em>persp</em> value = pfactor = amount of "perspective" in image - pfactor = amount of perspective (0 = none, < 1 = some, > 1 = highly skewed) - pfactor can be a variable (see below) - <em>box</em> values = yes/no diam = draw outline of simulation box - yes/no = do or do not draw simulation box lines - diam = diameter of box lines as fraction of shortest box length - <em>axes</em> values = yes/no length diam = draw xyz axes - yes/no = do or do not draw xyz axes lines next to simulation box - length = length of axes lines as fraction of respective box lengths - diam = diameter of axes lines as fraction of shortest box length - <em>subbox</em> values = yes/no diam = draw outline of processor sub-domains - yes/no = do or do not draw sub-domain lines - diam = diameter of sub-domain lines as fraction of shortest box length - <em>shiny</em> value = sfactor = shinyness of spheres and cylinders - sfactor = shinyness of spheres and cylinders from 0.0 to 1.0 - <em>ssao</em> value = yes/no seed dfactor = SSAO depth shading - yes/no = turn depth shading on/off - seed = random # seed (positive integer) - dfactor = strength of shading from 0.0 to 1.0 +<em>atom</em> = yes/no = do or do not draw atoms +<em>bond</em> values = color width = color and width of bonds + color = <em>atom</em> or <em>type</em> or <em>none</em> + width = number or <em>atom</em> or <em>type</em> or <em>none</em> + number = numeric value for bond width (distance units) +<em>size</em> values = width height = size of images + width = width of image in # of pixels + height = height of image in # of pixels +<em>view</em> values = theta phi = view of simulation box + theta = view angle from +z axis (degrees) + phi = azimuthal view angle (degrees) + theta or phi can be a variable (see below) +<em>center</em> values = flag Cx Cy Cz = center point of image + flag = "s" for static, "d" for dynamic + Cx,Cy,Cz = center point of image as fraction of box dimension (0.5 = center of box) + Cx,Cy,Cz can be variables (see below) +<em>up</em> values = Ux Uy Uz = direction that is "up" in image + Ux,Uy,Uz = components of up vector + Ux,Uy,Uz can be variables (see below) +<em>zoom</em> value = zfactor = size that simulation box appears in image + zfactor = scale image size by factor > 1 to enlarge, factor < 1 to shrink + zfactor can be a variable (see below) +<em>persp</em> value = pfactor = amount of "perspective" in image + pfactor = amount of perspective (0 = none, < 1 = some, > 1 = highly skewed) + pfactor can be a variable (see below) +<em>box</em> values = yes/no diam = draw outline of simulation box + yes/no = do or do not draw simulation box lines + diam = diameter of box lines as fraction of shortest box length +<em>axes</em> values = yes/no length diam = draw xyz axes + yes/no = do or do not draw xyz axes lines next to simulation box + length = length of axes lines as fraction of respective box lengths + diam = diameter of axes lines as fraction of shortest box length +<em>subbox</em> values = yes/no diam = draw outline of processor sub-domains + yes/no = do or do not draw sub-domain lines + diam = diameter of sub-domain lines as fraction of shortest box length +<em>shiny</em> value = sfactor = shinyness of spheres and cylinders + sfactor = shinyness of spheres and cylinders from 0.0 to 1.0 +<em>ssao</em> value = yes/no seed dfactor = SSAO depth shading + yes/no = turn depth shading on/off + seed = random # seed (positive integer) + dfactor = strength of shading from 0.0 to 1.0 </pre> </div> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>dump d0 all image 100 dump.*.jpg type type dump d1 mobile image 500 snap.*.png element element ssao yes 4539 0.6 dump d2 all image 200 img-*.ppm type type zoom 2.5 adiam 1.5 size 1280 720 dump m0 all movie 1000 movie.mpg type type size 640 480 dump m1 all movie 1000 movie.avi type type size 640 480 dump m2 all movie 100 movie.m4v type type zoom 1.8 adiam v_value size 1280 720 </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>Dump a high-quality rendered image of the atom configuration every N timesteps and save the images either as a sequence of JPEG or PNG or PPM files, or as a single movie file. The options for this command as well as the <a class="reference internal" href="dump_modify.html"><em>dump_modify</em></a> command control what is included in the image or movie and how it appears. A series of such images can easily be manually converted into an animated movie of your simulation or the process can be automated without writing the intermediate files using the dump movie style; see further details below. Other dump styles store snapshots of numerical data asociated with atoms in various formats, as discussed on the <a class="reference internal" href="dump.html"><em>dump</em></a> doc page.</p> <p>Note that a set of images or a movie can be made after a simulation has been run, using the <a class="reference internal" href="rerun.html"><em>rerun</em></a> command to read snapshots from an existing dump file, and using these dump commands in the rerun script to generate the images/movie.</p> <p>Here are two sample images, rendered as 1024x1024 JPEG files. Click to see the full-size images:</p> <DIV ALIGN=center><a data-lightbox="group-default" href="_images/dump1.jpg" class="" title="" data-title="" ><img src="_images/dump1.jpg" class="" width="25%" height="auto" alt=""/> </a><a data-lightbox="group-default" href="_images/dump2.jpg" class="" title="" data-title="" ><img src="_images/dump2.jpg" class="" width="25%" height="auto" alt=""/> </a></DIV><p>Only atoms in the specified group are rendered in the image. The <a class="reference internal" href="dump_modify.html"><em>dump_modify region and thresh</em></a> commands can also alter what atoms are included in the image. The filename suffix determines whether a JPEG, PNG, or PPM file is created with the <em>image</em> dump style. If the suffix is ”.jpg” or ”.jpeg”, then a JPEG format file is created, if the suffix is ”.png”, then a PNG format is created, else a PPM (aka NETPBM) format file is created. The JPEG and PNG files are binary; PPM has a text mode header followed by binary data. JPEG images have lossy compression; PNG has lossless compression; and PPM files are uncompressed but can be compressed with gzip, if LAMMPS has been compiled with -DLAMMPS_GZIP and a ”.gz” suffix is used.</p> <p>Similarly, the format of the resulting movie is chosen with the <em>movie</em> dump style. This is handled by the underlying FFmpeg converter and thus details have to be looked up in the FFmpeg documentation. Typical examples are: .avi, .mpg, .m4v, .mp4, .mkv, .flv, .mov, .gif Additional settings of the movie compression like bitrate and framerate can be set using the <a class="reference internal" href="dump_modify.html"><em>dump_modify</em></a> command.</p> <p>To write out JPEG and PNG format files, you must build LAMMPS with support for the corresponding JPEG or PNG library. To convert images into movies, LAMMPS has to be compiled with the -DLAMMPS_FFMPEG flag. See <a class="reference internal" href="Section_start.html#start-2-4"><span>this section</span></a> of the manual for instructions on how to do this.</p> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">Because periodic boundary conditions are enforced only on timesteps when neighbor lists are rebuilt, the coordinates of an atom in the image may be slightly outside the simulation box.</p> </div> <hr class="docutils" /> <p>Dumps are performed on timesteps that are a multiple of N (including timestep 0) and on the last timestep of a minimization if the minimization converges. Note that this means a dump will not be performed on the initial timestep after the dump command is invoked, if the current timestep is not a multiple of N. This behavior can be changed via the <a class="reference internal" href="dump_modify.html"><em>dump_modify first</em></a> command, which can be useful if the dump command is invoked after a minimization ended on an arbitrary timestep. N can be changed between runs by using the <a class="reference internal" href="dump_modify.html"><em>dump_modify every</em></a> command.</p> <p>Dump <em>image</em> filenames must contain a wildcard character “*”, so that one image file per snapshot is written. The “*” character is replaced with the timestep value. For example, tmp.dump.*.jpg becomes tmp.dump.0.jpg, tmp.dump.10000.jpg, tmp.dump.20000.jpg, etc. Note that the <a class="reference internal" href="dump_modify.html"><em>dump_modify pad</em></a> command can be used to insure all timestep numbers are the same length (e.g. 00010), which can make it easier to convert a series of images into a movie in the correct ordering.</p> <p>Dump <em>movie</em> filenames on the other hand, must not have any wildcard character since only one file combining all images into a single movie will be written by the movie encoder.</p> <hr class="docutils" /> <p>The <em>color</em> and <em>diameter</em> settings determine the color and size of atoms rendered in the image. They can be any atom attribute defined for the <a class="reference internal" href="dump.html"><em>dump custom</em></a> command, including <em>type</em> and <em>element</em>. This includes per-atom quantities calculated by a <a class="reference internal" href="compute.html"><em>compute</em></a>, <a class="reference internal" href="fix.html"><em>fix</em></a>, or <a class="reference internal" href="variable.html"><em>variable</em></a>, which are prefixed by “<a href="#id9"><span class="problematic" id="id10">c_</span></a>”, “<a href="#id11"><span class="problematic" id="id12">f_</span></a>”, or “<a href="#id13"><span class="problematic" id="id14">v_</span></a>” respectively. Note that the <em>diameter</em> setting can be overridden with a numeric value by the optional <em>adiam</em> keyword, in which case you can specify the <em>diameter</em> setting with any valid atom attribute.</p> <p>If <em>type</em> is specified for the <em>color</em> setting, then the color of each atom is determined by its atom type. By default the mapping of types to colors is as follows:</p> <ul class="simple"> <li>type 1 = red</li> <li>type 2 = green</li> <li>type 3 = blue</li> <li>type 4 = yellow</li> <li>type 5 = aqua</li> <li>type 6 = cyan</li> </ul> <p>and repeats itself for types > 6. This mapping can be changed by the <a class="reference internal" href="dump_modify.html"><em>dump_modify acolor</em></a> command.</p> <p>If <em>type</em> is specified for the <em>diameter</em> setting then the diameter of each atom is determined by its atom type. By default all types have diameter 1.0. This mapping can be changed by the <a class="reference internal" href="dump_modify.html"><em>dump_modify adiam</em></a> command.</p> <p>If <em>element</em> is specified for the <em>color</em> and/or <em>diameter</em> setting, then the color and/or diameter of each atom is determined by which element it is, which in turn is specified by the element-to-type mapping specified by the “dump_modify element” command. By default every atom type is C (carbon). Every element has a color and diameter associated with it, which is the same as the colors and sizes used by the <a class="reference external" href="http://mt.seas.upenn.edu/Archive/Graphics/A">AtomEye</a> visualization package.</p> <p>If other atom attributes are used for the <em>color</em> or <em>diameter</em> settings, they are interpreted in the following way.</p> <p>If “vx”, for example, is used as the <em>color</em> setting, then the color of the atom will depend on the x-component of its velocity. The association of a per-atom value with a specific color is determined by a “color map”, which can be specified via the <a class="reference internal" href="dump_modify.html"><em>dump_modify</em></a> command. The basic idea is that the atom-attribute will be within a range of values, and every value within the range is mapped to a specific color. Depending on how the color map is defined, that mapping can take place via interpolation so that a value of -3.2 is halfway between “red” and “blue”, or discretely so that the value of -3.2 is “orange”.</p> <p>If “vx”, for example, is used as the <em>diameter</em> setting, then the atom will be rendered using the x-component of its velocity as the diameter. If the per-atom value <= 0.0, them the atom will not be drawn. Note that finite-size spherical particles, as defined by <a class="reference internal" href="atom_style.html"><em>atom_style sphere</em></a> define a per-particle radius or diameter, which can be used as the <em>diameter</em> setting.</p> <hr class="docutils" /> <p>The various kewords listed above control how the image is rendered. As listed below, all of the keywords have defaults, most of which you will likely not need to change. The <a class="reference internal" href="dump_modify.html"><em>dump modify</em></a> also has options specific to the dump image style, particularly for assigning colors to atoms, bonds, and other image features.</p> <hr class="docutils" /> <p>The <em>adiam</em> keyword allows you to override the <em>diameter</em> setting to a per-atom attribute with a specified numeric value. All atoms will be drawn with that diameter, e.g. 1.5, which is in whatever distance <a class="reference internal" href="units.html"><em>units</em></a> the input script defines, e.g. Angstroms.</p> <p>The <em>atom</em> keyword allow you to turn off the drawing of all atoms, if the specified value is <em>no</em>.</p> <p>The <em>bond</em> keyword allows to you to alter how bonds are drawn. A bond is only drawn if both atoms in the bond are being drawn due to being in the specified group and due to other selection criteria (e.g. region, threshhold settings of the <a class="reference internal" href="dump_modify.html"><em>dump_modify</em></a> command). By default, bonds are drawn if they are defined in the input data file as read by the <a class="reference internal" href="read_data.html"><em>read_data</em></a> command. Using <em>none</em> for both the bond <em>color</em> and <em>width</em> value will turn off the drawing of all bonds.</p> <p>If <em>atom</em> is specified for the bond <em>color</em> value, then each bond is drawn in 2 halves, with the color of each half being the color of the atom at that end of the bond.</p> <p>If <em>type</em> is specified for the <em>color</em> value, then the color of each bond is determined by its bond type. By default the mapping of bond types to colors is as follows:</p> <ul class="simple"> <li>type 1 = red</li> <li>type 2 = green</li> <li>type 3 = blue</li> <li>type 4 = yellow</li> <li>type 5 = aqua</li> <li>type 6 = cyan</li> </ul> <p>and repeats itself for bond types > 6. This mapping can be changed by the <a class="reference internal" href="dump_modify.html"><em>dump_modify bcolor</em></a> command.</p> <p>The bond <em>width</em> value can be a numeric value or <em>atom</em> or <em>type</em> (or <em>none</em> as indicated above).</p> <p>If a numeric value is specified, then all bonds will be drawn as cylinders with that diameter, e.g. 1.0, which is in whatever distance <a class="reference internal" href="units.html"><em>units</em></a> the input script defines, e.g. Angstroms.</p> <p>If <em>atom</em> is specified for the <em>width</em> value, then each bond will be drawn with a width corresponding to the minimum diameter of the 2 atoms in the bond.</p> <p>If <em>type</em> is specified for the <em>width</em> value then the diameter of each bond is determined by its bond type. By default all types have diameter 0.5. This mapping can be changed by the <a class="reference internal" href="dump_modify.html"><em>dump_modify bdiam</em></a> command.</p> <hr class="docutils" /> <p>The <em>size</em> keyword sets the width and height of the created images, i.e. the number of pixels in each direction.</p> <hr class="docutils" /> <p>The <em>view</em>, <em>center</em>, <em>up</em>, <em>zoom</em>, and <em>persp</em> values determine how 3d simulation space is mapped to the 2d plane of the image. Basically they control how the simulation box appears in the image.</p> <p>All of the <em>view</em>, <em>center</em>, <em>up</em>, <em>zoom</em>, and <em>persp</em> values can be specified as numeric quantities, whose meaning is explained below. Any of them can also be specified as an <a class="reference internal" href="variable.html"><em>equal-style variable</em></a>, by using v_name as the value, where “name” is the variable name. In this case the variable will be evaluated on the timestep each image is created to create a new value. If the equal-style variable is time-dependent, this is a means of changing the way the simulation box appears from image to image, effectively doing a pan or fly-by view of your simulation.</p> <p>The <em>view</em> keyword determines the viewpoint from which the simulation box is viewed, looking towards the <em>center</em> point. The <em>theta</em> value is the vertical angle from the +z axis, and must be an angle from 0 to 180 degrees. The <em>phi</em> value is an azimuthal angle around the z axis and can be positive or negative. A value of 0.0 is a view along the +x axis, towards the <em>center</em> point. If <em>theta</em> or <em>phi</em> are specified via variables, then the variable values should be in degrees.</p> <p>The <em>center</em> keyword determines the point in simulation space that will be at the center of the image. <em>Cx</em>, <em>Cy</em>, and <em>Cz</em> are speficied as fractions of the box dimensions, so that (0.5,0.5,0.5) is the center of the simulation box. These values do not have to be between 0.0 and 1.0, if you want the simulation box to be offset from the center of the image. Note, however, that if you choose strange values for <em>Cx</em>, <em>Cy</em>, or <em>Cz</em> you may get a blank image. Internally, <em>Cx</em>, <em>Cy</em>, and <em>Cz</em> are converted into a point in simulation space. If <em>flag</em> is set to “s” for static, then this conversion is done once, at the time the dump command is issued. If <em>flag</em> is set to “d” for dynamic then the conversion is performed every time a new image is created. If the box size or shape is changing, this will adjust the center point in simulation space.</p> <p>The <em>up</em> keyword determines what direction in simulation space will be “up” in the image. Internally it is stored as a vector that is in the plane perpendicular to the view vector implied by the <em>theta</em> and <em>pni</em> values, and which is also in the plane defined by the view vector and user-specified up vector. Thus this internal vector is computed from the user-specified <em>up</em> vector as</p> <div class="highlight-python"><div class="highlight"><pre>up_internal = view cross (up cross view) </pre></div> </div> <p>This means the only restriction on the specified <em>up</em> vector is that it cannot be parallel to the <em>view</em> vector, implied by the <em>theta</em> and <em>phi</em> values.</p> <p>The <em>zoom</em> keyword scales the size of the simulation box as it appears in the image. The default <em>zfactor</em> value of 1 should display an image mostly filled by the atoms in the simulation box. A <em>zfactor</em> > 1 will make the simulation box larger; a <em>zfactor</em> < 1 will make it smaller. <em>Zfactor</em> must be a value > 0.0.</p> <p>The <em>persp</em> keyword determines how much depth perspective is present in the image. Depth perspective makes lines that are parallel in simulation space appear non-parallel in the image. A <em>pfactor</em> value of 0.0 means that parallel lines will meet at infininty (1.0/pfactor), which is an orthographic rendering with no persepctive. A <em>pfactor</em> value between 0.0 and 1.0 will introduce more perspective. A <em>pfactor</em> value > 1 will create a highly skewed image with a large amount of perspective.</p> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">The <em>persp</em> keyword is not yet supported as an option.</p> </div> <hr class="docutils" /> <p>The <em>box</em> keyword determines if and how the simulation box boundaries are rendered as thin cylinders in the image. If <em>no</em> is set, then the box boundaries are not drawn and the <em>diam</em> setting is ignored. If <em>yes</em> is set, the 12 edges of the box are drawn, with a diameter that is a fraction of the shortest box length in x,y,z (for 3d) or x,y (for 2d). The color of the box boundaries can be set with the <a class="reference internal" href="dump_modify.html"><em>dump_modify boxcolor</em></a> command.</p> <p>The <em>axes</em> keyword determines if and how the coordinate axes are rendered as thin cylinders in the image. If <em>no</em> is set, then the axes are not drawn and the <em>length</em> and <em>diam</em> settings are ignored. If <em>yes</em> is set, 3 thin cylinders are drawn to represent the x,y,z axes in colors red,green,blue. The origin of these cylinders will be offset from the lower left corner of the box by 10%. The <em>length</em> setting determines how long the cylinders will be as a fraction of the respective box lengths. The <em>diam</em> setting determines their thickness as a fraction of the shortest box length in x,y,z (for 3d) or x,y (for 2d).</p> <p>The <em>subbox</em> keyword determines if and how processor sub-domain boundaries are rendered as thin cylinders in the image. If <em>no</em> is set (default), then the sub-domain boundaries are not drawn and the <em>diam</em> setting is ignored. If <em>yes</em> is set, the 12 edges of each processor sub-domain are drawn, with a diameter that is a fraction of the shortest box length in x,y,z (for 3d) or x,y (for 2d). The color of the sub-domain boundaries can be set with the <a class="reference internal" href="dump_modify.html"><em>dump_modify boxcolor</em></a> command.</p> <hr class="docutils" /> <p>The <em>shiny</em> keyword determines how shiny the objects rendered in the image will appear. The <em>sfactor</em> value must be a value 0.0 <= <em>sfactor</em> <= 1.0, where <em>sfactor</em> = 1 is a highly reflective surface and <em>sfactor</em> = 0 is a rough non-shiny surface.</p> <p>The <em>ssao</em> keyword turns on/off a screen space ambient occlusion (SSAO) model for depth shading. If <em>yes</em> is set, then atoms further away from the viewer are darkened via a randomized process, which is perceived as depth. The calculation of this effect can increase the cost of computing the image by roughly 2x. The strength of the effect can be scaled by the <em>dfactor</em> parameter. If <em>no</em> is set, no depth shading is performed.</p> <hr class="docutils" /> <p>A series of JPEG, PNG, or PPM images can be converted into a movie file and then played as a movie using commonly available tools. Using dump style <em>movie</em> automates this step and avoids the intermediate step of writing (many) image snapshot file. But LAMMPS has to be compiled with -DLAMMPS_FFMPEG and an FFmpeg executable have to be installed.</p> <p>To manually convert JPEG, PNG or PPM files into an animated GIF or MPEG or other movie file you can use:</p> <ul class="simple"> <li><ol class="first loweralpha"> <li>Use the ImageMagick convert program.</li> </ol> </li> </ul> <div class="highlight-python"><div class="highlight"><pre>% convert *.jpg foo.gif % convert -loop 1 *.ppm foo.mpg </pre></div> </div> <p>Animated GIF files from ImageMagick are unoptimized. You can use a program like gifsicle to optimize and massively shrink them. MPEG files created by ImageMagick are in MPEG-1 format with rather inefficient compression and low quality.</p> <ul class="simple"> <li><ol class="first loweralpha" start="2"> <li>Use QuickTime.</li> </ol> </li> </ul> <p>Select “Open Image Sequence” under the File menu Load the images into QuickTime to animate them Select “Export” under the File menu Save the movie as a QuickTime movie (<a href="#id7"><span class="problematic" id="id8">*</span></a>.mov) or in another format. QuickTime can generate very high quality and efficiently compressed movie files. Some of the supported formats require to buy a license and some are not readable on all platforms until specific runtime libraries are installed.</p> <ul class="simple"> <li><ol class="first loweralpha" start="3"> <li>Use FFmpeg</li> </ol> </li> </ul> <p>FFmpeg is a command line tool that is available on many platforms and allows extremely flexible encoding and decoding of movies.</p> <div class="highlight-python"><div class="highlight"><pre>cat snap.*.jpg | ffmpeg -y -f image2pipe -c:v mjpeg -i - -b:v 2000k movie.m4v cat snap.*.ppm | ffmpeg -y -f image2pipe -c:v ppm -i - -b:v 2400k movie.avi </pre></div> </div> <p>Frontends for FFmpeg exist for multiple platforms. For more information see the <a class="reference external" href="http://www.ffmpeg.org/">FFmpeg homepage</a></p> <hr class="docutils" /> <p>Play the movie:</p> <ul class="simple"> <li><ol class="first loweralpha"> <li>Use your browser to view an animated GIF movie.</li> </ol> </li> </ul> <p>Select “Open File” under the File menu Load the animated GIF file</p> <ul class="simple"> <li>b) Use the freely available mplayer or ffplay tool to view a movie. Both are available for multiple OSes and support a large variety of file formats and decoders.</li> </ul> <div class="highlight-python"><div class="highlight"><pre>% mplayer foo.mpg % ffplay bar.avi </pre></div> </div> <ul class="simple"> <li>c) Use the <a class="reference external" href="http://www.sandia.gov/~sjplimp/pizza.html">Pizza.py</a> <a class="reference external" href="http://www.sandia.gov/~sjplimp/pizza/doc/animate.html">animate tool</a>, which works directly on a series of image files.</li> </ul> <div class="highlight-python"><div class="highlight"><pre><span class="n">a</span> <span class="o">=</span> <span class="n">animate</span><span class="p">(</span><span class="s">"foo*.jpg"</span><span class="p">)</span> </pre></div> </div> <ul class="simple"> <li>d) QuickTime and other Windows- or MacOS-based media players can obviously play movie files directly. Similarly for corresponding tools bundled with Linux desktop environments. However, due to licensing issues with some file formats, the formats may require installing additional libraries, purchasing a license, or may not be supported.</li> </ul> <hr class="docutils" /> <p>See <a class="reference internal" href="Section_modify.html"><em>Section_modify</em></a> of the manual for information on how to add new compute and fix styles to LAMMPS to calculate per-atom quantities which could then be output into dump files.</p> </div> <hr class="docutils" /> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <p>To write JPEG images, you must use the -DLAMMPS_JPEG switch when building LAMMPS and link with a JPEG library. To write PNG images, you must use the -DLAMMPS_PNG switch when building LAMMPS and link with a PNG library.</p> <p>To write <em>movie</em> dumps, you must use the -DLAMMPS_FFMPEG switch when building LAMMPS and have the FFmpeg executable available on the machine where LAMMPS is being run. Typically it’s name is lowercase, i.e. ffmpeg.</p> <p>See the <a class="reference internal" href="Section_start.html#start-2-4"><span>Making LAMMPS</span></a> section of the documentation for details on how to compile with optional switches.</p> <p>Note that since FFmpeg is run as an external program via a pipe, LAMMPS has limited control over its execution and no knowledge about errors and warnings printed by it. Those warnings and error messages will be printed to the screen only. Due to the way image data is communicated to FFmpeg, it will often print the message</p> <div class="highlight-python"><div class="highlight"><pre>pipe:: Input/output error </pre></div> </div> <p>which can be safely ignored. Other warnings and errors have to be addressed according to the FFmpeg documentation. One known issue is that certain movie file formats (e.g. MPEG level 1 and 2 format streams) have video bandwith limits that can be crossed when rendering too large of image sizes. Typical warnings look like this:</p> <div class="highlight-python"><div class="highlight"><pre>[mpeg @ 0x98b5e0] packet too large, ignoring buffer limits to mux it [mpeg @ 0x98b5e0] buffer underflow st=0 bufi=281407 size=285018 [mpeg @ 0x98b5e0] buffer underflow st=0 bufi=283448 size=285018 </pre></div> </div> <p>In this case it is recommended to either reduce the size of the image or encode in a different format that is also supported by your copy of FFmpeg, and which does not have this limitation (e.g. .avi, .mkv, mp4).</p> </div> <div class="section" id="related-commands"> <h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2> <p><a class="reference internal" href="dump.html"><em>dump</em></a>, <a class="reference internal" href="dump_modify.html"><em>dump_modify</em></a>, <a class="reference internal" href="undump.html"><em>undump</em></a></p> </div> <div class="section" id="default"> <h2>Default<a class="headerlink" href="#default" title="Permalink to this headline">¶</a></h2> <p>The defaults for the keywords are as follows:</p> <ul class="simple"> <li>adiam = not specified (use diameter setting)</li> <li>atom = yes</li> <li>bond = none none (if no bonds in system)</li> <li>bond = atom 0.5 (if bonds in system)</li> <li>size = 512 512</li> <li>view = 60 30 (for 3d)</li> <li>view = 0 0 (for 2d)</li> <li>center = s 0.5 0.5 0.5</li> <li>up = 0 0 1 (for 3d)</li> <li>up = 0 1 0 (for 2d)</li> <li>zoom = 1.0</li> <li>persp = 0.0</li> <li>box = yes 0.02</li> <li>axes = no 0.0 0.0</li> <li>subbox no 0.0</li> <li>shiny = 1.0</li> <li>ssao = no</li> </ul> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/dump_modify.html b/doc/dump_modify.html index 16e0c3487..21babce3b 100644 --- a/doc/dump_modify.html +++ b/doc/dump_modify.html @@ -1,1045 +1,1045 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>dump_modify command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>dump_modify command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="dump-modify-command"> <span id="index-0"></span><h1>dump_modify command<a class="headerlink" href="#dump-modify-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>dump_modify dump-ID keyword values ... </pre></div> </div> <ul class="simple"> <li>dump-ID = ID of dump to modify</li> <li>one or more keyword/value pairs may be appended</li> <li>these keywords apply to various dump styles</li> <li>keyword = <em>append</em> or <em>buffer</em> or <em>element</em> or <em>every</em> or <em>fileper</em> or <em>first</em> or <em>flush</em> or <em>format</em> or <em>image</em> or <em>label</em> or <em>nfile</em> or <em>pad</em> or <em>precision</em> or <em>region</em> or <em>scale</em> or <em>sort</em> or <em>thresh</em> or <em>unwrap</em></li> </ul> <pre class="literal-block"> <em>append</em> arg = <em>yes</em> or <em>no</em> - <em>buffer</em> arg = <em>yes</em> or <em>no</em> - <em>element</em> args = E1 E2 ... EN, where N = # of atom types - E1,...,EN = element name, e.g. C or Fe or Ga - <em>every</em> arg = N - N = dump every this many timesteps - N can be a variable (see below) - <em>fileper</em> arg = Np - Np = write one file for every this many processors - <em>first</em> arg = <em>yes</em> or <em>no</em> - <em>format</em> arg = C-style format string for one line of output - <em>flush</em> arg = <em>yes</em> or <em>no</em> - <em>image</em> arg = <em>yes</em> or <em>no</em> - <em>label</em> arg = string - string = character string (e.g. BONDS) to use in header of dump local file - <em>nfile</em> arg = Nf - Nf = write this many files, one from each of Nf processors - <em>pad</em> arg = Nchar = # of characters to convert timestep to - <em>precision</em> arg = power-of-10 value from 10 to 1000000 - <em>region</em> arg = region-ID or "none" - <em>scale</em> arg = <em>yes</em> or <em>no</em> - <em>sfactor</em> arg = coordinate scaling factor (> 0.0) - <em>tfactor</em> arg = time scaling factor (> 0.0) - <em>sort</em> arg = <em>off</em> or <em>id</em> or N or -N - off = no sorting of per-atom lines within a snapshot - id = sort per-atom lines by atom ID - N = sort per-atom lines in ascending order by the Nth column - -N = sort per-atom lines in descending order by the Nth column - <em>thresh</em> args = attribute operation value - attribute = same attributes (x,fy,etotal,sxx,etc) used by dump custom style - operation = "<" or "<=" or ">" or ">=" or "==" or "!=" - value = numeric value to compare to - these 3 args can be replaced by the word "none" to turn off thresholding - <em>unwrap</em> arg = <em>yes</em> or <em>no</em> +<em>buffer</em> arg = <em>yes</em> or <em>no</em> +<em>element</em> args = E1 E2 ... EN, where N = # of atom types + E1,...,EN = element name, e.g. C or Fe or Ga +<em>every</em> arg = N + N = dump every this many timesteps + N can be a variable (see below) +<em>fileper</em> arg = Np + Np = write one file for every this many processors +<em>first</em> arg = <em>yes</em> or <em>no</em> +<em>format</em> arg = C-style format string for one line of output +<em>flush</em> arg = <em>yes</em> or <em>no</em> +<em>image</em> arg = <em>yes</em> or <em>no</em> +<em>label</em> arg = string + string = character string (e.g. BONDS) to use in header of dump local file +<em>nfile</em> arg = Nf + Nf = write this many files, one from each of Nf processors +<em>pad</em> arg = Nchar = # of characters to convert timestep to +<em>precision</em> arg = power-of-10 value from 10 to 1000000 +<em>region</em> arg = region-ID or "none" +<em>scale</em> arg = <em>yes</em> or <em>no</em> +<em>sfactor</em> arg = coordinate scaling factor (> 0.0) +<em>tfactor</em> arg = time scaling factor (> 0.0) +<em>sort</em> arg = <em>off</em> or <em>id</em> or N or -N + off = no sorting of per-atom lines within a snapshot + id = sort per-atom lines by atom ID + N = sort per-atom lines in ascending order by the Nth column + -N = sort per-atom lines in descending order by the Nth column +<em>thresh</em> args = attribute operation value + attribute = same attributes (x,fy,etotal,sxx,etc) used by dump custom style + operation = "<" or "<=" or ">" or ">=" or "==" or "!=" + value = numeric value to compare to + these 3 args can be replaced by the word "none" to turn off thresholding +<em>unwrap</em> arg = <em>yes</em> or <em>no</em> </pre> <ul class="simple"> <li>these keywords apply only to the <em>image</em> and <em>movie</em> <a class="reference internal" href="dump_image.html"><em>styles</em></a></li> <li>keyword = <em>acolor</em> or <em>adiam</em> or <em>amap</em> or <em>backcolor</em> or <em>bcolor</em> or <em>bdiam</em> or <em>boxcolor</em> or <em>color</em> or <em>bitrate</em> or <em>framerate</em></li> </ul> <pre class="literal-block"> <em>acolor</em> args = type color - type = atom type or range of types (see below) - color = name of color or color1/color2/... - <em>adiam</em> args = type diam - type = atom type or range of types (see below) - diam = diameter of atoms of that type (distance units) - <em>amap</em> args = lo hi style delta N entry1 entry2 ... entryN - lo = number or <em>min</em> = lower bound of range of color map - hi = number or <em>max</em> = upper bound of range of color map - style = 2 letters = "c" or "d" or "s" plus "a" or "f" - "c" for continuous - "d" for discrete - "s" for sequential - "a" for absolute - "f" for fractional - delta = binsize (only used for style "s", otherwise ignored) - binsize = range is divided into bins of this width - N = # of subsequent entries - entry = value color (for continuous style) - value = number or <em>min</em> or <em>max</em> = single value within range - color = name of color used for that value - entry = lo hi color (for discrete style) - lo/hi = number or <em>min</em> or <em>max</em> = lower/upper bound of subset of range - color = name of color used for that subset of values - entry = color (for sequential style) - color = name of color used for a bin of values - <em>backcolor</em> arg = color - color = name of color for background - <em>bcolor</em> args = type color - type = bond type or range of types (see below) - color = name of color or color1/color2/... - <em>bdiam</em> args = type diam - type = bond type or range of types (see below) - diam = diameter of bonds of that type (distance units) - <em>boxcolor</em> arg = color - color = name of color for simulation box lines and processor sub-domain lines - <em>color</em> args = name R G B - name = name of color - R,G,B = red/green/blue numeric values from 0.0 to 1.0 - <em>bitrate</em> arg = rate - rate = target bitrate for movie in kbps - <em>framerate</em> arg = fps - fps = frames per second for movie + type = atom type or range of types (see below) + color = name of color or color1/color2/... +<em>adiam</em> args = type diam + type = atom type or range of types (see below) + diam = diameter of atoms of that type (distance units) +<em>amap</em> args = lo hi style delta N entry1 entry2 ... entryN + lo = number or <em>min</em> = lower bound of range of color map + hi = number or <em>max</em> = upper bound of range of color map + style = 2 letters = "c" or "d" or "s" plus "a" or "f" + "c" for continuous + "d" for discrete + "s" for sequential + "a" for absolute + "f" for fractional + delta = binsize (only used for style "s", otherwise ignored) + binsize = range is divided into bins of this width + N = # of subsequent entries + entry = value color (for continuous style) + value = number or <em>min</em> or <em>max</em> = single value within range + color = name of color used for that value + entry = lo hi color (for discrete style) + lo/hi = number or <em>min</em> or <em>max</em> = lower/upper bound of subset of range + color = name of color used for that subset of values + entry = color (for sequential style) + color = name of color used for a bin of values +<em>backcolor</em> arg = color + color = name of color for background +<em>bcolor</em> args = type color + type = bond type or range of types (see below) + color = name of color or color1/color2/... +<em>bdiam</em> args = type diam + type = bond type or range of types (see below) + diam = diameter of bonds of that type (distance units) +<em>boxcolor</em> arg = color + color = name of color for simulation box lines and processor sub-domain lines +<em>color</em> args = name R G B + name = name of color + R,G,B = red/green/blue numeric values from 0.0 to 1.0 +<em>bitrate</em> arg = rate + rate = target bitrate for movie in kbps +<em>framerate</em> arg = fps + fps = frames per second for movie </pre> </div> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>dump_modify 1 format "%d %d %20.15g %g %g" scale yes dump_modify myDump image yes scale no flush yes dump_modify 1 region mySphere thresh x < 0.0 thresh epair >= 3.2 dump_modify xtcdump precision 10000 sfactor 0.1 dump_modify 1 every 1000 nfile 20 dump_modify 1 every v_myVar dump_modify 1 amap min max cf 0.0 3 min green 0.5 yellow max blue boxcolor red </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>Modify the parameters of a previously defined dump command. Not all parameters are relevant to all dump styles.</p> <p>As explained on the <a class="reference internal" href="dump.html"><em>dump</em></a> doc page, the <em>atom/mpiio</em>, <em>custom/mpiio</em>, and <em>xyz/mpiio</em> dump styles are identical in command syntax and in the format of the dump files they create, to the corresponding styles without “mpiio”, except the single dump file they produce is written in parallel via the MPI-IO library. Thus if a dump_modify option below is valid for the <em>atom</em> style, it is also valid for the <em>atom/mpiio</em> style, and similarly for the other styles which allow for use of MPI-IO.</p> <p>These keywords apply to various dump styles, including the <a class="reference internal" href="dump_image.html"><em>dump image</em></a> and <a class="reference internal" href="dump_image.html"><em>dump movie</em></a> styles. The description gives details.</p> <hr class="docutils" /> <p>The <em>append</em> keyword applies to all dump styles except <em>cfg</em> and <em>xtc</em> and <em>dcd</em>. It also applies only to text output files, not to binary or gzipped or image/movie files. If specified as <em>yes</em>, then dump snapshots are appended to the end of an existing dump file. If specified as <em>no</em>, then a new dump file will be created which will overwrite an existing file with the same name. This keyword can only take effect if the dump_modify command is used after the <a class="reference internal" href="dump.html"><em>dump</em></a> command, but before the first command that causes dump snapshots to be output, e.g. a <a class="reference internal" href="run.html"><em>run</em></a> or <a class="reference internal" href="minimize.html"><em>minimize</em></a> command. Once the dump file has been opened, this keyword has no further effect.</p> <hr class="docutils" /> <p>The <em>buffer</em> keyword applies only to dump styles <em>atom</em>, <em>cfg</em>, <em>custom</em>, <em>local</em>, and <em>xyz</em>. It also applies only to text output files, not to binary or gzipped files. If specified as <em>yes</em>, which is the default, then each processor writes its output into an internal text buffer, which is then sent to the processor(s) which perform file writes, and written by those processors(s) as one large chunk of text. If specified as <em>no</em>, each processor sends its per-atom data in binary format to the processor(s) which perform file wirtes, and those processor(s) format and write it line by line into the output file.</p> <p>The buffering mode is typically faster since each processor does the relatively expensive task of formatting the output for its own atoms. However it requires about twice the memory (per processor) for the extra buffering.</p> <hr class="docutils" /> <p>The <em>element</em> keyword applies only to the the dump <em>cfg</em>, <em>xyz</em>, and <em>image</em> styles. It associates element names (e.g. H, C, Fe) with LAMMPS atom types. See the list of element names at the bottom of this page.</p> <p>In the case of dump <em>cfg</em>, this allows the <a class="reference external" href="http://mt.seas.upenn.edu/Archive/Graphics/A">AtomEye</a> visualization package to read the dump file and render atoms with the appropriate size and color.</p> <p>In the case of dump <em>image</em>, the output images will follow the same <a class="reference external" href="http://mt.seas.upenn.edu/Archive/Graphics/A">AtomEye</a> convention. An element name is specified for each atom type (1 to Ntype) in the simulation. The same element name can be given to multiple atom types.</p> <p>In the case of <em>xyz</em> format dumps, there are no restrictions to what label can be used as an element name. Any whitespace separated text will be accepted.</p> <hr class="docutils" /> <p>The <em>every</em> keyword changes the dump frequency originally specified by the <a class="reference internal" href="dump.html"><em>dump</em></a> command to a new value. The every keyword can be specified in one of two ways. It can be a numeric value in which case it must be > 0. Or it can be an <a class="reference internal" href="variable.html"><em>equal-style variable</em></a>, which should be specified as v_name, where name is the variable name.</p> <p>In this case, the variable is evaluated at the beginning of a run to determine the next timestep at which a dump snapshot will be written out. On that timestep the variable will be evaluated again to determine the next timestep, etc. Thus the variable should return timestep values. See the stagger() and logfreq() and stride() math functions for <a class="reference internal" href="variable.html"><em>equal-style variables</em></a>, as examples of useful functions to use in this context. Other similar math functions could easily be added as options for <a class="reference internal" href="variable.html"><em>equal-style variables</em></a>. Also see the next() function, which allows use of a file-style variable which reads successive values from a file, each time the variable is evaluated. Used with the <em>every</em> keyword, if the file contains a list of ascending timesteps, you can output snapshots whenever you wish.</p> <p>Note that when using the variable option with the <em>every</em> keyword, you need to use the <em>first</em> option if you want an initial snapshot written to the dump file. The <em>every</em> keyword cannot be used with the dump <em>dcd</em> style.</p> <p>For example, the following commands will write snapshots at timesteps 0,10,20,30,100,200,300,1000,2000,etc:</p> <div class="highlight-python"><div class="highlight"><pre>variable s equal logfreq(10,3,10) dump 1 all atom 100 tmp.dump dump_modify 1 every v_s first yes </pre></div> </div> <p>The following commands would write snapshots at the timesteps listed in file tmp.times:</p> <div class="highlight-python"><div class="highlight"><pre>variable f file tmp.times variable s equal next(f) dump 1 all atom 100 tmp.dump dump_modify 1 every v_s </pre></div> </div> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">When using a file-style variable with the <em>every</em> keyword, the file of timesteps must list a first timestep that is beyond the current timestep (e.g. it cannot be 0). And it must list one or more timesteps beyond the length of the run you perform. This is because the dump command will generate an error if the next timestep it reads from the file is not a value greater than the current timestep. Thus if you wanted output on steps 0,15,100 of a 100-timestep run, the file should contain the values 15,100,101 and you should also use the dump_modify first command. Any final value > 100 could be used in place of 101.</p> </div> <hr class="docutils" /> <p>The <em>first</em> keyword determines whether a dump snapshot is written on the very first timestep after the dump command is invoked. This will always occur if the current timestep is a multiple of N, the frequency specified in the <a class="reference internal" href="dump.html"><em>dump</em></a> command, including timestep 0. But if this is not the case, a dump snapshot will only be written if the setting of this keyword is <em>yes</em>. If it is <em>no</em>, which is the default, then it will not be written.</p> <hr class="docutils" /> <p>The <em>flush</em> keyword determines whether a flush operation is invoked after a dump snapshot is written to the dump file. A flush insures the output in that file is current (no buffering by the OS), even if LAMMPS halts before the simulation completes. Flushes cannot be performed with dump style <em>xtc</em>.</p> <hr class="docutils" /> <p>The text-based dump styles have a default C-style format string which simply specifies %d for integers and %g for floating-point values. The <em>format</em> keyword can be used to override the default with a new C-style format string. Do not include a trailing “n” newline character in the format string. This option has no effect on the <em>dcd</em> and <em>xtc</em> dump styles since they write binary files. Note that for the <em>cfg</em> style, the first two fields (atom id and type) are not actually written into the CFG file, though you must include formats for them in the format string.</p> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">Any value written to a text-based dump file that is a per-atom quantity calculated by a <a class="reference internal" href="compute.html"><em>compute</em></a> or <a class="reference internal" href="fix.html"><em>fix</em></a> is stored internally as a floating-point value. If the value is actually an integer and you wish it to appear in the text dump file as a (large) integer, then you need to use an appropriate format. For example, these commands:</p> </div> <div class="highlight-python"><div class="highlight"><pre>compute 1 all property/local batom1 batom2 dump 1 all local 100 tmp.bonds index c_1[1] c_1[2] dump_modify 1 format "%d %0.0f %0.0f" </pre></div> </div> <p>will output the two atom IDs for atoms in each bond as integers. If the dump_modify command were omitted, they would appear as floating-point values, assuming they were large integers (more than 6 digits). The “index” keyword should use the “%d” format since it is not generated by a compute or fix, and is stored internally as an integer.</p> <hr class="docutils" /> <p>The <em>fileper</em> keyword is documented below with the <em>nfile</em> keyword.</p> <hr class="docutils" /> <p>The <em>image</em> keyword applies only to the dump <em>atom</em> style. If the image value is <em>yes</em>, 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 boundary 2 times and is really 2 box lengths to the left of its current coordinate. Note that for dump style <em>custom</em> these various values can be printed in the dump file by using the appropriate atom attributes in the dump command itself.</p> <hr class="docutils" /> <p>The <em>label</em> keyword applies only to the dump <em>local</em> style. When it writes local information, such as bond or angle topology to a dump file, it will use the specified <em>label</em> to format the header. By default this includes 2 lines:</p> <div class="highlight-python"><div class="highlight"><pre>ITEM: NUMBER OF ENTRIES ITEM: ENTRIES ... </pre></div> </div> <p>The word “ENTRIES” will be replaced with the string specified, e.g. BONDS or ANGLES.</p> <hr class="docutils" /> <p>The <em>nfile</em> or <em>fileper</em> keywords can be used in conjunction with the “%” wildcard character in the specified dump file name, for all dump styles except the <em>dcd</em>, <em>image</em>, <em>movie</em>, <em>xtc</em>, and <em>xyz</em> styles (for which “%” is not allowed). As explained on the <a class="reference internal" href="dump.html"><em>dump</em></a> command doc page, the “%” character causes the dump file to be written in pieces, one piece for each of P processors. By default P = the number of processors the simulation is running on. The <em>nfile</em> or <em>fileper</em> keyword can be used to set P to a smaller value, which can be more efficient when running on a large number of processors.</p> <p>The <em>nfile</em> keyword sets P to the specified Nf value. For example, if Nf = 4, and the simulation is running on 100 processors, 4 files will be written, by processors 0,25,50,75. Each will collect information from itself and the next 24 processors and write it to a dump file.</p> <p>For the <em>fileper</em> keyword, the specified value of Np means write one file for every Np processors. For example, if Np = 4, every 4th processor (0,4,8,12,etc) will collect information from itself and the next 3 processors and write it to a dump file.</p> <hr class="docutils" /> <p>The <em>pad</em> keyword only applies when the dump filename is specified with a wildcard “*” character which becomes the timestep. If <em>pad</em> is 0, which is the default, the timestep is converted into a string of unpadded length, e.g. 100 or 12000 or 2000000. When <em>pad</em> is specified with <em>Nchar</em> > 0, the string is padded with leading zeroes so they are all the same length = <em>Nchar</em>. For example, pad 7 would yield 0000100, 0012000, 2000000. This can be useful so that post-processing programs can easily read the files in ascending timestep order.</p> <hr class="docutils" /> <p>The <em>precision</em> keyword only applies to the dump <em>xtc</em> style. A specified value of N means that coordinates are stored to 1/N nanometer accuracy, e.g. for N = 1000, the coordinates are written to 1/1000 nanometer accuracy.</p> <hr class="docutils" /> <p>The <em>sfactor</em> and <em>tfactor</em> keywords only apply to the dump <em>xtc</em> style. They allow customization of the unit conversion factors used when writing to XTC files. By default they are initialized for whatever <a class="reference internal" href="units.html"><em>units</em></a> style is being used, to write out coordinates in nanometers and time in picoseconds. I.e. for <em>real</em> units, LAMMPS defines <em>sfactor</em> = 0.1 and <em>tfactor</em> = 0.001, since the Angstroms and fmsec used by <em>real</em> units are 0.1 nm and 0.001 psec respectively. If you are using a units system with distance and time units far from nm and psec, you may wish to write XTC files with different units, since the compression algorithm used in XTC files is most effective when the typical magnitude of position data is between 10.0 and 0.1.</p> <hr class="docutils" /> <p>The <em>region</em> keyword only applies to the dump <em>custom</em>, <em>cfg</em>, <em>image</em>, and <em>movie</em> styles. If specified, only atoms in the region will be written to the dump file or included in the image/movie. Only one region can be applied as a filter (the last one specified). See the <a class="reference internal" href="region.html"><em>region</em></a> command for more details. Note that a region can be defined as the “inside” or “outside” of a geometric shape, and it can be the “union” or “intersection” of a series of simpler regions.</p> <hr class="docutils" /> <p>The <em>scale</em> keyword applies only to the dump <em>atom</em> style. A scale value of <em>yes</em> means atom coords are written in normalized units from 0.0 to 1.0 in each box dimension. If the simluation box is triclinic (tilted), then all atom coords will still be between 0.0 and 1.0. A value of <em>no</em> means they are written in absolute distance units (e.g. Angstroms or sigma).</p> <hr class="docutils" /> <p>The <em>sort</em> keyword determines whether lines of per-atom output in a snapshot are sorted or not. A sort value of <em>off</em> means they will typically be written in indeterminate order, either in serial or parallel. This is the case even in serial if the <a class="reference internal" href="atom_modify.html"><em>atom_modify sort</em></a> option is turned on, which it is by default, to improve performance. A sort value of <em>id</em> means sort the output by atom ID. A sort value of N or -N means sort the output by the value in the Nth column of per-atom info in either ascending or descending order.</p> <p>The dump <em>local</em> style cannot be sorted by atom ID, since there are typically multiple lines of output per atom. Some dump styles, such as <em>dcd</em> and <em>xtc</em>, require sorting by atom ID to format the output file correctly. If multiple processors are writing the dump file, via the “%” wildcard in the dump filename, then sorting cannot be performed.</p> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">Unless it is required by the dump style, sorting dump file output requires extra overhead in terms of CPU and communication cost, as well as memory, versus unsorted output.</p> </div> <hr class="docutils" /> <p>The <em>thresh</em> keyword only applies to the dump <em>custom</em>, <em>cfg</em>, <em>image</em>, and <em>movie</em> styles. Multiple thresholds can be specified. Specifying “none” turns off all threshold criteria. If thresholds are specified, only atoms whose attributes meet all the threshold criteria are written to the dump file or included in the image. The possible attributes that can be tested for are the same as those that can be specified in the <a class="reference internal" href="dump.html"><em>dump custom</em></a> command, with the exception of the <em>element</em> attribute, since it is not a numeric value. Note that different attributes can be output by the dump custom command than are used as threshold criteria by the dump_modify command. E.g. you can output the coordinates and stress of atoms whose energy is above some threshold.</p> <hr class="docutils" /> <p>The <em>unwrap</em> keyword only applies to the dump <em>dcd</em> and <em>xtc</em> styles. If set to <em>yes</em>, coordinates will be written “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 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 stored with the snapshot.</p> <p>These keywords apply only to the <a class="reference internal" href="dump_image.html"><em>dump image</em></a> and <a class="reference internal" href="dump_image.html"><em>dump movie</em></a> styles. Any keyword that affects an image, also affects a movie, since the movie is simply a collection of images. Some of the keywords only affect the <a class="reference internal" href="dump_image.html"><em>dump movie</em></a> style. The descriptions give details.</p> <hr class="docutils" /> <p>The <em>acolor</em> keyword can be used with the <a class="reference internal" href="dump_image.html"><em>dump image</em></a> command, when its atom color setting is <em>type</em>, to set the color that atoms of each type will be drawn in the image.</p> <p>The specified <em>type</em> should be an integer from 1 to Ntypes = the number of atom types. A wildcard asterisk can be used in place of or in conjunction with the <em>type</em> argument to specify a range of atom types. This takes the form “*” or “<em>n” or “n</em>” or “m*n”. If N = the number of atom types, then an asterisk with no numeric values means all types from 1 to N. A leading asterisk means all types from 1 to n (inclusive). A trailing asterisk means all types from n to N (inclusive). A middle asterisk means all types from m to n (inclusive).</p> <p>The specified <em>color</em> can be a single color which is any of the 140 pre-defined colors (see below) or a color name defined by the dump_modify color option. Or it can be two or more colors separated by a “/” character, e.g. red/green/blue. In the former case, that color is assigned to all the specified atom types. In the latter case, the list of colors are assigned in a round-robin fashion to each of the specified atom types.</p> <hr class="docutils" /> <p>The <em>adiam</em> keyword can be used with the <a class="reference internal" href="dump_image.html"><em>dump image</em></a> command, when its atom diameter setting is <em>type</em>, to set the size that atoms of each type will be drawn in the image. The specified <em>type</em> should be an integer from 1 to Ntypes. As with the <em>acolor</em> keyword, a wildcard asterisk can be used as part of the <em>type</em> argument to specify a range of atomt types. The specified <em>diam</em> is the size in whatever distance <a class="reference internal" href="units.html"><em>units</em></a> the input script is using, e.g. Angstroms.</p> <hr class="docutils" /> <p>The <em>amap</em> keyword can be used with the <a class="reference internal" href="dump_image.html"><em>dump image</em></a> command, with its <em>atom</em> keyword, when its atom setting is an atom-attribute, to setup a color map. The color map is used to assign a specific RGB (red/green/blue) color value to an individual atom when it is drawn, based on the atom’s attribute, which is a numeric value, e.g. its x-component of velocity if the atom-attribute “vx” was specified.</p> <p>The basic idea of a color map is that the atom-attribute will be within a range of values, and that range is associated with a a series of colors (e.g. red, blue, green). An atom’s specific value (vx = -3.2) can then mapped to the series of colors (e.g. halfway between red and blue), and a specific color is determined via an interpolation procedure.</p> <p>There are many possible options for the color map, enabled by the <em>amap</em> keyword. Here are the details.</p> <p>The <em>lo</em> and <em>hi</em> settings determine the range of values allowed for the atom attribute. If numeric values are used for <em>lo</em> and/or <em>hi</em>, then values that are lower/higher than that value are set to the value. I.e. the range is static. If <em>lo</em> is specified as <em>min</em> or <em>hi</em> as <em>max</em> then the range is dynamic, and the lower and/or upper bound will be calculated each time an image is drawn, based on the set of atoms being visualized.</p> <p>The <em>style</em> setting is two letters, such as “ca”. The first letter is either “c” for continuous, “d” for discrete, or “s” for sequential. The second letter is either “a” for absolute, or “f” for fractional.</p> <p>A continuous color map is one in which the color changes continuously from value to value within the range. A discrete color map is one in which discrete colors are assigned to sub-ranges of values within the range. A sequential color map is one in which discrete colors are assigned to a sequence of sub-ranges of values covering the entire range.</p> <p>An absolute color map is one in which the values to which colors are assigned are specified explicitly as values within the range. A fractional color map is one in which the values to which colors are assigned are specified as a fractional portion of the range. For example if the range is from -10.0 to 10.0, and the color red is to be assigned to atoms with a value of 5.0, then for an absolute color map the number 5.0 would be used. But for a fractional map, the number 0.75 would be used since 5.0 is 3/4 of the way from -10.0 to 10.0.</p> <p>The <em>delta</em> setting must be specified for all styles, but is only used for the sequential style; otherwise the value is ignored. It specifies the bin size to use within the range for assigning consecutive colors to. For example, if the range is from -10.0 to 10.0 and a <em>delta</em> of 1.0 is used, then 20 colors will be assigned to the range. The first will be from -10.0 <= color1 < -9.0, then 2nd from -9.0 <= color2 < -8.0, etc.</p> <p>The <em>N</em> setting is how many entries follow. The format of the entries depends on whether the color map style is continuous, discrete or sequential. In all cases the <em>color</em> setting can be any of the 140 pre-defined colors (see below) or a color name defined by the dump_modify color option.</p> <p>For continuous color maps, each entry has a <em>value</em> and a <em>color</em>. The <em>value</em> is either a number within the range of values or <em>min</em> or <em>max</em>. The <em>value</em> of the first entry must be <em>min</em> and the <em>value</em> of the last entry must be <em>max</em>. Any entries in between must have increasing values. Note that numeric values can be specified either as absolute numbers or as fractions (0.0 to 1.0) of the range, depending on the “a” or “f” in the style setting for the color map.</p> <p>Here is how the entries are used to determine the color of an individual atom, given the value X of its atom attribute. X will fall between 2 of the entry values. The color of the atom is linearly interpolated (in each of the RGB values) between the 2 colors associated with those entries. For example, if X = -5.0 and the 2 surrounding entries are “red” at -10.0 and “blue” at 0.0, then the atom’s color will be halfway between “red” and “blue”, which happens to be “purple”.</p> <p>For discrete color maps, each entry has a <em>lo</em> and <em>hi</em> value and a <em>color</em>. The <em>lo</em> and <em>hi</em> settings are either numbers within the range of values or <em>lo</em> can be <em>min</em> or <em>hi</em> can be <em>max</em>. The <em>lo</em> and <em>hi</em> settings of the last entry must be <em>min</em> and <em>max</em>. Other entries can have any <em>lo</em> and <em>hi</em> values and the sub-ranges of different values can overlap. Note that numeric <em>lo</em> and <em>hi</em> values can be specified either as absolute numbers or as fractions (0.0 to 1.0) of the range, depending on the “a” or “f” in the style setting for the color map.</p> <p>Here is how the entries are used to determine the color of an individual atom, given the value X of its atom attribute. The entries are scanned from first to last. The first time that <em>lo</em> <= X <= <em>hi</em>, X is assigned the color associated with that entry. You can think of the last entry as assigning a default color (since it will always be matched by X), and the earlier entries as colors that override the default. Also note that no interpolation of a color RGB is done. All atoms will be drawn with one of the colors in the list of entries.</p> <p>For sequential color maps, each entry has only a <em>color</em>. Here is how the entries are used to determine the color of an individual atom, given the value X of its atom attribute. The range is partitioned into N bins of width <em>binsize</em>. Thus X will fall in a specific bin from 1 to N, say the Mth bin. If it falls on a boundary between 2 bins, it is considered to be in the higher of the 2 bins. Each bin is assigned a color from the E entries. If E < N, then the colors are repeated. For example if 2 entries with colors red and green are specified, then the odd numbered bins will be red and the even bins green. The color of the atom is the color of its bin. Note that the sequential color map is really a shorthand way of defining a discrete color map without having to specify where all the bin boundaries are.</p> <p>Here is an example of using a sequential color map to color all the atoms in individual molecules with a different color. See the examples/pour/in.pour.2d.molecule input script for an example of how this is used.</p> <div class="highlight-python"><div class="highlight"><pre>variable colors string & "red green blue yellow white & purple pink orange lime gray" variable mol atom mol%10 dump 1 all image 250 image.*.jpg v_mol type & zoom 1.6 adiam 1.5 dump_modify 1 pad 5 amap 0 10 sa 1 10 ${colors} </pre></div> </div> <p>In this case, 10 colors are defined, and molecule IDs are mapped to one of the colors, even if there are 1000s of molecules.</p> <hr class="docutils" /> <p>The <em>backcolor</em> sets the background color of the images. The color name can be any of the 140 pre-defined colors (see below) or a color name defined by the dump_modify color option.</p> <hr class="docutils" /> <p>The <em>bcolor</em> keyword can be used with the <a class="reference internal" href="dump_image.html"><em>dump image</em></a> command, with its <em>bond</em> keyword, when its color setting is <em>type</em>, to set the color that bonds of each type will be drawn in the image.</p> <p>The specified <em>type</em> should be an integer from 1 to Nbondtypes = the number of bond types. A wildcard asterisk can be used in place of or in conjunction with the <em>type</em> argument to specify a range of bond types. This takes the form “*” or “<em>n” or “n</em>” or “m*n”. If N = the number of bond types, then an asterisk with no numeric values means all types from 1 to N. A leading asterisk means all types from 1 to n (inclusive). A trailing asterisk means all types from n to N (inclusive). A middle asterisk means all types from m to n (inclusive).</p> <p>The specified <em>color</em> can be a single color which is any of the 140 pre-defined colors (see below) or a color name defined by the dump_modify color option. Or it can be two or more colors separated by a “/” character, e.g. red/green/blue. In the former case, that color is assigned to all the specified bond types. In the latter case, the list of colors are assigned in a round-robin fashion to each of the specified bond types.</p> <hr class="docutils" /> <p>The <em>bdiam</em> keyword can be used with the <a class="reference internal" href="dump_image.html"><em>dump image</em></a> command, with its <em>bond</em> keyword, when its diam setting is <em>type</em>, to set the diameter that bonds of each type will be drawn in the image. The specified <em>type</em> should be an integer from 1 to Nbondtypes. As with the <em>bcolor</em> keyword, a wildcard asterisk can be used as part of the <em>type</em> argument to specify a range of bond types. The specified <em>diam</em> is the size in whatever distance <a class="reference internal" href="units.html"><em>units</em></a> you are using, e.g. Angstroms.</p> <hr class="docutils" /> <p>The <em>bitrate</em> keyword can be used with the <a class="reference internal" href="dump_image.html"><em>dump movie</em></a> command to define the size of the resulting movie file and its quality via setting how many kbits per second are to be used for the movie file. Higher bitrates require less compression and will result in higher quality movies. The quality is also determined by the compression format and encoder. The default setting is 2000 kbit/s, which will result in average quality with older compression formats.</p> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">Not all movie file formats supported by dump movie allow the bitrate to be set. If not, the setting is silently ignored.</p> </div> <hr class="docutils" /> <p>The <em>boxcolor</em> keyword sets the color of the simulation box drawn around the atoms in each image as well as the color of processor sub-domain boundaries. See the “dump image box” command for how to specify that a box be drawn via the <em>box</em> keyword, and the sub-domain boundaries via the <em>subbox</em> keyword. The color name can be any of the 140 pre-defined colors (see below) or a color name defined by the dump_modify color option.</p> <hr class="docutils" /> <p>The <em>color</em> keyword allows definition of a new color name, in addition to the 140-predefined colors (see below), and associates 3 red/green/blue RGB values with that color name. The color name can then be used with any other dump_modify keyword that takes a color name as a value. The RGB values should each be floating point values between 0.0 and 1.0 inclusive.</p> <p>When a color name is converted to RGB values, the user-defined color names are searched first, then the 140 pre-defined color names. This means you can also use the <em>color</em> keyword to overwrite one of the pre-defined color names with new RBG values.</p> <hr class="docutils" /> <p>The <em>framerate</em> keyword can be used with the <a class="reference internal" href="dump_image.html"><em>dump movie</em></a> command to define the duration of the resulting movie file. Movie files written by the dump <em>movie</em> command have a default frame rate of 24 frames per second and the images generated will be converted at that rate. Thus a sequence of 1000 dump images will result in a movie of about 42 seconds. To make a movie run longer you can either generate images more frequently or lower the frame rate. To speed a movie up, you can do the inverse. Using a frame rate higher than 24 is not recommended, as it will result in simply dropping the rendered images. It is more efficient to dump images less frequently.</p> </div> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <blockquote> <div>none</div></blockquote> </div> <div class="section" id="related-commands"> <h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2> <p><a class="reference internal" href="dump.html"><em>dump</em></a>, <a class="reference internal" href="dump_image.html"><em>dump image</em></a>, <a class="reference internal" href="undump.html"><em>undump</em></a></p> </div> <div class="section" id="default"> <h2>Default<a class="headerlink" href="#default" title="Permalink to this headline">¶</a></h2> <p>The option defaults are</p> <ul class="simple"> <li>append = no</li> <li>buffer = yes for dump styles <em>atom</em>, <em>custom</em>, <em>loca</em>, and <em>xyz</em></li> <li>element = “C” for every atom type</li> <li>every = whatever it was set to via the <a class="reference internal" href="dump.html"><em>dump</em></a> command</li> <li>fileper = # of processors</li> <li>first = no</li> <li>flush = yes</li> <li>format = %d and %g for each integer or floating point value</li> <li>image = no</li> <li>label = ENTRIES</li> <li>nfile = 1</li> <li>pad = 0</li> <li>precision = 1000</li> <li>region = none</li> <li>scale = yes</li> <li>sort = off for dump styles <em>atom</em>, <em>custom</em>, <em>cfg</em>, and <em>local</em></li> <li>sort = id for dump styles <em>dcd</em>, <em>xtc</em>, and <em>xyz</em></li> <li>thresh = none</li> <li>unwrap = no</li> <li>acolor = * red/green/blue/yellow/aqua/cyan</li> <li>adiam = * 1.0</li> <li>amap = min max cf 0.0 2 min blue max red</li> <li>backcolor = black</li> <li>bcolor = * red/green/blue/yellow/aqua/cyan</li> <li>bdiam = * 0.5</li> <li>bitrate = 2000</li> <li>boxcolor = yellow</li> <li>color = 140 color names are pre-defined as listed below</li> <li>framerate = 24</li> </ul> <hr class="docutils" /> <p>These are the standard 109 element names that LAMMPS pre-defines for use with the <a class="reference internal" href="dump_image.html"><em>dump image</em></a> and dump_modify commands.</p> <ul class="simple"> <li>1-10 = “H”, “He”, “Li”, “Be”, “B”, “C”, “N”, “O”, “F”, “Ne”</li> <li>11-20 = “Na”, “Mg”, “Al”, “Si”, “P”, “S”, “Cl”, “Ar”, “K”, “Ca”</li> <li>21-30 = “Sc”, “Ti”, “V”, “Cr”, “Mn”, “Fe”, “Co”, “Ni”, “Cu”, “Zn”</li> <li>31-40 = “Ga”, “Ge”, “As”, “Se”, “Br”, “Kr”, “Rb”, “Sr”, “Y”, “Zr”</li> <li>41-50 = “Nb”, “Mo”, “Tc”, “Ru”, “Rh”, “Pd”, “Ag”, “Cd”, “In”, “Sn”</li> <li>51-60 = “Sb”, “Te”, “I”, “Xe”, “Cs”, “Ba”, “La”, “Ce”, “Pr”, “Nd”</li> <li>61-70 = “Pm”, “Sm”, “Eu”, “Gd”, “Tb”, “Dy”, “Ho”, “Er”, “Tm”, “Yb”</li> <li>71-80 = “Lu”, “Hf”, “Ta”, “W”, “Re”, “Os”, “Ir”, “Pt”, “Au”, “Hg”</li> <li>81-90 = “Tl”, “Pb”, “Bi”, “Po”, “At”, “Rn”, “Fr”, “Ra”, “Ac”, “Th”</li> <li>91-100 = “Pa”, “U”, “Np”, “Pu”, “Am”, “Cm”, “Bk”, “Cf”, “Es”, “Fm”</li> <li>101-109 = “Md”, “No”, “Lr”, “Rf”, “Db”, “Sg”, “Bh”, “Hs”, “Mt”</li> </ul> <hr class="docutils" /> <p>These are the 140 colors that LAMMPS pre-defines for use with the <a class="reference internal" href="dump_image.html"><em>dump image</em></a> and dump_modify commands. Additional colors can be defined with the dump_modify color command. The 3 numbers listed for each name are the RGB (red/green/blue) values. Divide each value by 255 to get the equivalent 0.0 to 1.0 value.</p> <table border="1" class="docutils"> <colgroup> <col width="19%" /> <col width="23%" /> <col width="20%" /> <col width="19%" /> <col width="19%" /> </colgroup> <tbody valign="top"> <tr class="row-odd"><td>aliceblue = 240, 248, 255</td> <td>antiquewhite = 250, 235, 215</td> <td>aqua = 0, 255, 255</td> <td>aquamarine = 127, 255, 212</td> <td>azure = 240, 255, 255</td> </tr> <tr class="row-even"><td>beige = 245, 245, 220</td> <td>bisque = 255, 228, 196</td> <td>black = 0, 0, 0</td> <td>blanchedalmond = 255, 255, 205</td> <td>blue = 0, 0, 255</td> </tr> <tr class="row-odd"><td>blueviolet = 138, 43, 226</td> <td>brown = 165, 42, 42</td> <td>burlywood = 222, 184, 135</td> <td>cadetblue = 95, 158, 160</td> <td>chartreuse = 127, 255, 0</td> </tr> <tr class="row-even"><td>chocolate = 210, 105, 30</td> <td>coral = 255, 127, 80</td> <td>cornflowerblue = 100, 149, 237</td> <td>cornsilk = 255, 248, 220</td> <td>crimson = 220, 20, 60</td> </tr> <tr class="row-odd"><td>cyan = 0, 255, 255</td> <td>darkblue = 0, 0, 139</td> <td>darkcyan = 0, 139, 139</td> <td>darkgoldenrod = 184, 134, 11</td> <td>darkgray = 169, 169, 169</td> </tr> <tr class="row-even"><td>darkgreen = 0, 100, 0</td> <td>darkkhaki = 189, 183, 107</td> <td>darkmagenta = 139, 0, 139</td> <td>darkolivegreen = 85, 107, 47</td> <td>darkorange = 255, 140, 0</td> </tr> <tr class="row-odd"><td>darkorchid = 153, 50, 204</td> <td>darkred = 139, 0, 0</td> <td>darksalmon = 233, 150, 122</td> <td>darkseagreen = 143, 188, 143</td> <td>darkslateblue = 72, 61, 139</td> </tr> <tr class="row-even"><td>darkslategray = 47, 79, 79</td> <td>darkturquoise = 0, 206, 209</td> <td>darkviolet = 148, 0, 211</td> <td>deeppink = 255, 20, 147</td> <td>deepskyblue = 0, 191, 255</td> </tr> <tr class="row-odd"><td>dimgray = 105, 105, 105</td> <td>dodgerblue = 30, 144, 255</td> <td>firebrick = 178, 34, 34</td> <td>floralwhite = 255, 250, 240</td> <td>forestgreen = 34, 139, 34</td> </tr> <tr class="row-even"><td>fuchsia = 255, 0, 255</td> <td>gainsboro = 220, 220, 220</td> <td>ghostwhite = 248, 248, 255</td> <td>gold = 255, 215, 0</td> <td>goldenrod = 218, 165, 32</td> </tr> <tr class="row-odd"><td>gray = 128, 128, 128</td> <td>green = 0, 128, 0</td> <td>greenyellow = 173, 255, 47</td> <td>honeydew = 240, 255, 240</td> <td>hotpink = 255, 105, 180</td> </tr> <tr class="row-even"><td>indianred = 205, 92, 92</td> <td>indigo = 75, 0, 130</td> <td>ivory = 255, 240, 240</td> <td>khaki = 240, 230, 140</td> <td>lavender = 230, 230, 250</td> </tr> <tr class="row-odd"><td>lavenderblush = 255, 240, 245</td> <td>lawngreen = 124, 252, 0</td> <td>lemonchiffon = 255, 250, 205</td> <td>lightblue = 173, 216, 230</td> <td>lightcoral = 240, 128, 128</td> </tr> <tr class="row-even"><td>lightcyan = 224, 255, 255</td> <td>lightgoldenrodyellow = 250, 250, 210</td> <td>lightgreen = 144, 238, 144</td> <td>lightgrey = 211, 211, 211</td> <td>lightpink = 255, 182, 193</td> </tr> <tr class="row-odd"><td>lightsalmon = 255, 160, 122</td> <td>lightseagreen = 32, 178, 170</td> <td>lightskyblue = 135, 206, 250</td> <td>lightslategray = 119, 136, 153</td> <td>lightsteelblue = 176, 196, 222</td> </tr> <tr class="row-even"><td>lightyellow = 255, 255, 224</td> <td>lime = 0, 255, 0</td> <td>limegreen = 50, 205, 50</td> <td>linen = 250, 240, 230</td> <td>magenta = 255, 0, 255</td> </tr> <tr class="row-odd"><td>maroon = 128, 0, 0</td> <td>mediumaquamarine = 102, 205, 170</td> <td>mediumblue = 0, 0, 205</td> <td>mediumorchid = 186, 85, 211</td> <td>mediumpurple = 147, 112, 219</td> </tr> <tr class="row-even"><td>mediumseagreen = 60, 179, 113</td> <td>mediumslateblue = 123, 104, 238</td> <td>mediumspringgreen = 0, 250, 154</td> <td>mediumturquoise = 72, 209, 204</td> <td>mediumvioletred = 199, 21, 133</td> </tr> <tr class="row-odd"><td>midnightblue = 25, 25, 112</td> <td>mintcream = 245, 255, 250</td> <td>mistyrose = 255, 228, 225</td> <td>moccasin = 255, 228, 181</td> <td>navajowhite = 255, 222, 173</td> </tr> <tr class="row-even"><td>navy = 0, 0, 128</td> <td>oldlace = 253, 245, 230</td> <td>olive = 128, 128, 0</td> <td>olivedrab = 107, 142, 35</td> <td>orange = 255, 165, 0</td> </tr> <tr class="row-odd"><td>orangered = 255, 69, 0</td> <td>orchid = 218, 112, 214</td> <td>palegoldenrod = 238, 232, 170</td> <td>palegreen = 152, 251, 152</td> <td>paleturquoise = 175, 238, 238</td> </tr> <tr class="row-even"><td>palevioletred = 219, 112, 147</td> <td>papayawhip = 255, 239, 213</td> <td>peachpuff = 255, 239, 213</td> <td>peru = 205, 133, 63</td> <td>pink = 255, 192, 203</td> </tr> <tr class="row-odd"><td>plum = 221, 160, 221</td> <td>powderblue = 176, 224, 230</td> <td>purple = 128, 0, 128</td> <td>red = 255, 0, 0</td> <td>rosybrown = 188, 143, 143</td> </tr> <tr class="row-even"><td>royalblue = 65, 105, 225</td> <td>saddlebrown = 139, 69, 19</td> <td>salmon = 250, 128, 114</td> <td>sandybrown = 244, 164, 96</td> <td>seagreen = 46, 139, 87</td> </tr> <tr class="row-odd"><td>seashell = 255, 245, 238</td> <td>sienna = 160, 82, 45</td> <td>silver = 192, 192, 192</td> <td>skyblue = 135, 206, 235</td> <td>slateblue = 106, 90, 205</td> </tr> <tr class="row-even"><td>slategray = 112, 128, 144</td> <td>snow = 255, 250, 250</td> <td>springgreen = 0, 255, 127</td> <td>steelblue = 70, 130, 180</td> <td>tan = 210, 180, 140</td> </tr> <tr class="row-odd"><td>teal = 0, 128, 128</td> <td>thistle = 216, 191, 216</td> <td>tomato = 253, 99, 71</td> <td>turquoise = 64, 224, 208</td> <td>violet = 238, 130, 238</td> </tr> <tr class="row-even"><td>wheat = 245, 222, 179</td> <td>white = 255, 255, 255</td> <td>whitesmoke = 245, 245, 245</td> <td>yellow = 255, 255, 0</td> <td>yellowgreen = 154, 205, 50</td> </tr> </tbody> </table> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/fix_adapt.html b/doc/fix_adapt.html index b0556743b..fe2d76637 100644 --- a/doc/fix_adapt.html +++ b/doc/fix_adapt.html @@ -1,462 +1,462 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>fix adapt command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>fix adapt command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="fix-adapt-command"> <span id="index-0"></span><h1>fix adapt command<a class="headerlink" href="#fix-adapt-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>fix ID group-ID adapt N attribute args ... keyword value ... </pre></div> </div> <ul class="simple"> <li>ID, group-ID are documented in <a class="reference internal" href="fix.html"><em>fix</em></a> command</li> <li>adapt = style name of this fix command</li> <li>N = adapt simulation settings every this many timesteps</li> <li>one or more attribute/arg pairs may be appended</li> <li>attribute = <em>pair</em> or <em>kspace</em> or <em>atom</em></li> </ul> <pre class="literal-block"> <em>pair</em> args = pstyle pparam I J v_name - pstyle = pair style name, e.g. lj/cut - pparam = parameter to adapt over time - I,J = type pair(s) to set parameter for - v_name = variable with name that calculates value of pparam - <em>kspace</em> arg = v_name - v_name = variable with name that calculates scale factor on K-space terms - <em>atom</em> args = aparam v_name - aparam = parameter to adapt over time - v_name = variable with name that calculates value of aparam + pstyle = pair style name, e.g. lj/cut + pparam = parameter to adapt over time + I,J = type pair(s) to set parameter for + v_name = variable with name that calculates value of pparam +<em>kspace</em> arg = v_name + v_name = variable with name that calculates scale factor on K-space terms +<em>atom</em> args = aparam v_name + aparam = parameter to adapt over time + v_name = variable with name that calculates value of aparam </pre> <ul class="simple"> <li>zero or more keyword/value pairs may be appended</li> <li>keyword = <em>scale</em> or <em>reset</em></li> </ul> <pre class="literal-block"> <em>scale</em> value = <em>no</em> or <em>yes</em> - <em>no</em> = the variable value is the new setting - <em>yes</em> = the variable value multiplies the original setting - <em>reset</em> value = <em>no</em> or <em>yes</em> - <em>no</em> = values will remain altered at the end of a run - <em>yes</em> = reset altered values to their original values at the end of a run + <em>no</em> = the variable value is the new setting + <em>yes</em> = the variable value multiplies the original setting +<em>reset</em> value = <em>no</em> or <em>yes</em> + <em>no</em> = values will remain altered at the end of a run + <em>yes</em> = reset altered values to their original values at the end of a run </pre> </div> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>fix 1 all adapt 1 pair soft a 1 1 v_prefactor fix 1 all adapt 1 pair soft a 2* 3 v_prefactor fix 1 all adapt 1 pair lj/cut epsilon * * v_scale1 coul/cut scale 3 3 v_scale2 scale yes reset yes fix 1 all adapt 10 atom diameter v_size </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>Change or adapt one or more specific simulation attributes or settings over time as a simulation runs. Pair potential and K-space and atom attributes which can be varied by this fix are discussed below. Many other fixes can also be used to time-vary simulation parameters, e.g. the “fix deform” command will change the simulation box size/shape and the “fix move” command will change atom positions and velocities in a prescribed manner. Also note that many commands allow variables as arguments for specific parameters, if described in that manner on their doc pages. An equal-style variable can calculate a time-dependent quantity, so this is another way to vary a simulation parameter over time.</p> <p>If <em>N</em> is specified as 0, the specified attributes are only changed once, before the simulation begins. This is all that is needed if the associated variables are not time-dependent. If <em>N</em> > 0, then changes are made every <em>N</em> steps during the simulation, presumably with a variable that is time-dependent.</p> <p>Depending on the value of the <em>reset</em> keyword, attributes changed by this fix will or will not be reset back to their original values at the end of a simulation. Even if <em>reset</em> is specified as <em>yes</em>, a restart file written during a simulation will contain the modified settings.</p> <p>If the <em>scale</em> keyword is set to <em>no</em>, then the value the parameter is set to will be whatever the variable generates. If the <em>scale</em> keyword is set to <em>yes</em>, then the value of the altered parameter will be the initial value of that parameter multiplied by whatever the variable generates. I.e. the variable is now a “scale factor” applied in (presumably) a time-varying fashion to the parameter.</p> <p>Note that whether scale is <em>no</em> or <em>yes</em>, internally, the parameters themselves are actually altered by this fix. Make sure you use the <em>reset yes</em> option if you want the parameters to be restored to their initial values after the run.</p> <hr class="docutils" /> <p>The <em>pair</em> keyword enables various parameters of potentials defined by the <a class="reference internal" href="pair_style.html"><em>pair_style</em></a> command to be changed, if the pair style supports it. Note that the <a class="reference internal" href="pair_style.html"><em>pair_style</em></a> and <a class="reference internal" href="pair_coeff.html"><em>pair_coeff</em></a> commands must be used in the usual manner to specify these parameters initially; the fix adapt command simply overrides the parameters.</p> <p>The <em>pstyle</em> argument is the name of the pair style. If <a class="reference internal" href="pair_hybrid.html"><em>pair_style hybrid or hybrid/overlay</em></a> is used, <em>pstyle</em> should be a sub-style name. For example, <em>pstyle</em> could be specified as “soft” or “lubricate”. The <em>pparam</em> argument is the name of the parameter to change. This is the current list of pair styles and parameters that can be varied by this fix. See the doc pages for individual pair styles and their energy formulas for the meaning of these parameters:</p> <table border="1" class="docutils"> <colgroup> <col width="51%" /> <col width="31%" /> <col width="18%" /> </colgroup> <tbody valign="top"> <tr class="row-odd"><td><a class="reference internal" href="pair_born.html"><em>born</em></a></td> <td>a,b,c</td> <td>type pairs</td> </tr> <tr class="row-even"><td><a class="reference internal" href="pair_buck.html"><em>buck</em></a></td> <td>a,c</td> <td>type pairs</td> </tr> <tr class="row-odd"><td><a class="reference internal" href="pair_coul.html"><em>coul/cut</em></a></td> <td>scale</td> <td>type pairs</td> </tr> <tr class="row-even"><td><a class="reference internal" href="pair_coul.html"><em>coul/debye</em></a></td> <td>scale</td> <td>type pairs</td> </tr> <tr class="row-odd"><td><a class="reference internal" href="pair_coul.html"><em>coul/long</em></a></td> <td>scale</td> <td>type pairs</td> </tr> <tr class="row-even"><td><a class="reference internal" href="pair_lj.html"><em>lj/cut</em></a></td> <td>epsilon,sigma</td> <td>type pairs</td> </tr> <tr class="row-odd"><td><a class="reference internal" href="pair_lj_expand.html"><em>lj/expand</em></a></td> <td>epsilon,sigma,delta</td> <td>type pairs</td> </tr> <tr class="row-even"><td><a class="reference internal" href="pair_lubricate.html"><em>lubricate</em></a></td> <td>mu</td> <td>global</td> </tr> <tr class="row-odd"><td><a class="reference internal" href="pair_gauss.html"><em>gauss</em></a></td> <td>a</td> <td>type pairs</td> </tr> <tr class="row-even"><td><a class="reference internal" href="pair_morse.html"><em>morse</em></a></td> <td>d0,r0,alpha</td> <td>type pairs</td> </tr> <tr class="row-odd"><td><a class="reference internal" href="pair_soft.html"><em>soft</em></a></td> <td>a</td> <td>type pairs</td> </tr> </tbody> </table> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">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.</p> </div> <p>Some parameters are global settings for the pair style, e.g. the viscosity setting “mu” for <a class="reference internal" href="pair_lubricate.html"><em>pair_style lubricate</em></a>. Other parameters apply to atom type pairs within the pair style, e.g. the prefactor “a” for <a class="reference internal" href="pair_soft.html"><em>pair_style soft</em></a>.</p> <p>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” are exactly that, since the energy expression for the <a class="reference internal" href="pair_coul.html"><em>coul/cut</em></a> potential (for example) has no labeled prefactor in its formula. To apply an effective prefactor to some potentials, multiple parameters need to be altered. For example, the <a class="reference internal" href="pair_buck.html"><em>Buckingham potential</em></a> needs both the A and C terms altered together. To scale the Buckingham potential, you should thus list the pair style twice, once for A and once for C.</p> <p>If a type pair parameter is specified, the <em>I</em> and <em>J</em> settings should be specified to indicate which type pairs to apply it to. If a global parameter is specified, the <em>I</em> and <em>J</em> settings still need to be specified, but are ignored.</p> <p>Similar to the <a class="reference internal" href="pair_coeff.html"><em>pair_coeff command</em></a>, I and J can be specified in one of two ways. Explicit numeric values can be used for each, as in the 1st example above. I <= J is required. LAMMPS sets the coefficients for the symmetric J,I interaction to the same values.</p> <p>A wild-card asterisk can be used in place of or in conjunction with the I,J arguments to set the coefficients for multiple pairs of atom types. This takes the form “*” or “<em>n” or “n</em>” or “m*n”. If N = the number of atom types, then an asterisk with no numeric values means all types from 1 to N. A leading asterisk means all types from 1 to n (inclusive). A trailing asterisk means all types from n to N (inclusive). A middle asterisk means all types from m to n (inclusive). Note that only type pairs with I <= J are considered; if asterisks imply type pairs where J < I, they are ignored.</p> <p>IMPROTANT NOTE: If <a class="reference internal" href="pair_hybrid.html"><em>pair_style hybrid or hybrid/overlay</em></a> is being used, then the <em>pstyle</em> will be a sub-style name. You must specify I,J arguments that correspond to type pair values defined (via the <a class="reference internal" href="pair_coeff.html"><em>pair_coeff</em></a> command) for that sub-style.</p> <p>The <em>v_name</em> argument for keyword <em>pair</em> is the name of an <a class="reference internal" href="variable.html"><em>equal-style variable</em></a> which will be evaluated each time this fix is invoked to set the parameter to a new value. It should be specified as v_name, where name is the variable name. Equal-style variables can specify formulas with various mathematical functions, and include <a class="reference internal" href="thermo_style.html"><em>thermo_style</em></a> command keywords for the simulation box parameters and timestep and elapsed time. Thus it is easy to specify parameters that change as a function of time or span consecutive runs in a continuous fashion. For the latter, see the <em>start</em> and <em>stop</em> keywords of the <a class="reference internal" href="run.html"><em>run</em></a> command and the <em>elaplong</em> keyword of <a class="reference internal" href="thermo_style.html"><em>thermo_style custom</em></a> for details.</p> <p>For example, these commands would change the prefactor coefficient of the <a class="reference internal" href="pair_soft.html"><em>pair_style soft</em></a> potential from 10.0 to 30.0 in a linear fashion over the course of a simulation:</p> <div class="highlight-python"><div class="highlight"><pre>variable prefactor equal ramp(10,30) fix 1 all adapt 1 pair soft a * * v_prefactor </pre></div> </div> <hr class="docutils" /> <p>The <em>kspace</em> keyword used the specified variable as a scale factor on the energy, forces, virial calculated by whatever K-Space solver is defined by the <a class="reference internal" href="kspace_style.html"><em>kspace_style</em></a> command. If the variable has a value of 1.0, then the solver is unaltered.</p> <p>The <em>kspace</em> keyword works this way whether the <em>scale</em> keyword is set to <em>no</em> or <em>yes</em>.</p> <hr class="docutils" /> <p>The <em>atom</em> keyword enables various atom properties to be changed. The <em>aparam</em> argument is the name of the parameter to change. This is the current list of atom parameters that can be varied by this fix:</p> <ul class="simple"> <li>charge = charge on particle</li> <li>diameter = diameter of particle</li> </ul> <p>The <em>v_name</em> argument of the <em>atom</em> keyword is the name of an <a class="reference internal" href="variable.html"><em>equal-style variable</em></a> which will be evaluated each time this fix is invoked to set the parameter to a new value. It should be specified as v_name, where name is the variable name. See the discussion above describing the formulas associated with equal-style variables. The new value is assigned to the corresponding attribute for all atoms in the fix group.</p> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">The <em>atom</em> keyword works this way whether the <em>scale</em> keyword is set to <em>no</em> or <em>yes</em>. I.e. the use of scale yes is not yet supported by the <em>atom</em> keyword.</p> </div> <p>If the atom parameter is <em>diameter</em> and per-atom density and per-atom mass are defined for particles (e.g. <a class="reference internal" href="atom_style.html"><em>atom_style granular</em></a>), then the mass of each particle is also changed when the diameter changes (density is assumed to stay constant).</p> <p>For example, these commands would shrink the diameter of all granular particles in the “center” group from 1.0 to 0.1 in a linear fashion over the course of a 1000-step simulation:</p> <div class="highlight-python"><div class="highlight"><pre>variable size equal ramp(1.0,0.1) fix 1 center adapt 10 atom diameter v_size </pre></div> </div> </div> <hr class="docutils" /> <div class="section" id="restart-fix-modify-output-run-start-stop-minimize-info"> <h2>Restart, fix_modify, output, run start/stop, minimize info<a class="headerlink" href="#restart-fix-modify-output-run-start-stop-minimize-info" title="Permalink to this headline">¶</a></h2> <p>No information about this fix is written to <a class="reference internal" href="restart.html"><em>binary restart files</em></a>. None of the <a class="reference internal" href="fix_modify.html"><em>fix_modify</em></a> options are relevant to this fix. No global or per-atom quantities are stored by this fix for access by various <a class="reference internal" href="Section_howto.html#howto-15"><span>output commands</span></a>. No parameter of this fix can be used with the <em>start/stop</em> keywords of the <a class="reference internal" href="run.html"><em>run</em></a> command. This fix is not invoked during <a class="reference internal" href="minimize.html"><em>energy minimization</em></a>.</p> <p>For <a class="reference internal" href="run_style.html"><em>rRESPA time integration</em></a>, this fix changes parameters on the outermost rRESPA level.</p> </div> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <blockquote> <div>none</div></blockquote> </div> <div class="section" id="related-commands"> <h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2> <p><a class="reference internal" href="compute_ti.html"><em>compute ti</em></a></p> </div> <div class="section" id="default"> <h2>Default<a class="headerlink" href="#default" title="Permalink to this headline">¶</a></h2> <p>The option defaults are scale = no, reset = no.</p> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/fix_adapt_fep.html b/doc/fix_adapt_fep.html index 4e340b37f..70a99ca6a 100644 --- a/doc/fix_adapt_fep.html +++ b/doc/fix_adapt_fep.html @@ -1,465 +1,465 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>fix adapt/fep command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>fix adapt/fep command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="fix-adapt-fep-command"> <span id="index-0"></span><h1>fix adapt/fep command<a class="headerlink" href="#fix-adapt-fep-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>fix ID group-ID adapt/fep N attribute args ... keyword value ... </pre></div> </div> <ul class="simple"> <li>ID, group-ID are documented in <a class="reference internal" href="fix.html"><em>fix</em></a> command</li> <li>adapt/fep = style name of this fix command</li> <li>N = adapt simulation settings every this many timesteps</li> <li>one or more attribute/arg pairs may be appended</li> <li>attribute = <em>pair</em> or <em>kspace</em> or <em>atom</em></li> </ul> <pre class="literal-block"> <em>pair</em> args = pstyle pparam I J v_name - pstyle = pair style name, e.g. lj/cut - pparam = parameter to adapt over time - I,J = type pair(s) to set parameter for - v_name = variable with name that calculates value of pparam - <em>kspace</em> arg = v_name - v_name = variable with name that calculates scale factor on K-space terms - <em>atom</em> args = aparam v_name - aparam = parameter to adapt over time - I = type(s) to set parameter for - v_name = variable with name that calculates value of aparam + pstyle = pair style name, e.g. lj/cut + pparam = parameter to adapt over time + I,J = type pair(s) to set parameter for + v_name = variable with name that calculates value of pparam +<em>kspace</em> arg = v_name + v_name = variable with name that calculates scale factor on K-space terms +<em>atom</em> args = aparam v_name + aparam = parameter to adapt over time + I = type(s) to set parameter for + v_name = variable with name that calculates value of aparam </pre> <ul class="simple"> <li>zero or more keyword/value pairs may be appended</li> <li>keyword = <em>scale</em> or <em>reset</em> or <em>after</em></li> </ul> <pre class="literal-block"> <em>scale</em> value = <em>no</em> or <em>yes</em> - <em>no</em> = the variable value is the new setting - <em>yes</em> = the variable value multiplies the original setting - <em>reset</em> value = <em>no</em> or <em>yes</em> - <em>no</em> = values will remain altered at the end of a run - <em>yes</em> = reset altered values to their original values at the end - of a run - <em>after</em> value = <em>no</em> or <em>yes</em> - <em>no</em> = parameters are adapted at timestep N - <em>yes</em> = parameters are adapted one timestep after N + <em>no</em> = the variable value is the new setting + <em>yes</em> = the variable value multiplies the original setting +<em>reset</em> value = <em>no</em> or <em>yes</em> + <em>no</em> = values will remain altered at the end of a run + <em>yes</em> = reset altered values to their original values at the end + of a run +<em>after</em> value = <em>no</em> or <em>yes</em> + <em>no</em> = parameters are adapted at timestep N + <em>yes</em> = parameters are adapted one timestep after N </pre> </div> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>fix 1 all adapt/fep 1 pair soft a 1 1 v_prefactor fix 1 all adapt/fep 1 pair soft a 2* 3 v_prefactor fix 1 all adapt/fep 1 pair lj/cut epsilon * * v_scale1 coul/cut scale 3 3 v_scale2 scale yes reset yes fix 1 all adapt/fep 10 atom diameter 1 v_size </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>Change or adapt one or more specific simulation attributes or settings over time as a simulation runs.</p> <p>This is an enhanced version of the <a class="reference internal" href="fix_adapt.html"><em>fix_adapt</em></a> command with two differences,</p> <ul class="simple"> <li>It is possible to modify the charges of chosen atom types only, instead of scaling all the charges in the system.</li> <li>There is a new option <em>after</em> for better compatibility with “fix ave/time”.</li> </ul> <p>This version is suited for free energy calculations using <a class="reference internal" href="compute_ti.html"><em>compute_ti</em></a> or <a class="reference internal" href="compute_fep.html"><em>compute_fep</em></a>.</p> <p>If <em>N</em> is specified as 0, the specified attributes are only changed once, before the simulation begins. This is all that is needed if the associated variables are not time-dependent. If <em>N</em> > 0, then changes are made every <em>N</em> steps during the simulation, presumably with a variable that is time-dependent.</p> <p>Depending on the value of the <em>reset</em> keyword, attributes changed by this fix will or will not be reset back to their original values at the end of a simulation. Even if <em>reset</em> is specified as <em>yes</em>, a restart file written during a simulation will contain the modified settings.</p> <p>If the <em>scale</em> keyword is set to <em>no</em>, then the value the parameter is set to will be whatever the variable generates. If the <em>scale</em> keyword is set to <em>yes</em>, then the value of the altered parameter will be the initial value of that parameter multiplied by whatever the variable generates. I.e. the variable is now a “scale factor” applied in (presumably) a time-varying fashion to the parameter. Internally, the parameters themselves are actually altered; make sure you use the <em>reset yes</em> option if you want the parameters to be restored to their initial values after the run.</p> <p>If the <em>after</em> keyword is set to <em>yes</em>, then the parameters are changed one timestep after the multiple of N. In this manner, if a fix such as “fix ave/time” is used to calculate averages at every N timesteps, all the contributions to the average will be obtained with the same values of the parameters.</p> <hr class="docutils" /> <p>The <em>pair</em> keyword enables various parameters of potentials defined by the <a class="reference internal" href="pair_style.html"><em>pair_style</em></a> command to be changed, if the pair style supports it. Note that the <a class="reference internal" href="pair_style.html"><em>pair_style</em></a> and <a class="reference internal" href="pair_coeff.html"><em>pair_coeff</em></a> commands must be used in the usual manner to specify these parameters initially; the fix adapt command simply overrides the parameters.</p> <p>The <em>pstyle</em> argument is the name of the pair style. If <a class="reference internal" href="pair_hybrid.html"><em>pair_style hybrid or hybrid/overlay</em></a> is used, <em>pstyle</em> should be a sub-style name. For example, <em>pstyle</em> could be specified as “soft” or “lubricate”. The <em>pparam</em> argument is the name of the parameter to change. This is the current list of pair styles and parameters that can be varied by this fix. See the doc pages for individual pair styles and their energy formulas for the meaning of these parameters:</p> <table border="1" class="docutils"> <colgroup> <col width="51%" /> <col width="31%" /> <col width="18%" /> </colgroup> <tbody valign="top"> <tr class="row-odd"><td><a class="reference internal" href="pair_born.html"><em>born</em></a></td> <td>a,b,c</td> <td>type pairs</td> </tr> <tr class="row-even"><td><a class="reference internal" href="pair_buck.html"><em>buck</em></a></td> <td>a,c</td> <td>type pairs</td> </tr> <tr class="row-odd"><td><a class="reference internal" href="pair_coul.html"><em>coul/cut</em></a></td> <td>scale</td> <td>type pairs</td> </tr> <tr class="row-even"><td><a class="reference internal" href="pair_coul.html"><em>coul/debye</em></a></td> <td>scale</td> <td>type pairs</td> </tr> <tr class="row-odd"><td><a class="reference internal" href="pair_coul.html"><em>coul/long</em></a></td> <td>scale</td> <td>type pairs</td> </tr> <tr class="row-even"><td><a class="reference internal" href="pair_lj.html"><em>lj/cut</em></a></td> <td>epsilon,sigma</td> <td>type pairs</td> </tr> <tr class="row-odd"><td><a class="reference internal" href="pair_lj_expand.html"><em>lj/expand</em></a></td> <td>epsilon,sigma,delta</td> <td>type pairs</td> </tr> <tr class="row-even"><td><a class="reference internal" href="pair_lubricate.html"><em>lubricate</em></a></td> <td>mu</td> <td>global</td> </tr> <tr class="row-odd"><td><a class="reference internal" href="pair_gauss.html"><em>gauss</em></a></td> <td>a</td> <td>type pairs</td> </tr> <tr class="row-even"><td><a class="reference internal" href="pair_soft.html"><em>soft</em></a></td> <td>a</td> <td>type pairs</td> </tr> </tbody> </table> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">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.</p> </div> <p>Some parameters are global settings for the pair style, e.g. the viscosity setting “mu” for <a class="reference internal" href="pair_lubricate.html"><em>pair_style lubricate</em></a>. Other parameters apply to atom type pairs within the pair style, e.g. the prefactor “a” for <a class="reference internal" href="pair_soft.html"><em>pair_style soft</em></a>.</p> <p>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” are exactly that, since the energy expression for the <a class="reference internal" href="pair_coul.html"><em>coul/cut</em></a> potential (for example) has no labeled prefactor in its formula. To apply an effective prefactor to some potentials, multiple parameters need to be altered. For example, the <a class="reference internal" href="pair_buck.html"><em>Buckingham potential</em></a> needs both the A and C terms altered together. To scale the Buckingham potential, you should thus list the pair style twice, once for A and once for C.</p> <p>If a type pair parameter is specified, the <em>I</em> and <em>J</em> settings should be specified to indicate which type pairs to apply it to. If a global parameter is specified, the <em>I</em> and <em>J</em> settings still need to be specified, but are ignored.</p> <p>Similar to the <a class="reference internal" href="pair_coeff.html"><em>pair_coeff command</em></a>, I and J can be specified in one of two ways. Explicit numeric values can be used for each, as in the 1st example above. I <= J is required. LAMMPS sets the coefficients for the symmetric J,I interaction to the same values.</p> <p>A wild-card asterisk can be used in place of or in conjunction with the I,J arguments to set the coefficients for multiple pairs of atom types. This takes the form “*” or “<em>n” or “n</em>” or “m*n”. If N = the number of atom types, then an asterisk with no numeric values means all types from 1 to N. A leading asterisk means all types from 1 to n (inclusive). A trailing asterisk means all types from n to N (inclusive). A middle asterisk means all types from m to n (inclusive). Note that only type pairs with I <= J are considered; if asterisks imply type pairs where J < I, they are ignored.</p> <p>IMPROTANT NOTE: If <a class="reference internal" href="pair_hybrid.html"><em>pair_style hybrid or hybrid/overlay</em></a> is being used, then the <em>pstyle</em> will be a sub-style name. You must specify I,J arguments that correspond to type pair values defined (via the <a class="reference internal" href="pair_coeff.html"><em>pair_coeff</em></a> command) for that sub-style.</p> <p>The <em>v_name</em> argument for keyword <em>pair</em> is the name of an <a class="reference internal" href="variable.html"><em>equal-style variable</em></a> which will be evaluated each time this fix is invoked to set the parameter to a new value. It should be specified as v_name, where name is the variable name. Equal-style variables can specify formulas with various mathematical functions, and include <a class="reference internal" href="thermo_style.html"><em>thermo_style</em></a> command keywords for the simulation box parameters and timestep and elapsed time. Thus it is easy to specify parameters that change as a function of time or span consecutive runs in a continuous fashion. For the latter, see the <em>start</em> and <em>stop</em> keywords of the <a class="reference internal" href="run.html"><em>run</em></a> command and the <em>elaplong</em> keyword of <a class="reference internal" href="thermo_style.html"><em>thermo_style custom</em></a> for details.</p> <p>For example, these commands would change the prefactor coefficient of the <a class="reference internal" href="pair_soft.html"><em>pair_style soft</em></a> potential from 10.0 to 30.0 in a linear fashion over the course of a simulation:</p> <div class="highlight-python"><div class="highlight"><pre>variable prefactor equal ramp(10,30) fix 1 all adapt 1 pair soft a * * v_prefactor </pre></div> </div> <hr class="docutils" /> <p>The <em>kspace</em> keyword used the specified variable as a scale factor on the energy, forces, virial calculated by whatever K-Space solver is defined by the <a class="reference internal" href="kspace_style.html"><em>kspace_style</em></a> command. If the variable has a value of 1.0, then the solver is unaltered.</p> <p>The <em>kspace</em> keyword works this way whether the <em>scale</em> keyword is set to <em>no</em> or <em>yes</em>.</p> <hr class="docutils" /> <p>The <em>atom</em> keyword enables various atom properties to be changed. The <em>aparam</em> argument is the name of the parameter to change. This is the current list of atom parameters that can be varied by this fix:</p> <ul class="simple"> <li>charge = charge on particle</li> <li>diameter = diameter of particle</li> </ul> <p>The <em>I</em> argument indicates which atom types are affected. A wild-card asterisk can be used in place of or in conjunction with the I argument to set the coefficients for multiple atom types.</p> <p>The <em>v_name</em> argument of the <em>atom</em> keyword is the name of an <a class="reference internal" href="variable.html"><em>equal-style variable</em></a> which will be evaluated each time this fix is invoked to set the parameter to a new value. It should be specified as v_name, where name is the variable name. See the discussion above describing the formulas associated with equal-style variables. The new value is assigned to the corresponding attribute for all atoms in the fix group.</p> <p>If the atom parameter is <em>diameter</em> and per-atom density and per-atom mass are defined for particles (e.g. <a class="reference internal" href="atom_style.html"><em>atom_style granular</em></a>), then the mass of each particle is also changed when the diameter changes (density is assumed to stay constant).</p> <p>For example, these commands would shrink the diameter of all granular particles in the “center” group from 1.0 to 0.1 in a linear fashion over the course of a 1000-step simulation:</p> <div class="highlight-python"><div class="highlight"><pre>variable size equal ramp(1.0,0.1) fix 1 center adapt 10 atom diameter * v_size </pre></div> </div> <p>For <a class="reference internal" href="run_style.html"><em>rRESPA time integration</em></a>, this fix changes parameters on the outermost rRESPA level.</p> </div> <hr class="docutils" /> <div class="section" id="restart-fix-modify-output-run-start-stop-minimize-info"> <h2>Restart, fix_modify, output, run start/stop, minimize info<a class="headerlink" href="#restart-fix-modify-output-run-start-stop-minimize-info" title="Permalink to this headline">¶</a></h2> <p>No information about this fix is written to <a class="reference internal" href="restart.html"><em>binary restart files</em></a>. None of the <a class="reference internal" href="fix_modify.html"><em>fix_modify</em></a> options are relevant to this fix. No global or per-atom quantities are stored by this fix for access by various <a class="reference internal" href="Section_howto.html#howto-15"><span>output commands</span></a>. No parameter of this fix can be used with the <em>start/stop</em> keywords of the <a class="reference internal" href="run.html"><em>run</em></a> command. This fix is not invoked during <a class="reference internal" href="minimize.html"><em>energy minimization</em></a>.</p> </div> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <blockquote> <div>none</div></blockquote> </div> <div class="section" id="related-commands"> <h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2> <p><a class="reference internal" href="compute_fep.html"><em>compute fep</em></a>, <a class="reference internal" href="fix_adapt.html"><em>fix_adapt</em></a>, <a class="reference internal" href="compute_ti.html"><em>compute ti</em></a></p> </div> <div class="section" id="default"> <h2>Default<a class="headerlink" href="#default" title="Permalink to this headline">¶</a></h2> <p>The option defaults are scale = no, reset = no, after = no.</p> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/fix_addforce.html b/doc/fix_addforce.html index 752e01966..203531229 100644 --- a/doc/fix_addforce.html +++ b/doc/fix_addforce.html @@ -1,346 +1,346 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>fix addforce command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>fix addforce command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="fix-addforce-command"> <span id="index-0"></span><h1>fix addforce command<a class="headerlink" href="#fix-addforce-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="fix-addforce-cuda-command"> <h1>fix addforce/cuda command<a class="headerlink" href="#fix-addforce-cuda-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>fix ID group-ID addforce fx fy fz keyword value ... </pre></div> </div> <ul class="simple"> <li>ID, group-ID are documented in <a class="reference internal" href="fix.html"><em>fix</em></a> command</li> <li>addforce = style name of this fix command</li> <li>fx,fy,fz = force component values (force units)</li> </ul> <div class="highlight-python"><div class="highlight"><pre>any of fx,fy,fz can be a variable (see below) </pre></div> </div> <ul class="simple"> <li>zero or more keyword/value pairs may be appended to args</li> <li>keyword = <em>every</em> or <em>region</em> or <em>energy</em></li> </ul> <pre class="literal-block"> <em>every</em> value = Nevery - Nevery = add force every this many timesteps - <em>region</em> value = region-ID - region-ID = ID of region atoms must be in to have added force - <em>energy</em> value = v_name - v_name = variable with name that calculates the potential energy of each atom in the added force field + Nevery = add force every this many timesteps +<em>region</em> value = region-ID + region-ID = ID of region atoms must be in to have added force +<em>energy</em> value = v_name + v_name = variable with name that calculates the potential energy of each atom in the added force field </pre> </div> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>fix kick flow addforce 1.0 0.0 0.0 fix kick flow addforce 1.0 0.0 v_oscillate fix ff boundary addforce 0.0 0.0 v_push energy v_espace </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>Add fx,fy,fz to the corresponding component of force for each atom in the group. This command can be used to give an additional push to atoms in a simulation, such as for a simulation of Poiseuille flow in a channel.</p> <p>Any of the 3 quantities defining the force components can be specified as an equal-style or atom-style <a class="reference internal" href="variable.html"><em>variable</em></a>, namely <em>fx</em>, <em>fy</em>, <em>fz</em>. If the value is a variable, it should be specified as v_name, where name is the variable name. In this case, the variable will be evaluated each timestep, and its value(s) used to determine the force component.</p> <p>Equal-style variables can specify formulas with various mathematical functions, and include <a class="reference internal" href="thermo_style.html"><em>thermo_style</em></a> command keywords for the simulation box parameters and timestep and elapsed time. Thus it is easy to specify a time-dependent force field.</p> <p>Atom-style variables can specify the same formulas as equal-style variables but can also include per-atom values, such as atom coordinates. Thus it is easy to specify a spatially-dependent force field with optional time-dependence as well.</p> <p>If the <em>every</em> keyword is used, the <em>Nevery</em> setting determines how often the forces are applied. The default value is 1, for every timestep.</p> <p>If the <em>region</em> keyword is used, the atom must also be in the specified geometric <a class="reference internal" href="region.html"><em>region</em></a> in order to have force added to it.</p> <hr class="docutils" /> <p>Adding a force to atoms implies a change in their potential energy as they move due to the applied force field. For dynamics via the “run” command, this energy can be optionally added to the system’s potential energy for thermodynamic output (see below). For energy minimization via the “minimize” command, this energy must be added to the system’s potential energy to formulate a self-consistent minimization problem (see below).</p> <p>The <em>energy</em> keyword is not allowed if the added force is a constant vector F = (fx,fy,fz), with all components defined as numeric constants and not as variables. This is because LAMMPS can compute the energy for each atom directly as E = -x dot F = -(x*fx + y*fy + z*fz), so that -Grad(E) = F.</p> <p>The <em>energy</em> keyword is optional if the added force is defined with one or more variables, and if you are performing dynamics via the <a class="reference internal" href="run.html"><em>run</em></a> command. If the keyword is not used, LAMMPS will set the energy to 0.0, which is typically fine for dynamics.</p> <p>The <em>energy</em> keyword is required if the added force is defined with one or more variables, and you are performing energy minimization via the “minimize” command. The keyword specifies the name of an atom-style <a class="reference internal" href="variable.html"><em>variable</em></a> which is used to compute the energy of each atom as function of its position. Like variables used for <em>fx</em>, <em>fy</em>, <em>fz</em>, the energy variable is specified as v_name, where name is the variable name.</p> <p>Note that when the <em>energy</em> keyword is used during an energy minimization, you must insure that the formula defined for the atom-style <a class="reference internal" href="variable.html"><em>variable</em></a> is consistent with the force variable formulas, i.e. that -Grad(E) = F. For example, if the force were a spring-like F = kx, then the energy formula should be E = -0.5kx^2. If you don’t do this correctly, the minimization will not converge properly.</p> <hr class="docutils" /> <p>Styles with a <em>cuda</em> suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available hardware, as discussed in <a class="reference internal" href="Section_accelerate.html"><em>Section_accelerate</em></a> of the manual. The accelerated styles take the same arguments and should produce the same results, except for round-off and precision issues.</p> <p>These accelerated styles are part of the USER-CUDA package. They are only enabled if LAMMPS was built with that package. See the <a class="reference internal" href="Section_start.html#start-3"><span>Making LAMMPS</span></a> section for more info.</p> <p>You can specify the accelerated styles explicitly in your input script by including their suffix, or you can use the <a class="reference internal" href="Section_start.html#start-7"><span>-suffix command-line switch</span></a> when you invoke LAMMPS, or you can use the <a class="reference internal" href="suffix.html"><em>suffix</em></a> command in your input script.</p> <p>See <a class="reference internal" href="Section_accelerate.html"><em>Section_accelerate</em></a> of the manual for more instructions on how to use the accelerated styles effectively.</p> </div> <hr class="docutils" /> <div class="section" id="restart-fix-modify-output-run-start-stop-minimize-info"> <h2>Restart, fix_modify, output, run start/stop, minimize info<a class="headerlink" href="#restart-fix-modify-output-run-start-stop-minimize-info" title="Permalink to this headline">¶</a></h2> <p>No information about this fix is written to <a class="reference internal" href="restart.html"><em>binary restart files</em></a>.</p> <p>The <a class="reference internal" href="fix_modify.html"><em>fix_modify</em></a> <em>energy</em> option is supported by this fix to add the potential “energy” inferred by the added force to the system’s potential energy as part of <a class="reference internal" href="thermo_style.html"><em>thermodynamic output</em></a>. This is a fictitious quantity but is needed so that the <a class="reference internal" href="minimize.html"><em>minimize</em></a> command can include the forces added by this fix in a consistent manner. I.e. there is a decrease in potential energy when atoms move in the direction of the added force.</p> <p>This fix computes a global scalar and a global 3-vector of forces, which can be accessed by various <a class="reference internal" href="Section_howto.html#howto-15"><span>output commands</span></a>. The scalar is the potential energy discussed above. The vector is the total force on the group of atoms before the forces on individual atoms are changed by the fix. The scalar and vector values calculated by this fix are “extensive”.</p> <p>No parameter of this fix can be used with the <em>start/stop</em> keywords of the <a class="reference internal" href="run.html"><em>run</em></a> command.</p> <p>The forces due to this fix are imposed during an energy minimization, invoked by the <a class="reference internal" href="minimize.html"><em>minimize</em></a> command. You should not specify force components with a variable that has time-dependence for use with a minimizer, since the minimizer increments the timestep as the iteration count during the minimization.</p> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">If you want the fictitious potential energy associated with the added forces to be included in the total potential energy of the system (the quantity being minimized), you MUST enable the <a class="reference internal" href="fix_modify.html"><em>fix_modify</em></a> <em>energy</em> option for this fix.</p> </div> </div> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <blockquote> <div>none</div></blockquote> </div> <div class="section" id="related-commands"> <h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2> <p><a class="reference internal" href="fix_setforce.html"><em>fix setforce</em></a>, <a class="reference internal" href="fix_aveforce.html"><em>fix aveforce</em></a></p> </div> <div class="section" id="default"> <h2>Default<a class="headerlink" href="#default" title="Permalink to this headline">¶</a></h2> <p>The option default for the every keyword is every = 1.</p> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/fix_append_atoms.html b/doc/fix_append_atoms.html index 009f8b510..375d6dc71 100644 --- a/doc/fix_append_atoms.html +++ b/doc/fix_append_atoms.html @@ -1,291 +1,291 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>fix append/atoms command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>fix append/atoms command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="fix-append-atoms-command"> <span id="index-0"></span><h1>fix append/atoms command<a class="headerlink" href="#fix-append-atoms-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>fix ID group-ID append/atoms face ... keyword value ... </pre></div> </div> <ul class="simple"> <li>ID, group-ID are documented in <a class="reference internal" href="fix.html"><em>fix</em></a> command</li> <li>append/atoms = style name of this fix command</li> <li>face = <em>zhi</em></li> <li>zero or more keyword/value pairs may be appended</li> <li>keyword = <em>basis</em> or <em>size</em> or <em>freq</em> or <em>temp</em> or <em>random</em> or <em>units</em></li> </ul> <pre class="literal-block"> <em>basis</em> values = M itype - M = which basis atom - itype = atom type (1-N) to assign to this basis atom - <em>size</em> args = Lz - Lz = z size of lattice region appended in a single event(distance units) - <em>freq</em> args = freq - freq = the number of timesteps between append events - <em>temp</em> args = target damp seed extent - target = target temperature for the region between zhi-extent and zhi (temperature units) - damp = damping parameter (time units) - seed = random number seed for langevin kicks - extent = extent of thermostated region (distance units) - <em>random</em> args = xmax ymax zmax seed - <em>xmax</em>, <em>ymax</em>, <em>zmax</em> = maximum displacement in particular direction (distance units) - <em>seed</em> = random number seed for random displacement - <em>units</em> value = <em>lattice</em> or <em>box</em> - <em>lattice</em> = the wall position is defined in lattice units - <em>box</em> = the wall position is defined in simulation box units + M = which basis atom + itype = atom type (1-N) to assign to this basis atom +<em>size</em> args = Lz + Lz = z size of lattice region appended in a single event(distance units) +<em>freq</em> args = freq + freq = the number of timesteps between append events +<em>temp</em> args = target damp seed extent + target = target temperature for the region between zhi-extent and zhi (temperature units) + damp = damping parameter (time units) + seed = random number seed for langevin kicks + extent = extent of thermostated region (distance units) +<em>random</em> args = xmax ymax zmax seed + <em>xmax</em>, <em>ymax</em>, <em>zmax</em> = maximum displacement in particular direction (distance units) + <em>seed</em> = random number seed for random displacement +<em>units</em> value = <em>lattice</em> or <em>box</em> + <em>lattice</em> = the wall position is defined in lattice units + <em>box</em> = the wall position is defined in simulation box units </pre> </div> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>fix 1 all append/atoms zhi size 5.0 freq 295 units lattice fix 4 all append/atoms zhi size 15.0 freq 5 units box fix A all append/atoms zhi size 1.0 freq 1000 units lattice </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>This fix creates atoms on a lattice, appended on the zhi edge of the system box. This can be useful when a shock or wave is propagating from zlo. This allows the system to grow with time to accommodate an expanding wave. A simulation box must already exist, which is typically created via the <a class="reference internal" href="create_box.html"><em>create_box</em></a> command. Before using this command, a lattice must also be defined using the <a class="reference internal" href="lattice.html"><em>lattice</em></a> command.</p> <p>This fix will automatically freeze atoms on the zhi edge of the system, so that overlaps are avoided when new atoms are appended.</p> <p>The <em>basis</em> keyword specifies an atom type that will be assigned to specific basis atoms as they are created. See the <a class="reference internal" href="lattice.html"><em>lattice</em></a> command for specifics on how basis atoms are defined for the unit cell of the lattice. By default, all created atoms are assigned type = 1 unless this keyword specifies differently.</p> <p>The <em>size</em> keyword defines the size in z of the chunk of material to be added.</p> <p>The <em>random</em> keyword will give the atoms random displacements around their lattice points to simulate some initial temperature.</p> <p>The <em>temp</em> keyword will cause a region to be thermostated with a Langevin thermostat on the zhi boundary. The size of the region is measured from zhi and is set with the <em>extent</em> argument.</p> <p>The <em>units</em> keyword determines the meaning of the distance units used to define a wall position, but only when a numeric constant is used. A <em>box</em> value selects standard distance units as defined by the <a class="reference internal" href="units.html"><em>units</em></a> command, e.g. Angstroms for units = real or metal. A <em>lattice</em> value means the distance units are in lattice spacings. The <a class="reference internal" href="lattice.html"><em>lattice</em></a> command must have been previously used to define the lattice spacings.</p> </div> <hr class="docutils" /> <div class="section" id="restart-fix-modify-output-run-start-stop-minimize-info"> <h2>Restart, fix_modify, output, run start/stop, minimize info<a class="headerlink" href="#restart-fix-modify-output-run-start-stop-minimize-info" title="Permalink to this headline">¶</a></h2> <p>No information about this fix is written to <a class="reference internal" href="restart.html"><em>binary restart files</em></a>. None of the <a class="reference internal" href="fix_modify.html"><em>fix_modify</em></a> options are relevant to this fix. No global or per-atom quantities are stored by this fix for access by various <a class="reference internal" href="Section_howto.html#howto-15"><span>output commands</span></a>. No parameter of this fix can be used with the <em>start/stop</em> keywords of the <a class="reference internal" href="run.html"><em>run</em></a> command. This fix is not invoked during <a class="reference internal" href="minimize.html"><em>energy minimization</em></a>.</p> </div> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <p>This fix style is part of the SHOCK package. It is only enabled if LAMMPS was built with that package. See the <a class="reference internal" href="Section_start.html#start-3"><span>Making LAMMPS</span></a> section for more info.</p> <p>The boundary on which atoms are added with append/atoms must be shrink/minimum. The opposite boundary may be any boundary type other than periodic.</p> </div> <div class="section" id="related-commands"> <h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2> <p><a class="reference internal" href="fix_wall_piston.html"><em>fix wall/piston</em></a> command</p> </div> <div class="section" id="default"> <h2>Default<a class="headerlink" href="#default" title="Permalink to this headline">¶</a></h2> <p>The keyword defaults are size = 0.0, freq = 0, units = lattice. All added atoms are of type 1 unless the basis keyword is used.</p> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/fix_atc.html b/doc/fix_atc.html index fc3a49435..eb014ea60 100644 --- a/doc/fix_atc.html +++ b/doc/fix_atc.html @@ -1,434 +1,434 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>fix atc command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>fix atc command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="fix-atc-command"> <span id="index-0"></span><h1>fix atc command<a class="headerlink" href="#fix-atc-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>fix <fixID> <group> atc <type> <parameter_file> </pre></div> </div> <ul class="simple"> <li>fixID = name of fix</li> <li>group = name of group fix is to be applied</li> <li>type = <em>thermal</em> or <em>two_temperature</em> or <em>hardy</em> or <em>field</em></li> </ul> <pre class="literal-block"> <em>thermal</em> = thermal coupling with fields: temperature - <em>two_temperature</em> = electron-phonon coupling with field: temperature and electron_temperature - <em>hardy</em> = on-the-fly post-processing using kernel localization functions (see "related" section for possible fields) - <em>field</em> = on-the-fly post-processing using mesh-based localization functions (see "related" section for possible fields) +<em>two_temperature</em> = electron-phonon coupling with field: temperature and electron_temperature +<em>hardy</em> = on-the-fly post-processing using kernel localization functions (see "related" section for possible fields) +<em>field</em> = on-the-fly post-processing using mesh-based localization functions (see "related" section for possible fields) </pre> <ul class="simple"> <li>parameter_file = name of the file with material parameters. Note: Neither hardy nor field requires a parameter file</li> </ul> </div> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>fix AtC internal atc thermal Ar_thermal.dat fix AtC internal atc two_temperature Ar_ttm.mat fix AtC internal atc hardy fix AtC internal atc field </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>This fix is the beginning to creating a coupled FE/MD simulation and/or an on-the-fly estimation of continuum fields. The coupled versions of this fix do Verlet integration and the post-processing does not. After instantiating this fix, several other fix_modify commands will be needed to set up the problem, e.g. define the finite element mesh and prescribe initial and boundary conditions.</p> <img alt="_images/atc_nanotube.jpg" class="align-center" src="_images/atc_nanotube.jpg" /> <div class="highlight-python"><div class="highlight"><pre>The following coupling example is typical, but non-exhaustive: # ... commands to create and initialize the MD system </pre></div> </div> <div class="highlight-python"><div class="highlight"><pre># initial fix to designate coupling type and group to apply it to - # tag group physics material_file - fix AtC internal atc thermal Ar_thermal.mat +# tag group physics material_file +fix AtC internal atc thermal Ar_thermal.mat </pre></div> </div> <div class="highlight-python"><div class="highlight"><pre># create a uniform 12 x 2 x 2 mesh that covers region contain the group - # nx ny nz region periodicity - fix_modify AtC mesh create 12 2 2 mdRegion f p p +# nx ny nz region periodicity +fix_modify AtC mesh create 12 2 2 mdRegion f p p </pre></div> </div> <div class="highlight-python"><div class="highlight"><pre># specify the control method for the type of coupling - # physics control_type - fix_modify AtC thermal control flux +# physics control_type +fix_modify AtC thermal control flux </pre></div> </div> <div class="highlight-python"><div class="highlight"><pre># specify the initial values for the empirical field "temperature" - # field node_group value - fix_modify AtC initial temperature all 30 +# field node_group value +fix_modify AtC initial temperature all 30 </pre></div> </div> <div class="highlight-python"><div class="highlight"><pre># create an output stream for nodal fields - # filename output_frequency - fix_modify AtC output atc_fe_output 100 +# filename output_frequency +fix_modify AtC output atc_fe_output 100 </pre></div> </div> <div class="highlight-python"><div class="highlight"><pre>run 1000 </pre></div> </div> <p>likewise for this post-processing example:</p> <div class="highlight-python"><div class="highlight"><pre><span class="c"># ... commands to create and initialize the MD system</span> </pre></div> </div> <div class="highlight-python"><div class="highlight"><pre># initial fix to designate post-processing and the group to apply it to - # no material file is allowed nor required - fix AtC internal atc hardy +# no material file is allowed nor required +fix AtC internal atc hardy </pre></div> </div> <div class="highlight-python"><div class="highlight"><pre># for hardy fix, specific kernel function (function type and range) to # be used as a localization function - fix AtC kernel quartic_sphere 10.0 +fix AtC kernel quartic_sphere 10.0 </pre></div> </div> <div class="highlight-python"><div class="highlight"><pre># create a uniform 1 x 1 x 1 mesh that covers region contain the group - # with periodicity this effectively creats a system average - fix_modify AtC mesh create 1 1 1 box p p p +# with periodicity this effectively creats a system average +fix_modify AtC mesh create 1 1 1 box p p p </pre></div> </div> <div class="highlight-python"><div class="highlight"><pre># change from default lagrangian map to eulerian - # refreshed every 100 steps - fix_modify AtC atom_element_map eulerian 100 +# refreshed every 100 steps +fix_modify AtC atom_element_map eulerian 100 </pre></div> </div> <div class="highlight-python"><div class="highlight"><pre># start with no field defined - # add mass density, potential energy density, stress and temperature - fix_modify AtC fields add density energy stress temperature +# add mass density, potential energy density, stress and temperature +fix_modify AtC fields add density energy stress temperature </pre></div> </div> <div class="highlight-python"><div class="highlight"><pre># create an output stream for nodal fields - # filename output_frequency - fix_modify AtC output nvtFE 100 text +# filename output_frequency +fix_modify AtC output nvtFE 100 text </pre></div> </div> <div class="highlight-python"><div class="highlight"><pre>run 1000 </pre></div> </div> <dl class="docutils"> <dt>the mesh’s linear interpolation functions can be used as the localization function</dt> <dd>by using the field option:</dd> </dl> <p>fix AtC internal atc field</p> <p>fix_modify AtC mesh create 1 1 1 box p p p</p> <p>...</p> <p>Note coupling and post-processing can be combined in the same simulations using separate fixes.</p> </div> <hr class="docutils" /> <div class="section" id="restart-fix-modify-output-run-start-stop-minimize-info"> <h2>Restart, fix_modify, output, run start/stop, minimize info<a class="headerlink" href="#restart-fix-modify-output-run-start-stop-minimize-info" title="Permalink to this headline">¶</a></h2> <p>No information about this fix is written to <a class="reference internal" href="restart.html"><em>binary restart files</em></a>. The <a class="reference internal" href="fix_modify.html"><em>fix_modify</em></a> options relevant to this fix are listed below. No global scalar or vector or per-atom quantities are stored by this fix for access by various <a class="reference internal" href="Section_howto.html#howto-15"><span>output commands</span></a>. No parameter of this fix can be used with the <em>start/stop</em> keywords of the <a class="reference internal" href="run.html"><em>run</em></a> command. This fix is not invoked during <a class="reference internal" href="minimize.html"><em>energy minimization</em></a>.</p> </div> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <p>Thermal and two_temperature (coupling) types use a Verlet time-integration algorithm. The hardy type does not contain its own time-integrator and must be used with a separate fix that does contain one, e.g. nve, nvt, etc.</p> <ul class="simple"> <li>Currently,</li> <li><ul class="first"> <li>the coupling is restricted to thermal physics</li> </ul> </li> <li><ul class="first"> <li>the FE computations are done in serial on each processor.</li> </ul> </li> </ul> </div> <div class="section" id="related-commands"> <h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2> <p>After specifying this fix in your input script, several other <a class="reference internal" href="fix_modify.html"><em>fix_modify</em></a> commands are used to setup the problem, e.g. define the finite element mesh and prescribe initial and boundary conditions.</p> <p>fix_modify commands for setup:</p> <ul class="simple"> <li><code class="xref doc docutils literal"><span class="pre">fix_modify</span> <span class="pre">AtC</span> <span class="pre">mesh</span> <span class="pre">create</span></code></li> <li><code class="xref doc docutils literal"><span class="pre">fix_modify</span> <span class="pre">AtC</span> <span class="pre">mesh</span> <span class="pre">quadrature</span></code></li> <li><code class="xref doc docutils literal"><span class="pre">fix_modify</span> <span class="pre">AtC</span> <span class="pre">mesh</span> <span class="pre">read</span></code></li> <li><code class="xref doc docutils literal"><span class="pre">fix_modify</span> <span class="pre">AtC</span> <span class="pre">mesh</span> <span class="pre">write</span></code></li> <li><code class="xref doc docutils literal"><span class="pre">fix_modify</span> <span class="pre">AtC</span> <span class="pre">mesh</span> <span class="pre">create_nodeset</span></code></li> <li><code class="xref doc docutils literal"><span class="pre">fix_modify</span> <span class="pre">AtC</span> <span class="pre">mesh</span> <span class="pre">add_to_nodeset</span></code></li> <li><code class="xref doc docutils literal"><span class="pre">fix_modify</span> <span class="pre">AtC</span> <span class="pre">mesh</span> <span class="pre">create_faceset</span> <span class="pre">box</span></code></li> <li><code class="xref doc docutils literal"><span class="pre">fix_modify</span> <span class="pre">AtC</span> <span class="pre">mesh</span> <span class="pre">create_faceset</span> <span class="pre">plane</span></code></li> <li><code class="xref doc docutils literal"><span class="pre">fix_modify</span> <span class="pre">AtC</span> <span class="pre">mesh</span> <span class="pre">create_elementset</span></code></li> <li><code class="xref doc docutils literal"><span class="pre">fix_modify</span> <span class="pre">AtC</span> <span class="pre">mesh</span> <span class="pre">delete_elements</span></code></li> <li><code class="xref doc docutils literal"><span class="pre">fix_modify</span> <span class="pre">AtC</span> <span class="pre">mesh</span> <span class="pre">nodeset_to_elementset</span></code></li> <li><code class="xref doc docutils literal"><span class="pre">fix_modify</span> <span class="pre">AtC</span> <span class="pre">boundary</span></code></li> <li><code class="xref doc docutils literal"><span class="pre">fix_modify</span> <span class="pre">AtC</span> <span class="pre">internal_quadrature</span></code></li> <li><code class="xref doc docutils literal"><span class="pre">fix_modify</span> <span class="pre">AtC</span> <span class="pre">time_integration</span> <span class="pre">(thermal)</span></code></li> <li><code class="xref doc docutils literal"><span class="pre">fix_modify</span> <span class="pre">AtC</span> <span class="pre">time_integration</span> <span class="pre">(momentum)</span></code></li> <li><code class="xref doc docutils literal"><span class="pre">fix_modify</span> <span class="pre">AtC</span> <span class="pre">extrinsic</span> <span class="pre">electron_integration</span></code></li> <li><code class="xref doc docutils literal"><span class="pre">fix_modify</span> <span class="pre">AtC</span> <span class="pre">internal_element_set</span></code></li> <li><code class="xref doc docutils literal"><span class="pre">fix_modify</span> <span class="pre">AtC</span> <span class="pre">decomposition</span></code></li> </ul> <p>fix_modify commands for boundary and initial conditions:</p> <ul class="simple"> <li><code class="xref doc docutils literal"><span class="pre">fix_modify</span> <span class="pre">AtC</span> <span class="pre">initial</span></code></li> <li><code class="xref doc docutils literal"><span class="pre">fix_modify</span> <span class="pre">AtC</span> <span class="pre">fix</span></code></li> <li><code class="xref doc docutils literal"><span class="pre">fix_modify</span> <span class="pre">AtC</span> <span class="pre">unfix</span></code></li> <li><code class="xref doc docutils literal"><span class="pre">fix_modify</span> <span class="pre">AtC</span> <span class="pre">fix_flux</span></code></li> <li><code class="xref doc docutils literal"><span class="pre">fix_modify</span> <span class="pre">AtC</span> <span class="pre">unfix_flux</span></code></li> <li><code class="xref doc docutils literal"><span class="pre">fix_modify</span> <span class="pre">AtC</span> <span class="pre">source</span></code></li> <li><code class="xref doc docutils literal"><span class="pre">fix_modify</span> <span class="pre">AtC</span> <span class="pre">remove_source</span></code></li> </ul> <p>fix_modify commands for control and filtering:</p> <ul class="simple"> <li><code class="xref doc docutils literal"><span class="pre">fix_modify</span> <span class="pre">AtC</span> <span class="pre">control</span></code></li> <li><code class="xref doc docutils literal"><span class="pre">fix_modify</span> <span class="pre">AtC</span> <span class="pre">control</span> <span class="pre">thermal</span></code></li> <li><code class="xref doc docutils literal"><span class="pre">fix_modify</span> <span class="pre">AtC</span> <span class="pre">control</span> <span class="pre">thermal</span> <span class="pre">correction_max_iterations</span></code></li> <li><code class="xref doc docutils literal"><span class="pre">fix_modify</span> <span class="pre">AtC</span> <span class="pre">control</span> <span class="pre">momentum</span></code></li> <li><code class="xref doc docutils literal"><span class="pre">fix_modify</span> <span class="pre">AtC</span> <span class="pre">control</span> <span class="pre">localized_lambda</span></code></li> <li><code class="xref doc docutils literal"><span class="pre">fix_modify</span> <span class="pre">AtC</span> <span class="pre">control</span> <span class="pre">lumped_lambda_solve</span></code></li> <li><code class="xref doc docutils literal"><span class="pre">fix_modify</span> <span class="pre">AtC</span> <span class="pre">control</span> <span class="pre">mask_direction</span></code> control</li> <li><code class="xref doc docutils literal"><span class="pre">fix_modify</span> <span class="pre">AtC</span> <span class="pre">filter</span></code></li> <li><code class="xref doc docutils literal"><span class="pre">fix_modify</span> <span class="pre">AtC</span> <span class="pre">filter</span> <span class="pre">scale</span></code></li> <li><code class="xref doc docutils literal"><span class="pre">fix_modify</span> <span class="pre">AtC</span> <span class="pre">filter</span> <span class="pre">type</span></code></li> <li><code class="xref doc docutils literal"><span class="pre">fix_modify</span> <span class="pre">AtC</span> <span class="pre">equilibrium_start</span></code></li> <li><code class="xref doc docutils literal"><span class="pre">fix_modify</span> <span class="pre">AtC</span> <span class="pre">extrinsic</span> <span class="pre">exchange</span></code></li> <li><code class="xref doc docutils literal"><span class="pre">fix_modify</span> <span class="pre">AtC</span> <span class="pre">poisson_solver</span></code></li> </ul> <p>fix_modify commands for output:</p> <ul class="simple"> <li><code class="xref doc docutils literal"><span class="pre">fix_modify</span> <span class="pre">AtC</span> <span class="pre">output</span></code></li> <li><code class="xref doc docutils literal"><span class="pre">fix_modify</span> <span class="pre">AtC</span> <span class="pre">output</span> <span class="pre">nodeset</span></code></li> <li><code class="xref doc docutils literal"><span class="pre">fix_modify</span> <span class="pre">AtC</span> <span class="pre">output</span> <span class="pre">elementset</span></code></li> <li><code class="xref doc docutils literal"><span class="pre">fix_modify</span> <span class="pre">AtC</span> <span class="pre">output</span> <span class="pre">boundary_integral</span></code></li> <li><code class="xref doc docutils literal"><span class="pre">fix_modify</span> <span class="pre">AtC</span> <span class="pre">output</span> <span class="pre">contour_integral</span></code></li> <li><code class="xref doc docutils literal"><span class="pre">fix_modify</span> <span class="pre">AtC</span> <span class="pre">mesh</span> <span class="pre">output</span></code></li> <li><code class="xref doc docutils literal"><span class="pre">fix_modify</span> <span class="pre">AtC</span> <span class="pre">write_restart</span></code></li> <li><code class="xref doc docutils literal"><span class="pre">fix_modify</span> <span class="pre">AtC</span> <span class="pre">read_restart</span></code></li> </ul> <p>fix_modify commands for post-processing:</p> <ul class="simple"> <li><code class="xref doc docutils literal"><span class="pre">fix_modify</span> <span class="pre">AtC</span> <span class="pre">kernel</span></code></li> <li><code class="xref doc docutils literal"><span class="pre">fix_modify</span> <span class="pre">AtC</span> <span class="pre">fields</span></code></li> <li><code class="xref doc docutils literal"><span class="pre">fix_modify</span> <span class="pre">AtC</span> <span class="pre">grdients</span></code></li> <li><code class="xref doc docutils literal"><span class="pre">fix_modify</span> <span class="pre">AtC</span> <span class="pre">rates</span></code></li> <li><code class="xref doc docutils literal"><span class="pre">fix_modify</span> <span class="pre">AtC</span> <span class="pre">computes</span></code></li> <li><code class="xref doc docutils literal"><span class="pre">fix_modify</span> <span class="pre">AtC</span> <span class="pre">on_the_fly</span></code></li> <li><code class="xref doc docutils literal"><span class="pre">fix_modify</span> <span class="pre">AtC</span> <span class="pre">pair_interactions/bond_interactions</span></code></li> <li><code class="xref doc docutils literal"><span class="pre">fix_modify</span> <span class="pre">AtC</span> <span class="pre">sample_frequency</span></code></li> <li><code class="xref doc docutils literal"><span class="pre">fix_modify</span> <span class="pre">AtC</span> <span class="pre">set</span></code></li> </ul> <p>miscellaneous fix_modify commands:</p> <ul class="simple"> <li><code class="xref doc docutils literal"><span class="pre">fix_modify</span> <span class="pre">AtC</span> <span class="pre">atom_element_map</span></code></li> <li><code class="xref doc docutils literal"><span class="pre">fix_modify</span> <span class="pre">AtC</span> <span class="pre">atom_weight</span></code></li> <li><code class="xref doc docutils literal"><span class="pre">fix_modify</span> <span class="pre">AtC</span> <span class="pre">write_atom_weights</span></code></li> <li><code class="xref doc docutils literal"><span class="pre">fix_modify</span> <span class="pre">AtC</span> <span class="pre">reset_time</span></code></li> <li><code class="xref doc docutils literal"><span class="pre">fix_modify</span> <span class="pre">AtC</span> <span class="pre">reset_atomic_reference_positions</span></code></li> <li><code class="xref doc docutils literal"><span class="pre">fix_modify</span> <span class="pre">AtC</span> <span class="pre">fe_md_boundary</span></code></li> <li><code class="xref doc docutils literal"><span class="pre">fix_modify</span> <span class="pre">AtC</span> <span class="pre">boundary_faceset</span></code></li> <li><code class="xref doc docutils literal"><span class="pre">fix_modify</span> <span class="pre">AtC</span> <span class="pre">consistent_fe_initialization</span></code></li> <li><code class="xref doc docutils literal"><span class="pre">fix_modify</span> <span class="pre">AtC</span> <span class="pre">mass_matrix</span></code></li> <li><code class="xref doc docutils literal"><span class="pre">fix_modify</span> <span class="pre">AtC</span> <span class="pre">material</span></code></li> <li><code class="xref doc docutils literal"><span class="pre">fix_modify</span> <span class="pre">AtC</span> <span class="pre">atomic_charge</span></code></li> <li><code class="xref doc docutils literal"><span class="pre">fix_modify</span> <span class="pre">AtC</span> <span class="pre">source_integration</span></code></li> <li><code class="xref doc docutils literal"><span class="pre">fix_modify</span> <span class="pre">AtC</span> <span class="pre">temperature_definition</span></code></li> <li><code class="xref doc docutils literal"><span class="pre">fix_modify</span> <span class="pre">AtC</span> <span class="pre">track_displacement</span></code></li> <li><code class="xref doc docutils literal"><span class="pre">fix_modify</span> <span class="pre">AtC</span> <span class="pre">boundary_dynamics</span></code></li> <li><code class="xref doc docutils literal"><span class="pre">fix_modify</span> <span class="pre">AtC</span> <span class="pre">add_species</span></code></li> <li><code class="xref doc docutils literal"><span class="pre">fix_modify</span> <span class="pre">AtC</span> <span class="pre">add_molecule</span></code></li> <li><code class="xref doc docutils literal"><span class="pre">fix_modify</span> <span class="pre">AtC</span> <span class="pre">remove_species</span></code></li> <li><code class="xref doc docutils literal"><span class="pre">fix_modify</span> <span class="pre">AtC</span> <span class="pre">remove_molecule</span></code></li> </ul> <p>Note: a set of example input files with the attendant material files are included with this package</p> </div> <div class="section" id="default"> <h2>Default<a class="headerlink" href="#default" title="Permalink to this headline">¶</a></h2> <p>None</p> <hr class="docutils" /> <p>For detailed exposition of the theory and algorithms please see:</p> <p id="wagner"><strong>(Wagner)</strong> Wagner, GJ; Jones, RE; Templeton, JA; Parks, MA, “An atomistic-to-continuum coupling method for heat transfer in solids.” Special Issue of Computer Methods and Applied Mechanics (2008) 197:3351.</p> <p id="zimmeman2004"><strong>(Zimmerman2004)</strong> Zimmerman, JA; Webb, EB; Hoyt, JJ;. Jones, RE; Klein, PA; Bammann, DJ, “Calculation of stress in atomistic simulation.” Special Issue of Modelling and Simulation in Materials Science and Engineering (2004), 12:S319.</p> <p id="zimmerman2010"><strong>(Zimmerman2010)</strong> Zimmerman, JA; Jones, RE; Templeton, JA, “A material frame approach for evaluating continuum variables in atomistic simulations.” Journal of Computational Physics (2010), 229:2364.</p> <p id="templeton2010"><strong>(Templeton2010)</strong> Templeton, JA; Jones, RE; Wagner, GJ, “Application of a field-based method to spatially varying thermal transport problems in molecular dynamics.” Modelling and Simulation in Materials Science and Engineering (2010), 18:085007.</p> <p id="jones"><strong>(Jones)</strong> Jones, RE; Templeton, JA; Wagner, GJ; Olmsted, D; Modine, JA, “Electron transport enhanced molecular dynamics for metals and semi-metals.” International Journal for Numerical Methods in Engineering (2010), 83:940.</p> <p id="templeton2011"><strong>(Templeton2011)</strong> Templeton, JA; Jones, RE; Lee, JW; Zimmerman, JA; Wong, BM, “A long-range electric field solver for molecular dynamics based on atomistic-to-continuum modeling.” Journal of Chemical Theory and Computation (2011), 7:1736.</p> <p id="mandadapu"><strong>(Mandadapu)</strong> Mandadapu, KK; Templeton, JA; Lee, JW, “Polarization as a field variable from molecular dynamics simulations.” Journal of Chemical Physics (2013), 139:054115.</p> <p>Please refer to the standard finite element (FE) texts, e.g. T.J.R Hughes ” The finite element method ”, Dover 2003, for the basics of FE simulation.</p> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/fix_atom_swap.html b/doc/fix_atom_swap.html index db6450a67..b24f358e5 100644 --- a/doc/fix_atom_swap.html +++ b/doc/fix_atom_swap.html @@ -1,355 +1,355 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>fix atom/swap command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>fix atom/swap command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="fix-atom-swap-command"> <span id="index-0"></span><h1>fix atom/swap command<a class="headerlink" href="#fix-atom-swap-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>fix ID group-ID atom/swap N X seed T keyword values ... </pre></div> </div> <ul class="simple"> <li>ID, group-ID are documented in <a class="reference internal" href="fix.html"><em>fix</em></a> command</li> <li>atom/swap = style name of this fix command</li> <li>N = invoke this fix every N steps</li> <li>X = number of swaps to attempt every N steps</li> <li>seed = random # seed (positive integer)</li> <li>T = scaling temperature of the MC swaps (temperature units)</li> <li>one or more keyword/value pairs may be appended to args</li> <li>keyword = <em>types</em> or <em>delta_mu</em> or <em>ke</em> or <em>semi-grand</em> or <em>region</em></li> </ul> <pre class="literal-block"> <em>types</em> values = two or more atom types - <em>delta_mu</em> values = number_of_types-1 relative chemical potentials (energy units) - <em>ke</em> value = <em>no</em> or <em>yes</em> - <em>no</em> = no conservation of kinetic energy after atom swaps - <em>yes</em> = kinetic energy is conserved after atom swaps - <em>semi-grand</em> value = <em>no</em> or <em>yes</em> - <em>no</em> = particle type counts and fractions conserved - <em>yes</em> = semi-grand canonical ensemble, particle fractions not conserved - <em>region</em> value = region-ID - region-ID = ID of region to use as an exchange/move volume +<em>delta_mu</em> values = number_of_types-1 relative chemical potentials (energy units) +<em>ke</em> value = <em>no</em> or <em>yes</em> + <em>no</em> = no conservation of kinetic energy after atom swaps + <em>yes</em> = kinetic energy is conserved after atom swaps +<em>semi-grand</em> value = <em>no</em> or <em>yes</em> + <em>no</em> = particle type counts and fractions conserved + <em>yes</em> = semi-grand canonical ensemble, particle fractions not conserved +<em>region</em> value = region-ID + region-ID = ID of region to use as an exchange/move volume </pre> </div> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>fix 2 all atom/swap 1 1 29494 300.0 ke no types 1 2 fix myFix all atom/swap 100 1 12345 298.0 region my_swap_region types 5 6 fix SGMC all atom/swap 1 100 345 1.0 semi-grand yes types 1 2 3 delta_mu 4.3 -5.0 </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>This fix performs Monte Carlo swaps of atoms of one given atom type with atoms of the other given atom types. The specified T is used in the Metropolis criterion dictating swap probabilities.</p> <p>Perform X swaps of atoms of one type with atoms of another type according to a Monte Carlo probability. Swap candidates must be in the fix group, must be in the region (if specified), and must be of one of the listed types. Swaps are attempted between candidates that are chosen randomly with equal probability among the candidate atoms. Swaps are not attempted between atoms of the same type since nothing would happen.</p> <p>All atoms in the simulation domain can be moved using regular time integration displacements, e.g. via <code class="xref doc docutils literal"><span class="pre">fix_nvt</span></code>, resulting in a hybrid MC+MD simulation. A smaller-than-usual timestep size may be needed when running such a hybrid simulation, especially if the swapped atoms are not well equilibrated.</p> <p>The <em>types</em> keyword is required. At least two atom types must be specified.</p> <p>The <em>ke</em> keyword can be set to <em>no</em> to turn off kinetic energy conservation for swaps. The default is <em>yes</em>, which means that swapped atoms have their velocities scaled by the ratio of the masses of the swapped atom types. This ensures that the kinetic energy of each atom is the same after the swap as it was before the swap, even though the atom masses have changed.</p> <p>The <em>semi-grand</em> keyword can be set to <em>yes</em> to switch to the semi-grand canonical ensemble as discussed in <a class="reference internal" href="#sadigh"><span>(Sadigh)</span></a>. This means that the total number of each particle type does not need to be conserved. The default is <em>no</em>, which means that the only kind of swap allowed exchanges an atom of one type with an atom of a different given type. In other words, the relative mole fractions of the swapped atoms remains constant. Whereas in the semi-grand canonical ensemble, the composition of the system can change. Note that when using <em>semi-grand</em>, all atoms in the fix group are eligible for attempted conversion to one of the given types, even if its current type is not one of the given types. An attempt is made to switch the selected atom to one of the listed <em>types</em> with equal probability. Acceptance of each attempt depends upon the Metropolis criterion.</p> <p>The <em>delta_mu</em> keyword allows users to specify non-zero chemical potentials for each of the atom types. All chemical potentials are relative to the first atom type, so no value is given for the first atom type. These parameters are useful for semi-grand canonical ensemble simulations where it may be desirable to actively control the composition of the system. When given, there must be ntypes-1 values given, where ntypes is the number of atom types in the simulated system. Note that a value for delta_mu is required for all atom types when using <em>semi-grand</em>, even for atom types not listed following the <em>types</em> keyword. This is because when using <em>semi-grand</em>, it is possible that any of the atom types in the system could be part of the fix group and therefore are eligible for swapping to one of the listed atom types.</p> <p>This command may optionally use the <em>region</em> keyword to define swap volume. The specified region must have been previously defined with a <a class="reference internal" href="region.html"><em>region</em></a> command. It must be defined with side = <em>in</em>. Swap attempts occur only between atoms that are both within the specified region. Swaps are not otherwise attempted.</p> <p>You should ensure you do not swap atoms belonging to a molecule, or LAMMPS will soon generate an error when it tries to find those atoms. LAMMPS will warn you if any of the atoms eligible for swapping have a non-zero molecule ID, but does not check for this at the time of swapping.</p> <p>This fix checks to ensure all atoms of the given types have the same atomic charge. LAMMPS doesn’t enforce this in general, but it is needed for this fix to simplify the swapping procedure. Successful swaps will swap the atom type and charge of the swapped atoms.</p> <p>Since this fix computes total potential energies before and after proposed swaps, so even complicated potential energy calculations are OK, including the following:</p> <ul class="simple"> <li>long-range electrostatics (kspace)</li> <li>many body pair styles</li> <li>hybrid pair styles</li> <li>eam pair styles</li> <li>triclinic systems</li> <li>need to include potential energy contributions from other fixes</li> </ul> <p>Some fixes have an associated potential energy. Examples of such fixes include: <a class="reference internal" href="fix_efield.html"><em>efield</em></a>, <a class="reference internal" href="fix_gravity.html"><em>gravity</em></a>, <a class="reference internal" href="fix_addforce.html"><em>addforce</em></a>, <a class="reference internal" href="fix_langevin.html"><em>langevin</em></a>, <a class="reference internal" href="fix_restrain.html"><em>restrain</em></a>, <a class="reference internal" href="fix_temp_berendsen.html"><em>temp/berendsen</em></a>, <a class="reference internal" href="fix_temp_rescale.html"><em>temp/rescale</em></a>, and <a class="reference internal" href="fix_wall.html"><em>wall fixes</em></a>. For that energy to be included in the total potential energy of the system (the quantity used when performing GCMC moves), you MUST enable the <a class="reference internal" href="fix_modify.html"><em>fix_modify</em></a> <em>energy</em> option for that fix. The doc pages for individual <a class="reference internal" href="fix.html"><em>fix</em></a> commands specify if this should be done.</p> </div> <div class="section" id="restart-fix-modify-output-run-start-stop-minimize-info"> <h2>Restart, fix_modify, output, run start/stop, minimize info<a class="headerlink" href="#restart-fix-modify-output-run-start-stop-minimize-info" title="Permalink to this headline">¶</a></h2> <p>This fix writes the state of the fix to <a class="reference internal" href="restart.html"><em>binary restart files</em></a>. This includes information about the random number generator seed, the next timestep for MC exchanges, etc. See the <a class="reference internal" href="read_restart.html"><em>read_restart</em></a> command for info on how to re-specify a fix in an input script that reads a restart file, so that the operation of the fix continues in an uninterrupted fashion.</p> <p>None of the <a class="reference internal" href="fix_modify.html"><em>fix_modify</em></a> options are relevant to this fix.</p> <p>This fix computes a global vector of length 2, which can be accessed by various <a class="reference internal" href="Section_howto.html#howto-15"><span>output commands</span></a>. The vector values are the following global cumulative quantities:</p> <ul class="simple"> <li>1 = swap attempts</li> <li>2 = swap successes</li> </ul> <p>The vector values calculated by this fix are “extensive”.</p> <p>No parameter of this fix can be used with the <em>start/stop</em> keywords of the <a class="reference internal" href="run.html"><em>run</em></a> command. This fix is not invoked during <a class="reference internal" href="minimize.html"><em>energy minimization</em></a>.</p> </div> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <p>This fix is part of the MC package. It is only enabled if LAMMPS was built with that package. See the <a class="reference internal" href="Section_start.html#start-3"><span>Making LAMMPS</span></a> section for more info.</p> </div> <div class="section" id="related-commands"> <h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2> <p><code class="xref doc docutils literal"><span class="pre">fix_nvt</span></code>, <a class="reference internal" href="neighbor.html"><em>neighbor</em></a>, <a class="reference internal" href="fix_deposit.html"><em>fix_deposit</em></a>, <a class="reference internal" href="fix_evaporate.html"><em>fix_evaporate</em></a>, <a class="reference internal" href="delete_atoms.html"><em>delete_atoms</em></a>, <a class="reference internal" href="fix_gcmc.html"><em>fix_gcmc</em></a></p> </div> <div class="section" id="default"> <h2>Default<a class="headerlink" href="#default" title="Permalink to this headline">¶</a></h2> <p>The option defaults are ke = yes, semi-grand = no, delta_mu = 0.0 for all atom types.</p> <hr class="docutils" /> <p id="sadigh"><strong>(Sadigh)</strong> B Sadigh, P Erhart, A Stukowski, A Caro, E Martinez, and L Zepeda-Ruiz, Phys. Rev. B, 85, 184203 (2012).</p> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/fix_ave_atom.html b/doc/fix_ave_atom.html index 5efc53bd2..925beefe1 100644 --- a/doc/fix_ave_atom.html +++ b/doc/fix_ave_atom.html @@ -1,320 +1,320 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>fix ave/atom command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>fix ave/atom command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="fix-ave-atom-command"> <span id="index-0"></span><h1>fix ave/atom command<a class="headerlink" href="#fix-ave-atom-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>fix ID group-ID ave/atom Nevery Nrepeat Nfreq value1 value2 ... </pre></div> </div> <ul class="simple"> <li>ID, group-ID are documented in <a class="reference internal" href="fix.html"><em>fix</em></a> command</li> <li>ave/atom = style name of this fix command</li> <li>Nevery = use input values every this many timesteps</li> <li>Nrepeat = # of times to use input values for calculating averages</li> <li>Nfreq = calculate averages every this many timesteps one or more input values can be listed</li> <li>value = x, y, z, vx, vy, vz, fx, fy, fz, c_ID, c_ID[i], f_ID, f_ID[i], v_name</li> </ul> <div class="highlight-python"><div class="highlight"><pre>x,y,z,vx,vy,vz,fx,fy,fz = atom attribute (position, velocity, force component) - c_ID = per-atom vector calculated by a compute with ID - c_ID[I] = Ith column of per-atom array calculated by a compute with ID - f_ID = per-atom vector calculated by a fix with ID - f_ID[I] = Ith column of per-atom array calculated by a fix with ID - v_name = per-atom vector calculated by an atom-style variable with name +c_ID = per-atom vector calculated by a compute with ID +c_ID[I] = Ith column of per-atom array calculated by a compute with ID +f_ID = per-atom vector calculated by a fix with ID +f_ID[I] = Ith column of per-atom array calculated by a fix with ID +v_name = per-atom vector calculated by an atom-style variable with name </pre></div> </div> </div> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>fix 1 all ave/atom 1 100 100 vx vy vz fix 1 all ave/atom 10 20 1000 c_my_stress[1] </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>Use one or more per-atom vectors as inputs every few timesteps, and average them atom by atom over longer timescales. The resulting per-atom averages can be used by other <a class="reference internal" href="Section_howto.html#howto-15"><span>output commands</span></a> such as the <a class="reference internal" href="fix_ave_spatial.html"><em>fix ave/spatial</em></a> or <a class="reference internal" href="dump.html"><em>dump custom</em></a> commands.</p> <p>The group specified with the command means only atoms within the group have their averages computed. Results are set to 0.0 for atoms not in the group.</p> <p>Each input value can be an atom attribute (position, velocity, force component) or can be the result of a <a class="reference internal" href="compute.html"><em>compute</em></a> or <a class="reference internal" href="fix.html"><em>fix</em></a> or the evaluation of an atom-style <a class="reference internal" href="variable.html"><em>variable</em></a>. In the latter cases, the compute, fix, or variable must produce a per-atom vector, not a global quantity or local quantity. If you wish to time-average global quantities from a compute, fix, or variable, then see the <a class="reference internal" href="fix_ave_time.html"><em>fix ave/time</em></a> command.</p> <p><a class="reference internal" href="compute.html"><em>Computes</em></a> that produce per-atom vectors or arrays are those which have the word <em>atom</em> in their style name. See the doc pages for individual <a class="reference internal" href="fix.html"><em>fixes</em></a> to determine which ones produce per-atom vectors or arrays. <a class="reference internal" href="variable.html"><em>Variables</em></a> of style <em>atom</em> are the only ones that can be used with this fix since they produce per-atom vectors.</p> <p>Each per-atom value of each input vector is averaged independently.</p> <hr class="docutils" /> <p>The <em>Nevery</em>, <em>Nrepeat</em>, and <em>Nfreq</em> arguments specify on what timesteps the input values will be used in order to contribute to the average. The final averaged quantities are generated on timesteps that are a multiple of <em>Nfreq</em>. The average is over <em>Nrepeat</em> quantities, computed in the preceding portion of the simulation every <em>Nevery</em> timesteps. <em>Nfreq</em> must be a multiple of <em>Nevery</em> and <em>Nevery</em> must be non-zero even if <em>Nrepeat</em> is 1. Also, the timesteps contributing to the average value cannot overlap, i.e. Nfreq > (Nrepeat-1)*Nevery is required.</p> <p>For example, if Nevery=2, Nrepeat=6, and Nfreq=100, then values on timesteps 90,92,94,96,98,100 will be used to compute the final average on timestep 100. Similarly for timesteps 190,192,194,196,198,200 on timestep 200, etc.</p> <hr class="docutils" /> <p>The atom attribute values (x,y,z,vx,vy,vz,fx,fy,fz) are self-explanatory. Note that other atom attributes can be used as inputs to this fix by using the <a class="reference internal" href="compute_property_atom.html"><em>compute property/atom</em></a> command and then specifying an input value from that compute.</p> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">The x,y,z attributes are values that are re-wrapped inside the periodic box whenever an atom crosses a periodic boundary. Thus if you time average an atom that spends half its time on either side of the periodic box, you will get a value in the middle of the box. If this is not what you want, consider averaging unwrapped coordinates, which can be provided by the <a class="reference internal" href="compute_property_atom.html"><em>compute property/atom</em></a> command via its xu,yu,zu attributes.</p> </div> <p>If a value begins with “<a href="#id1"><span class="problematic" id="id2">c_</span></a>”, a compute ID must follow which has been previously defined in the input script. If no bracketed term is appended, the per-atom vector calculated by the compute is used. If a bracketed term containing an index I is appended, the Ith column of the per-atom array calculated by the compute is used. Users can also write code for their own compute styles and <a class="reference internal" href="Section_modify.html"><em>add them to LAMMPS</em></a>.</p> <p>If a value begins with “<a href="#id3"><span class="problematic" id="id4">f_</span></a>”, a fix ID must follow which has been previously defined in the input script. If no bracketed term is appended, the per-atom vector calculated by the fix is used. If a bracketed term containing an index I is appended, the Ith column of the per-atom array calculated by the fix is used. Note that some fixes only produce their values on certain timesteps, which must be compatible with <em>Nevery</em>, else an error will result. Users can also write code for their own fix styles and <a class="reference internal" href="Section_modify.html"><em>add them to LAMMPS</em></a>.</p> <p>If a value begins with “<a href="#id5"><span class="problematic" id="id6">v_</span></a>”, a variable name must follow which has been previously defined in the input script as an <a class="reference internal" href="variable.html"><em>atom-style variable</em></a> Variables of style <em>atom</em> can reference thermodynamic keywords, or invoke other computes, fixes, or variables when they are evaluated, so this is a very general means of generating per-atom quantities to time average.</p> </div> <hr class="docutils" /> <div class="section" id="restart-fix-modify-output-run-start-stop-minimize-info"> <h2>Restart, fix_modify, output, run start/stop, minimize info<a class="headerlink" href="#restart-fix-modify-output-run-start-stop-minimize-info" title="Permalink to this headline">¶</a></h2> <p>No information about this fix is written to <a class="reference internal" href="restart.html"><em>binary restart files</em></a>. None of the <a class="reference internal" href="fix_modify.html"><em>fix_modify</em></a> options are relevant to this fix. No global scalar or vector quantities are stored by this fix for access by various <a class="reference internal" href="Section_howto.html#howto-15"><span>output commands</span></a>.</p> <p>This fix produces a per-atom vector or array which can be accessed by various <a class="reference internal" href="Section_howto.html#howto-15"><span>output commands</span></a>. A vector is produced if only a single quantity is averaged by this fix. If two or more quantities are averaged, then an array of values is produced. The per-atom values can only be accessed on timesteps that are multiples of <em>Nfreq</em> since that is when averaging is performed.</p> <p>No parameter of this fix can be used with the <em>start/stop</em> keywords of the <a class="reference internal" href="run.html"><em>run</em></a> command. This fix is not invoked during <a class="reference internal" href="minimize.html"><em>energy minimization</em></a>.</p> </div> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <blockquote> <div>none</div></blockquote> </div> <div class="section" id="related-commands"> <h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2> <p><a class="reference internal" href="compute.html"><em>compute</em></a>, <a class="reference internal" href="fix_ave_histo.html"><em>fix ave/histo</em></a>, <a class="reference internal" href="fix_ave_spatial.html"><em>fix ave/spatial</em></a>, <a class="reference internal" href="fix_ave_time.html"><em>fix ave/time</em></a>, <a class="reference internal" href="variable.html"><em>variable</em></a>,</p> <p><strong>Default:</strong> none</p> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/fix_ave_chunk.html b/doc/fix_ave_chunk.html index 8cce0fdba..bd87b2857 100644 --- a/doc/fix_ave_chunk.html +++ b/doc/fix_ave_chunk.html @@ -1,576 +1,576 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>fix ave/chunk command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>fix ave/chunk command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="fix-ave-chunk-command"> <span id="index-0"></span><h1>fix ave/chunk command<a class="headerlink" href="#fix-ave-chunk-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>fix ID group-ID ave/chunk Nevery Nrepeat Nfreq chunkID value1 value2 ... keyword args ... </pre></div> </div> <ul class="simple"> <li>ID, group-ID are documented in <a class="reference internal" href="fix.html"><em>fix</em></a> command</li> <li>ave/chunk = style name of this fix command</li> <li>Nevery = use input values every this many timesteps</li> <li>Nrepeat = # of times to use input values for calculating averages</li> <li>Nfreq = calculate averages every this many timesteps</li> <li>chunkID = ID of <a class="reference internal" href="compute_chunk_atom.html"><em>compute chunk/atom</em></a> command</li> <li>one or more input values can be listed</li> <li>value = vx, vy, vz, fx, fy, fz, density/mass, density/number, temp, c_ID, c_ID[I], f_ID, f_ID[I], v_name</li> </ul> <div class="highlight-python"><div class="highlight"><pre>vx,vy,vz,fx,fy,fz = atom attribute (velocity, force component) - density/number, density/mass = number or mass density - temp = temperature - c_ID = per-atom vector calculated by a compute with ID - c_ID[I] = Ith column of per-atom array calculated by a compute with ID - f_ID = per-atom vector calculated by a fix with ID - f_ID[I] = Ith column of per-atom array calculated by a fix with ID - v_name = per-atom vector calculated by an atom-style variable with name +density/number, density/mass = number or mass density +temp = temperature +c_ID = per-atom vector calculated by a compute with ID +c_ID[I] = Ith column of per-atom array calculated by a compute with ID +f_ID = per-atom vector calculated by a fix with ID +f_ID[I] = Ith column of per-atom array calculated by a fix with ID +v_name = per-atom vector calculated by an atom-style variable with name </pre></div> </div> <ul class="simple"> <li>zero or more keyword/arg pairs may be appended</li> <li>keyword = <em>norm</em> or <em>ave</em> or <em>bias</em> or <em>adof</em> or <em>cdof</em> or <em>file</em> or <em>overwrite</em> or <em>title1</em> or <em>title2</em> or <em>title3</em></li> </ul> <pre class="literal-block"> <em>norm</em> arg = <em>all</em> or <em>sample</em> or <em>none</em> = how output on <em>Nfreq</em> steps is normalized - all = output is sum of atoms across all <em>Nrepeat</em> samples, divided by atom count - sample = output is sum of <em>Nrepeat</em> sample averages, divided by <em>Nrepeat</em> - none = output is sum of <em>Nrepeat</em> sums, divided by <em>Nrepeat</em> - <em>ave</em> args = <em>one</em> or <em>running</em> or <em>window M</em> - one = output new average value every Nfreq steps - running = output cumulative average of all previous Nfreq steps - window M = output average of M most recent Nfreq steps - <em>bias</em> arg = bias-ID - bias-ID = ID of a temperature compute that removes a velocity bias for temperature calculation - <em>adof</em> value = dof_per_atom - dof_per_atom = define this many degrees-of-freedom per atom for temperature calculation - <em>cdof</em> value = dof_per_chunk - dof_per_chunk = define this many degrees-of-freedom per chunk for temperature calculation - <em>file</em> arg = filename - filename = file to write results to - <em>overwrite</em> arg = none = overwrite output file with only latest output - <em>title1</em> arg = string - string = text to print as 1st line of output file - <em>title2</em> arg = string - string = text to print as 2nd line of output file - <em>title3</em> arg = string - string = text to print as 3rd line of output file + all = output is sum of atoms across all <em>Nrepeat</em> samples, divided by atom count + sample = output is sum of <em>Nrepeat</em> sample averages, divided by <em>Nrepeat</em> + none = output is sum of <em>Nrepeat</em> sums, divided by <em>Nrepeat</em> +<em>ave</em> args = <em>one</em> or <em>running</em> or <em>window M</em> + one = output new average value every Nfreq steps + running = output cumulative average of all previous Nfreq steps + window M = output average of M most recent Nfreq steps +<em>bias</em> arg = bias-ID + bias-ID = ID of a temperature compute that removes a velocity bias for temperature calculation +<em>adof</em> value = dof_per_atom + dof_per_atom = define this many degrees-of-freedom per atom for temperature calculation +<em>cdof</em> value = dof_per_chunk + dof_per_chunk = define this many degrees-of-freedom per chunk for temperature calculation +<em>file</em> arg = filename + filename = file to write results to +<em>overwrite</em> arg = none = overwrite output file with only latest output +<em>title1</em> arg = string + string = text to print as 1st line of output file +<em>title2</em> arg = string + string = text to print as 2nd line of output file +<em>title3</em> arg = string + string = text to print as 3rd line of output file </pre> </div> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>fix 1 all ave/chunk 10000 1 10000 binchunk c_myCentro title1 "My output values" fix 1 flow ave/chunk 100 10 1000 molchunk vx vz norm sample file vel.profile fix 1 flow ave/chunk 100 5 1000 binchunk density/mass ave running fix 1 flow ave/chunk 100 5 1000 binchunk density/mass ave running </pre></div> </div> <p><strong>IMPORTANT NOTE:</strong></p> <p>If you are trying to replace an older fix ave/spatial command with the newer, more flexible fix ave/chunk and <a class="reference internal" href="compute_chunk_atom.html"><em>compute chunk/atom</em></a> commands, you simply need to split the fix ave/spatial arguments across the two new commands. For example, this command:</p> <div class="highlight-python"><div class="highlight"><pre>fix 1 flow ave/spatial 100 10 1000 y 0.0 1.0 vx vz norm sample file vel.profile </pre></div> </div> <p>could be replaced by:</p> <div class="highlight-python"><div class="highlight"><pre>compute cc1 flow chunk/atom bin/1d y 0.0 1.0 fix 1 flow ave/chunk 100 10 1000 cc1 vx vz norm sample file vel.profile </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>Use one or more per-atom vectors as inputs every few timesteps, sum the values over the atoms in each chunk at each timestep, then average the per-chunk values over longer timescales. The resulting chunk averages can be used by other <a class="reference internal" href="Section_howto.html#howto-15"><span>output commands</span></a> such as <a class="reference internal" href="thermo_style.html"><em>thermo_style custom</em></a>, and can also be written to a file.</p> <p>In LAMMPS, chunks are collections of atoms defined by a <a class="reference internal" href="compute_chunk_atom.html"><em>compute chunk/atom</em></a> command, which assigns each atom to a single chunk (or no chunk). The ID for this command is specified as chunkID. For example, a single chunk could be the atoms in a molecule or atoms in a spatial bin. See the <a class="reference internal" href="compute_chunk_atom.html"><em>compute chunk/atom</em></a> doc page and “<a class="reference internal" href="Section_howto.html#howto-23"><span>Section_howto 23</span></a> for details of how chunks can be defined and examples of how they can be used to measure properties of a system.</p> <p>Note that only atoms in the specified group contribute to the summing and averaging calculations. The <a class="reference internal" href="compute_chunk_atom.html"><em>compute chunk/atom</em></a> command defines its own group as well as an optional region. Atoms will have a chunk ID = 0, meaning they belong to no chunk, if they are not in that group or region. Thus you can specify the “all” group for this command if you simply want to use the chunk definitions provided by chunkID.</p> <p>Each specified per-atom value can be an atom attribute (position, velocity, force component), a mass or number density, or the result of a <a class="reference internal" href="compute.html"><em>compute</em></a> or <a class="reference internal" href="fix.html"><em>fix</em></a> or the evaluation of an atom-style <a class="reference internal" href="variable.html"><em>variable</em></a>. In the latter cases, the compute, fix, or variable must produce a per-atom quantity, not a global quantity. Note that the <a class="reference internal" href="compute_property_atom.html"><em>compute property/atom</em></a> command provides access to any attribute defined and stored by atoms. If you wish to time-average global quantities from a compute, fix, or variable, then see the <a class="reference internal" href="fix_ave_time.html"><em>fix ave/time</em></a> command.</p> <p><a class="reference internal" href="compute.html"><em>Computes</em></a> that produce per-atom quantities are those which have the word <em>atom</em> in their style name. See the doc pages for individual <a class="reference internal" href="fix.html"><em>fixes</em></a> to determine which ones produce per-atom quantities. <a class="reference internal" href="variable.html"><em>Variables</em></a> of style <em>atom</em> are the only ones that can be used with this fix since all other styles of variable produce global quantities.</p> <p>The per-atom values of each input vector are summed and averaged independently of the per-atom values in other input vectors.</p> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">This fix works by creating an array of size <em>Nchunk</em> by Nvalues on each processor. <em>Nchunk</em> is the number of chunks which is defined by the <code class="xref doc docutils literal"><span class="pre">compute</span> <span class="pre">chunk/atom</span></code> command. Nvalues is the number of input values specified. Each processor loops over its atoms, tallying its values to the appropriate chunk. Then the entire array is summed across all processors. This means that using a large number of chunks will incur an overhead in memory and computational cost (summing across processors), so be careful to define a reasonable number of chunks.</p> </div> <hr class="docutils" /> <p>The <em>Nevery</em>, <em>Nrepeat</em>, and <em>Nfreq</em> arguments specify on what timesteps the input values will be accessed and contribute to the average. The final averaged quantities are generated on timesteps that are a multiples of <em>Nfreq</em>. The average is over <em>Nrepeat</em> quantities, computed in the preceding portion of the simulation every <em>Nevery</em> timesteps. <em>Nfreq</em> must be a multiple of <em>Nevery</em> and <em>Nevery</em> must be non-zero even if <em>Nrepeat</em> is 1. Also, the timesteps contributing to the average value cannot overlap, i.e. Nfreq > (Nrepeat-1)*Nevery is required.</p> <p>For example, if Nevery=2, Nrepeat=6, and Nfreq=100, then values on timesteps 90,92,94,96,98,100 will be used to compute the final average on timestep 100. Similarly for timesteps 190,192,194,196,198,200 on timestep 200, etc. If Nrepeat=1 and Nfreq = 100, then no time averaging is done; values are simply generated on timesteps 100,200,etc.</p> <p>Each input value can also be averaged over the atoms in each chunk. The way the averaging is done across the <em>Nrepeat</em> timesteps to produce output on the <em>Nfreq</em> timesteps, and across multiple <em>Nfreq</em> outputs, is determined by the <em>norm</em> and <em>ave</em> keyword settings, as discussed below.</p> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">To perform per-chunk averaging within a <em>Nfreq</em> time window, the number of chunks <em>Nchunk</em> defined by the <a class="reference internal" href="compute_chunk_atom.html"><em>compute chunk/atom</em></a> command must remain constant. If the <em>ave</em> keyword is set to <em>running</em> or <em>window</em> then <em>Nchunk</em> must remain constant for the duration of the simulation. This fix forces the chunk/atom compute specified by chunkID to hold <em>Nchunk</em> constant for the appropriate time windows, by not allowing it to re-calcualte <em>Nchunk</em>, which can also affect how it assigns chunk IDs to atoms. More details are given on the <a class="reference internal" href="compute_chunk_atom.html"><em>compute chunk/atom</em></a> doc page.</p> </div> <hr class="docutils" /> <p>The atom attribute values (vx,vy,vz,fx,fy,fz) are self-explanatory. As noted above, any other atom attributes can be used as input values to this fix by using the <a class="reference internal" href="compute_property_atom.html"><em>compute property/atom</em></a> command and then specifying an input value from that compute.</p> <p>The <em>density/number</em> value means the number density is computed for each chunk, i.e. number/volume. The <em>density/mass</em> value means the mass density is computed for each chunk, i.e. total-mass/volume. The output values are in units of 1/volume or density (mass/volume). See the <a class="reference internal" href="units.html"><em>units</em></a> command doc page for the definition of density for each choice of units, e.g. gram/cm^3. If the chunks defined by the <a class="reference internal" href="compute_chunk_atom.html"><em>compute chunk/atom</em></a> command are spatial bins, the volume is the bin volume. Otherwise it is the volume of the entire simulation box.</p> <p>The <em>temp</em> value means the temperature is computed for each chunk, by the formula KE = DOF/2 k T, where KE = total kinetic energy of the chunk of atoms (sum of 1/2 m v^2), DOF = the total number of degrees of freedom for all atoms in the chunk, k = Boltzmann constant, and T = temperature.</p> <p>The DOF is calculated as N*adof + cdof, where N = number of atoms in the chunk, adof = degrees of freedom per atom, and cdof = degrees of freedom per chunk. By default adof = 2 or 3 = dimensionality of system, as set via the <a class="reference internal" href="dimension.html"><em>dimension</em></a> command, and cdof = 0.0. This gives the usual formula for temperature.</p> <p>Note that currently this temperature only includes translational degrees of freedom for each atom. No rotational degrees of freedom are included for finite-size particles. Also no degrees of freedom are subtracted for any velocity bias or constraints that are applied, such as <a class="reference internal" href="compute_temp_partial.html"><em>compute temp/partial</em></a>, or <a class="reference internal" href="fix_shake.html"><em>fix shake</em></a> or <a class="reference internal" href="fix_rigid.html"><em>fix rigid</em></a>. This is because those degrees of freedom (e.g. a constrained bond) could apply to sets of atoms that are both included and excluded from a specific chunk, and hence the concept is somewhat ill-defined. In some cases, you can use the <em>adof</em> and <em>cdof</em> keywords to adjust the calculated degress of freedom appropriately, as explained below.</p> <p>Also note that a bias can be subtracted from atom velocities before they are used in the above formula for KE, by using the <em>bias</em> keyword. This allows, for example, a thermal temperature to be computed after removal of a flow velocity profile.</p> <p>Note that the per-chunk temperature calculated by this fix and the <a class="reference internal" href="compute_temp_chunk.html"><em>compute temp/chunk</em></a> command can be different. The compute calculates the temperature for each chunk for a single snapshot. This fix can do that but can also time average those values over many snapshots, or it can compute a temperature as if the atoms in the chunk on different timesteps were collected together as one set of atoms to calculate their temperature. The compute allows the center-of-mass velocity of each chunk to be subtracted before calculating the temperature; this fix does not.</p> <p>If a value begins with “<a href="#id1"><span class="problematic" id="id2">c_</span></a>”, a compute ID must follow which has been previously defined in the input script. If no bracketed integer is appended, the per-atom vector calculated by the compute is used. If a bracketed integer is appended, the Ith column of the per-atom array calculated by the compute is used. Users can also write code for their own compute styles and <a class="reference internal" href="Section_modify.html"><em>add them to LAMMPS</em></a>.</p> <p>If a value begins with “<a href="#id3"><span class="problematic" id="id4">f_</span></a>”, a fix ID must follow which has been previously defined in the input script. If no bracketed integer is appended, the per-atom vector calculated by the fix is used. If a bracketed integer is appended, the Ith column of the per-atom array calculated by the fix is used. Note that some fixes only produce their values on certain timesteps, which must be compatible with <em>Nevery</em>, else an error results. Users can also write code for their own fix styles and <a class="reference internal" href="Section_modify.html"><em>add them to LAMMPS</em></a>.</p> <p>If a value begins with “<a href="#id5"><span class="problematic" id="id6">v_</span></a>”, a variable name must follow which has been previously defined in the input script. Variables of style <em>atom</em> can reference thermodynamic keywords and various per-atom attributes, or invoke other computes, fixes, or variables when they are evaluated, so this is a very general means of generating per-atom quantities to average within chunks.</p> <hr class="docutils" /> <p>Additional optional keywords also affect the operation of this fix and its outputs.</p> <p>The <em>norm</em> keyword affects how averaging is done for the per-chunk values that are output every <em>Nfreq</em> timesteps.</p> <p>It the <em>norm</em> setting is <em>all</em>, which is the default, a chunk value is summed over all atoms in all <em>Nrepeat</em> samples, as is the count of atoms in the chunk. The averaged output value for the chunk on the <em>Nfreq</em> timesteps is Total-sum / Total-count. In other words it is an average over atoms across the entire <em>Nfreq</em> timescale.</p> <p>If the <em>norm</em> setting is <em>sample</em>, the chunk value is summed over atoms for each sample, as is the count, and an “average sample value” is computed for each sample, i.e. Sample-sum / Sample-count. The outuput value for the chunk on the <em>Nfreq</em> timesteps is the average of the <em>Nrepeat</em> “average sample values”, i.e. the sum of <em>Nrepeat</em> “average sample values” divided by <em>Nrepeat</em>. In other words it is an average of an average.</p> <p>If the <em>norm</em> setting is <em>none</em>, a similar computation as for the <em>sample</em> seting is done, except the individual “average sample values” are “summed sample values”. A summed sample value is simply the chunk value summed over atoms in the sample, without dividing by the number of atoms in the sample. The outuput value for the chunk on the <em>Nfreq</em> timesteps is the average of the <em>Nrepeat</em> “summed sample values”, i.e. the sum of <em>Nrepeat</em> “summed sample values” divided by <em>Nrepeat</em>.</p> <p>The <em>ave</em> keyword determines how the per-chunk values produced every <em>Nfreq</em> steps are averaged with values produced on previous steps that were multiples of <em>Nfreq</em>, before they are accessed by another output command or written to a file.</p> <p>If the <em>ave</em> setting is <em>one</em>, which is the default, then the chunk values produced on timesteps that are multiples of <em>Nfreq</em> are independent of each other; they are output as-is without further averaging.</p> <p>If the <em>ave</em> setting is <em>running</em>, then the chunk values produced on timesteps that are multiples of <em>Nfreq</em> are summed and averaged in a cumulative sense before being output. Each output chunk value is thus the average of the chunk value produced on that timestep with all preceding values for the same chunk. This running average begins when the fix is defined; it can only be restarted by deleting the fix via the <a class="reference internal" href="unfix.html"><em>unfix</em></a> command, or re-defining the fix by re-specifying it.</p> <p>If the <em>ave</em> setting is <em>window</em>, then the chunk values produced on timesteps that are multiples of <em>Nfreq</em> are summed and averaged within a moving “window” of time, so that the last M values for the same chunk are used to produce the output. E.g. if M = 3 and Nfreq = 1000, then the output on step 10000 will be the average of the individual chunk values on steps 8000,9000,10000. Outputs on early steps will average over less than M values if they are not available.</p> <p>The <em>bias</em> keyword specifies the ID of a temperature compute that removes a “bias” velocity from each atom, specified as <em>bias-ID</em>. It is only used when the <em>temp</em> value is calculated, to compute the thermal temperature of each chunk after the translational kinetic energy components have been altered in a prescribed way, e.g. to remove a flow velocity profile. See the doc pages for individual computes that calculate a temperature to see which ones implement a bias.</p> <p>The <em>adof</em> and <em>cdof</em> keywords define the values used in the degree of freedom (DOF) formula described above for for temperature calculation for each chunk. They are only used when the <em>temp</em> value is calculated. They can be used to calculate a more appropriate temperature for some kinds of chunks. Here are 3 examples:</p> <p>If spatially binned chunks contain some number of water molecules and <a class="reference internal" href="fix_shake.html"><em>fix shake</em></a> is used to make each molecule rigid, then you could calculate a temperature with 6 degrees of freedom (DOF) (3 translational, 3 rotational) per molecule by setting <em>adof</em> to 2.0.</p> <p>If <a class="reference internal" href="compute_temp_partial.html"><em>compute temp/partial</em></a> is used with the <em>bias</em> keyword to only allow the x component of velocity to contribute to the temperature, then <em>adof</em> = 1.0 would be appropriate.</p> <p>If each chunk consists of a large molecule, with some number of its bonds constrained by <a class="reference internal" href="fix_shake.html"><em>fix shake</em></a> or the entire molecule by <a class="reference internal" href="fix_rigid.html"><em>fix rigid/small</em></a>, <em>adof</em> = 0.0 and <em>cdof</em> could be set to the remaining degrees of freedom for the entire molecule (entire chunk in this case), e.g. 6 for 3d, or 3 for 2d, for a rigid molecule.</p> <p>The <em>file</em> keyword allows a filename to be specified. Every <em>Nfreq</em> timesteps, a section of chunk info will be written to a text file in the following format. A line with the timestep and number of chunks is written. Then one line per chunk is written, containing the chunk ID (1-Nchunk), an optional original ID value, optional coordinate values for chunks that represent spatial bins, the number of atoms in the chunk, and one or more calculated values. More explanation of the optional values is given below. The number of values in each line corresponds to the number of values specified in the fix ave/chunk command. The number of atoms and the value(s) are summed or average quantities, as explained above.</p> <p>The <em>overwrite</em> keyword will continuously overwrite the output file with the latest output, so that it only contains one timestep worth of output. This option can only be used with the <em>ave running</em> setting.</p> <p>The <em>title1</em> and <em>title2</em> and <em>title3</em> keywords allow specification of the strings that will be printed as the first 3 lines of the output file, assuming the <em>file</em> keyword was used. LAMMPS uses default values for each of these, so they do not need to be specified.</p> <p>By default, these header lines are as follows:</p> <div class="highlight-python"><div class="highlight"><pre><span class="c"># Chunk-averaged data for fix ID and group name</span> <span class="c"># Timestep Number-of-chunks</span> <span class="c"># Chunk (OrigID) (Coord1) (Coord2) (Coord3) Ncount value1 value2 ...</span> </pre></div> </div> <p>In the first line, ID and name are replaced with the fix-ID and group name. The second line describes the two values that are printed at the first of each section of output. In the third line the values are replaced with the appropriate value names, e.g. fx or c_myCompute**2**.</p> <p>The words in parenthesis only appear with corresponding columns if the chunk style specified for the <a class="reference internal" href="compute_chunk_atom.html"><em>compute chunk/atom</em></a> command supports them. The OrigID column is only used if the <em>compress</em> keyword was set to <em>yes</em> for the <a class="reference internal" href="compute_chunk_atom.html"><em>compute chunk/atom</em></a> command. This means that the original chunk IDs (e.g. molecule IDs) will have been compressed to remove chunk IDs with no atoms assigned to them. Thus a compresed chunk ID of 3 may correspond to an original chunk ID or molecule ID of 415. The OrigID column will list 415 for the 3rd chunk.</p> <p>The CoordN columns only appear if a <em>binning</em> style was used in the <a class="reference internal" href="compute_chunk_atom.html"><em>compute chunk/atom</em></a> command. For <em>bin/1d</em>, <em>bin/2d</em>, and <em>bin/3d</em> styles the column values are the center point of the bin in the corresponding dimension. Just Coord1 is used for <em>bin/1d</em>, Coord2 is added for <em>bin/2d</em>, Coord3 is added for <em>bin/3d</em>.</p> <p>Note that if the value of the <em>units</em> keyword used in the <a class="reference internal" href="compute_chunk_atom.html"><em>compute chunk/atom command</em></a> is <em>box</em> or <em>lattice</em>, the coordinate values will be in distance <a class="reference internal" href="units.html"><em>units</em></a>. If the value of the <em>units</em> keyword is <em>reduced</em>, the coordinate values will be in unitless reduced units (0-1).</p> </div> <hr class="docutils" /> <div class="section" id="restart-fix-modify-output-run-start-stop-minimize-info"> <h2>Restart, fix_modify, output, run start/stop, minimize info<a class="headerlink" href="#restart-fix-modify-output-run-start-stop-minimize-info" title="Permalink to this headline">¶</a></h2> <p>No information about this fix is written to <a class="reference internal" href="restart.html"><em>binary restart files</em></a>. None of the <a class="reference internal" href="fix_modify.html"><em>fix_modify</em></a> options are relevant to this fix.</p> <p>This fix computes a global array of values which can be accessed by various <a class="reference internal" href="Section_howto.html#howto-15"><span>output commands</span></a>. The values can only be accessed on timesteps that are multiples of <em>Nfreq</em> since that is when averaging is performed. The global array has # of rows = the number of chunks <em>Nchunk</em> as calculated by the specified <a class="reference internal" href="compute_chunk_atom.html"><em>compute chunk/atom</em></a> command. The # of columns = M+1+Nvalues, where M = 1 to 4, depending on whether the optional columns for OrigID and CoordN are used, as explained above. Following the optional columns, the next column contains the count of atoms in the chunk, and the remaining columns are the Nvalue quantities. When the array is accessed with a row I that exceeds the current number of chunks, than a 0.0 is returned by the fix instead of an error, since the number of chunks can vary as a simulation runs depending on how that value is computed by the compute chunk/atom command.</p> <p>The array values calculated by this fix are treated as “intensive”, since they are typically already normalized by the count of atoms in each chunk.</p> <p>No parameter of this fix can be used with the <em>start/stop</em> keywords of the <a class="reference internal" href="run.html"><em>run</em></a> command. This fix is not invoked during <a class="reference internal" href="minimize.html"><em>energy minimization</em></a>.</p> </div> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <blockquote> <div>none</div></blockquote> </div> <div class="section" id="related-commands"> <h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2> <p><a class="reference internal" href="compute.html"><em>compute</em></a>, <a class="reference internal" href="fix_ave_atom.html"><em>fix ave/atom</em></a>, <a class="reference internal" href="fix_ave_histo.html"><em>fix ave/histo</em></a>, <a class="reference internal" href="fix_ave_time.html"><em>fix ave/time</em></a>, <a class="reference internal" href="variable.html"><em>variable</em></a>, <a class="reference internal" href="fix_ave_correlate.html"><em>fix ave/correlate</em></a></p> </div> <div class="section" id="default"> <h2>Default<a class="headerlink" href="#default" title="Permalink to this headline">¶</a></h2> <p>The option defaults are norm = all, ave = one, bias = none, no file output, and title 1,2,3 = strings as described above.</p> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/fix_ave_correlate.html b/doc/fix_ave_correlate.html index f5bd22a97..d9a2b1234 100644 --- a/doc/fix_ave_correlate.html +++ b/doc/fix_ave_correlate.html @@ -1,479 +1,479 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>fix ave/correlate command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>fix ave/correlate command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="fix-ave-correlate-command"> <span id="index-0"></span><h1>fix ave/correlate command<a class="headerlink" href="#fix-ave-correlate-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>fix ID group-ID ave/correlate Nevery Nrepeat Nfreq value1 value2 ... keyword args ... </pre></div> </div> <ul class="simple"> <li>ID, group-ID are documented in <a class="reference internal" href="fix.html"><em>fix</em></a> command</li> <li>ave/correlate = style name of this fix command</li> <li>Nevery = use input values every this many timesteps</li> <li>Nrepeat = # of correlation time windows to accumulate</li> <li>Nfreq = calculate tine window averages every this many timesteps</li> <li>one or more input values can be listed</li> <li>value = c_ID, c_ID[N], f_ID, f_ID[N], v_name</li> </ul> <div class="highlight-python"><div class="highlight"><pre>c_ID = global scalar calculated by a compute with ID - c_ID[I] = Ith component of global vector calculated by a compute with ID - f_ID = global scalar calculated by a fix with ID - f_ID[I] = Ith component of global vector calculated by a fix with ID - v_name = global value calculated by an equal-style variable with name +c_ID[I] = Ith component of global vector calculated by a compute with ID +f_ID = global scalar calculated by a fix with ID +f_ID[I] = Ith component of global vector calculated by a fix with ID +v_name = global value calculated by an equal-style variable with name </pre></div> </div> <ul class="simple"> <li>zero or more keyword/arg pairs may be appended</li> <li>keyword = <em>type</em> or <em>ave</em> or <em>start</em> or <em>prefactor</em> or <em>file</em> or <em>overwrite</em> or <em>title1</em> or <em>title2</em> or <em>title3</em></li> </ul> <pre class="literal-block"> <em>type</em> arg = <em>auto</em> or <em>upper</em> or <em>lower</em> or <em>auto/upper</em> or <em>auto/lower</em> or <em>full</em> - auto = correlate each value with itself - upper = correlate each value with each succeeding value - lower = correlate each value with each preceding value - auto/upper = auto + upper - auto/lower = auto + lower - full = correlate each value with every other value, including itself = auto + upper + lower - <em>ave</em> args = <em>one</em> or <em>running</em> - one = zero the correlation accumulation every Nfreq steps - running = accumulate correlations continuously - <em>start</em> args = Nstart - Nstart = start accumulating correlations on this timestep - <em>prefactor</em> args = value - value = prefactor to scale all the correlation data by - <em>file</em> arg = filename - filename = name of file to output correlation data to - <em>overwrite</em> arg = none = overwrite output file with only latest output - <em>title1</em> arg = string - string = text to print as 1st line of output file - <em>title2</em> arg = string - string = text to print as 2nd line of output file - <em>title3</em> arg = string - string = text to print as 3rd line of output file + auto = correlate each value with itself + upper = correlate each value with each succeeding value + lower = correlate each value with each preceding value + auto/upper = auto + upper + auto/lower = auto + lower + full = correlate each value with every other value, including itself = auto + upper + lower +<em>ave</em> args = <em>one</em> or <em>running</em> + one = zero the correlation accumulation every Nfreq steps + running = accumulate correlations continuously +<em>start</em> args = Nstart + Nstart = start accumulating correlations on this timestep +<em>prefactor</em> args = value + value = prefactor to scale all the correlation data by +<em>file</em> arg = filename + filename = name of file to output correlation data to +<em>overwrite</em> arg = none = overwrite output file with only latest output +<em>title1</em> arg = string + string = text to print as 1st line of output file +<em>title2</em> arg = string + string = text to print as 2nd line of output file +<em>title3</em> arg = string + string = text to print as 3rd line of output file </pre> </div> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>fix 1 all ave/correlate 5 100 1000 c_myTemp file temp.correlate fix 1 all ave/correlate 1 50 10000 & c_thermo_press[1] c_thermo_press[2] c_thermo_press[3] & type upper ave running title1 "My correlation data" </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>Use one or more global scalar values as inputs every few timesteps, calculate time correlations bewteen them at varying time intervals, and average the correlation data over longer timescales. The resulting correlation values can be time integrated by <a class="reference internal" href="variable.html"><em>variables</em></a> or used by other <a class="reference internal" href="Section_howto.html#howto-15"><span>output commands</span></a> such as <a class="reference internal" href="thermo_style.html"><em>thermo_style custom</em></a>, and can also be written to a file.</p> <p>The group specified with this command is ignored. However, note that specified values may represent calculations performed by computes and fixes which store their own “group” definitions.</p> <p>Each listed value can be the result of a <a class="reference internal" href="compute.html"><em>compute</em></a> or <a class="reference internal" href="fix.html"><em>fix</em></a> or the evaluation of an equal-style <a class="reference internal" href="variable.html"><em>variable</em></a>. In each case, the compute, fix, or variable must produce a global quantity, not a per-atom or local quantity. If you wish to spatial- or time-average or histogram per-atom quantities from a compute, fix, or variable, then see the <a class="reference internal" href="fix_ave_spatial.html"><em>fix ave/spatial</em></a>, <a class="reference internal" href="fix_ave_atom.html"><em>fix ave/atom</em></a>, or <a class="reference internal" href="fix_ave_histo.html"><em>fix ave/histo</em></a> commands. If you wish to sum a per-atom quantity into a single global quantity, see the <a class="reference internal" href="compute_reduce.html"><em>compute reduce</em></a> command.</p> <p><a class="reference internal" href="compute.html"><em>Computes</em></a> that produce global quantities are those which do not have the word <em>atom</em> in their style name. Only a few <a class="reference internal" href="fix.html"><em>fixes</em></a> produce global quantities. See the doc pages for individual fixes for info on which ones produce such values. <a class="reference internal" href="variable.html"><em>Variables</em></a> of style <em>equal</em> are the only ones that can be used with this fix. Variables of style <em>atom</em> cannot be used, since they produce per-atom values.</p> <p>The input values must either be all scalars. What kinds of correlations between input values are calculated is determined by the <em>type</em> keyword as discussed below.</p> <hr class="docutils" /> <p>The <em>Nevery</em>, <em>Nrepeat</em>, and <em>Nfreq</em> arguments specify on what timesteps the input values will be used to calculate correlation data. The input values are sampled every <em>Nevery</em> timesteps. The correlation data for the preceding samples is computed on timesteps that are a multiple of <em>Nfreq</em>. Consider a set of samples from some initial time up to an output timestep. The initial time could be the beginning of the simulation or the last output time; see the <em>ave</em> keyword for options. For the set of samples, the correlation value Cij is calculated as:</p> <div class="highlight-python"><div class="highlight"><pre><span class="n">Cij</span><span class="p">(</span><span class="n">delta</span><span class="p">)</span> <span class="o">=</span> <span class="n">ave</span><span class="p">(</span><span class="n">Vi</span><span class="p">(</span><span class="n">t</span><span class="p">)</span><span class="o">*</span><span class="n">Vj</span><span class="p">(</span><span class="n">t</span><span class="o">+</span><span class="n">delta</span><span class="p">))</span> </pre></div> </div> <p>which is the correlation value between input values Vi and Vj, separated by time delta. Note that the second value Vj in the pair is always the one sampled at the later time. The ave() represents an average over every pair of samples in the set that are separated by time delta. The maximum delta used is of size (<em>Nrepeat</em>-1)**Nevery*. Thus the correlation between a pair of input values yields <em>Nrepeat</em> correlation datums:</p> <div class="highlight-python"><div class="highlight"><pre><span class="n">Cij</span><span class="p">(</span><span class="mi">0</span><span class="p">),</span> <span class="n">Cij</span><span class="p">(</span><span class="n">Nevery</span><span class="p">),</span> <span class="n">Cij</span><span class="p">(</span><span class="mi">2</span><span class="o">*</span><span class="n">Nevery</span><span class="p">),</span> <span class="o">...</span><span class="p">,</span> <span class="n">Cij</span><span class="p">((</span><span class="n">Nrepeat</span><span class="o">-</span><span class="mi">1</span><span class="p">)</span><span class="o">*</span><span class="n">Nevery</span><span class="p">)</span> </pre></div> </div> <p>For example, if Nevery=5, Nrepeat=6, and Nfreq=100, then values on timesteps 0,5,10,15,...,100 will be used to compute the final averages on timestep 100. Six averages will be computed: Cij(0), Cij(5), Cij(10), Cij(15), Cij(20), and Cij(25). Cij(10) on timestep 100 will be the average of 19 samples, namely Vi(0)*Vj(10), Vi(5)*Vj(15), Vi(10)*V j20), Vi(15)*Vj(25), ..., Vi(85)*Vj(95), Vi(90)*Vj(100).</p> <p><em>Nfreq</em> must be a multiple of <em>Nevery</em>; <em>Nevery</em> and <em>Nrepeat</em> must be non-zero. Also, if the <em>ave</em> keyword is set to <em>one</em> which is the default, then <em>Nfreq</em> >= (<em>Nrepeat</em>-1)**Nevery* is required.</p> <hr class="docutils" /> <p>If a value begins with “<a href="#id3"><span class="problematic" id="id4">c_</span></a>”, a compute ID must follow which has been previously defined in the input script. If no bracketed term is appended, the global scalar calculated by the compute is used. If a bracketed term is appended, the Ith element of the global vector calculated by the compute is used.</p> <p>Note that there is a <a class="reference internal" href="compute_reduce.html"><em>compute reduce</em></a> command which can sum per-atom quantities into a global scalar or vector which can thus be accessed by fix ave/correlate. Or it can be a compute defined not in your input script, but by <a class="reference internal" href="thermo_style.html"><em>thermodynamic output</em></a> or other fixes such as <a class="reference internal" href="fix_nh.html"><em>fix nvt</em></a> or <a class="reference internal" href="fix_temp_rescale.html"><em>fix temp/rescale</em></a>. See the doc pages for these commands which give the IDs of these computes. Users can also write code for their own compute styles and <a class="reference internal" href="Section_modify.html"><em>add them to LAMMPS</em></a>.</p> <p>If a value begins with “<a href="#id5"><span class="problematic" id="id6">f_</span></a>”, a fix ID must follow which has been previously defined in the input script. If no bracketed term is appended, the global scalar calculated by the fix is used. If a bracketed term is appended, the Ith element of the global vector calculated by the fix is used.</p> <p>Note that some fixes only produce their values on certain timesteps, which must be compatible with <em>Nevery</em>, else an error will result. Users can also write code for their own fix styles and <a class="reference internal" href="Section_modify.html"><em>add them to LAMMPS</em></a>.</p> <p>If a value begins with “<a href="#id7"><span class="problematic" id="id8">v_</span></a>”, a variable name must follow which has been previously defined in the input script. Only equal-style variables can be referenced. See the <a class="reference internal" href="variable.html"><em>variable</em></a> command for details. Note that variables of style <em>equal</em> define a formula which can reference individual atom properties or thermodynamic keywords, or they can invoke other computes, fixes, or variables when they are evaluated, so this is a very general means of specifying quantities to time correlate.</p> <hr class="docutils" /> <p>Additional optional keywords also affect the operation of this fix.</p> <p>The <em>type</em> keyword determines which pairs of input values are correlated with each other. For N input values Vi, for i = 1 to N, let the number of pairs = Npair. Note that the second value in the pair Vi(t)*Vj(t+delta) is always the one sampled at the later time.</p> <ul class="simple"> <li>If <em>type</em> is set to <em>auto</em> then each input value is correlated with itself. I.e. Cii = Vi*Vi, for i = 1 to N, so Npair = N.</li> <li>If <em>type</em> is set to <em>upper</em> then each input value is correlated with every succeeding value. I.e. Cij = Vi*Vj, for i < j, so Npair = N*(N-1)/2.</li> <li>If <em>type</em> is set to <em>lower</em> then each input value is correlated with every preceeding value. I.e. Cij = Vi*Vj, for i > j, so Npair = N*(N-1)/2.</li> <li>If <em>type</em> is set to <em>auto/upper</em> then each input value is correlated with itself and every succeeding value. I.e. Cij = Vi*Vj, for i >= j, so Npair = N*(N+1)/2.</li> <li>If <em>type</em> is set to <em>auto/lower</em> then each input value is correlated with itself and every preceding value. I.e. Cij = Vi*Vj, for i <= j, so Npair = N*(N+1)/2.</li> <li>If <em>type</em> is set to <em>full</em> then each input value is correlated with itself and every other value. I.e. Cij = Vi*Vj, for i,j = 1,N so Npair = N^2.</li> </ul> <p>The <em>ave</em> keyword determines what happens to the accumulation of correlation samples every <em>Nfreq</em> timesteps. If the <em>ave</em> setting is <em>one</em>, then the accumulation is restarted or zeroed every <em>Nfreq</em> timesteps. Thus the outputs on successive <em>Nfreq</em> timesteps are essentially independent of each other. The exception is that the Cij(0) = Vi(T)*Vj(T) value at a timestep T, where T is a multiple of <em>Nfreq</em>, contributes to the correlation output both at time T and at time T+Nfreq.</p> <p>If the <em>ave</em> setting is <em>running</em>, then the accumulation is never zeroed. Thus the output of correlation data at any timestep is the average over samples accumulated every <em>Nevery</em> steps since the fix was defined. it can only be restarted by deleting the fix via the <a class="reference internal" href="unfix.html"><em>unfix</em></a> command, or by re-defining the fix by re-specifying it.</p> <p>The <em>start</em> keyword specifies what timestep the accumulation of correlation samples will begin on. The default is step 0. Setting it to a larger value can avoid adding non-equilibrated data to the correlation averages.</p> <p>The <em>prefactor</em> keyword specifies a constant which will be used as a multiplier on the correlation data after it is averaged. It is effectively a scale factor on Vi*Vj, which can be used to account for the size of the time window or other unit conversions.</p> <p>The <em>file</em> keyword allows a filename to be specified. Every <em>Nfreq</em> steps, an array of correlation data is written to the file. The number of rows is <em>Nrepeat</em>, as described above. The number of columns is the Npair+2, also as described above. Thus the file ends up to be a series of these array sections.</p> <p>The <em>overwrite</em> keyword will continuously overwrite the output file with the latest output, so that it only contains one timestep worth of output. This option can only be used with the <em>ave running</em> setting.</p> <p>The <em>title1</em> and <em>title2</em> and <em>title3</em> keywords allow specification of the strings that will be printed as the first 3 lines of the output file, assuming the <em>file</em> keyword was used. LAMMPS uses default values for each of these, so they do not need to be specified.</p> <p>By default, these header lines are as follows:</p> <div class="highlight-python"><div class="highlight"><pre><span class="c"># Time-correlated data for fix ID</span> <span class="c"># TimeStep Number-of-time-windows</span> <span class="c"># Index TimeDelta Ncount valueI*valueJ valueI*valueJ ...</span> </pre></div> </div> <p>In the first line, ID is replaced with the fix-ID. The second line describes the two values that are printed at the first of each section of output. In the third line the value pairs are replaced with the appropriate fields from the fix ave/correlate command.</p> <hr class="docutils" /> <p>Let Sij = a set of time correlation data for input values I and J, namely the <em>Nrepeat</em> values:</p> <div class="highlight-python"><div class="highlight"><pre>Sij = Cij(0), Cij(Nevery), Cij(2*Nevery), ..., Cij(*Nrepeat-1)*Nevery) </pre></div> </div> <p>As explained below, these datums are output as one column of a global array, which is effectively the correlation matrix.</p> <p>The <em>trap</em> function defined for <a class="reference internal" href="variable.html"><em>equal-style variables</em></a> can be used to perform a time integration of this vector of datums, using a trapezoidal rule. This is useful for calculating various quantities which can be derived from time correlation data. If a normalization factor is needed for the time integration, it can be included in the variable formula or via the <em>prefactor</em> keyword.</p> </div> <hr class="docutils" /> <div class="section" id="restart-fix-modify-output-run-start-stop-minimize-info"> <h2>Restart, fix_modify, output, run start/stop, minimize info<a class="headerlink" href="#restart-fix-modify-output-run-start-stop-minimize-info" title="Permalink to this headline">¶</a></h2> <p>No information about this fix is written to <a class="reference internal" href="restart.html"><em>binary restart files</em></a>. None of the <a class="reference internal" href="fix_modify.html"><em>fix_modify</em></a> options are relevant to this fix.</p> <p>This fix computes a global array of values which can be accessed by various <a class="reference internal" href="Section_howto.html#howto-15"><span>output commands</span></a>. The values can only be accessed on timesteps that are multiples of <em>Nfreq</em> since that is when averaging is performed. The global array has # of rows = <em>Nrepeat</em> and # of columns = Npair+2. The first column has the time delta (in timesteps) between the pairs of input values used to calculate the correlation, as described above. The 2nd column has the number of samples contributing to the correlation average, as described above. The remaining Npair columns are for I,J pairs of the N input values, as determined by the <em>type</em> keyword, as described above.</p> <ul class="simple"> <li>For <em>type</em> = <em>auto</em>, the Npair = N columns are ordered: C11, C22, ..., CNN.</li> <li>For <em>type</em> = <em>upper</em>, the Npair = N*(N-1)/2 columns are ordered: C12, C13, ..., C1N, C23, ..., C2N, C34, ..., CN-1N.</li> <li>For <em>type</em> = <em>lower</em>, the Npair = N*(N-1)/2 columns are ordered: C21, C31, C32, C41, C42, C43, ..., CN1, CN2, ..., CNN-1.</li> <li>For <em>type</em> = <em>auto/upper</em>, the Npair = N*(N+1)/2 columns are ordered: C11, C12, C13, ..., C1N, C22, C23, ..., C2N, C33, C34, ..., CN-1N, CNN.</li> <li>For <em>type</em> = <em>auto/lower</em>, the Npair = N*(N+1)/2 columns are ordered: C11, C21, C22, C31, C32, C33, C41, ..., C44, CN1, CN2, ..., CNN-1, CNN.</li> <li>For <em>type</em> = <em>full</em>, the Npair = N^2 columns are ordered: C11, C12, ..., C1N, C21, C22, ..., C2N, C31, ..., C3N, ..., CN1, ..., CNN-1, CNN.</li> </ul> <p>The array values calculated by this fix are treated as “intensive”. If you need to divide them by the number of atoms, you must do this in a later processing step, e.g. when using them in a <a class="reference internal" href="variable.html"><em>variable</em></a>.</p> <p>No parameter of this fix can be used with the <em>start/stop</em> keywords of the <a class="reference internal" href="run.html"><em>run</em></a> command. This fix is not invoked during <a class="reference internal" href="minimize.html"><em>energy minimization</em></a>.</p> </div> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <blockquote> <div>none</div></blockquote> </div> <div class="section" id="related-commands"> <h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2> <p><a class="reference internal" href="compute.html"><em>compute</em></a>, <a class="reference internal" href="fix_ave_time.html"><em>fix ave/time</em></a>, <a class="reference internal" href="fix_ave_atom.html"><em>fix ave/atom</em></a>, <a class="reference internal" href="fix_ave_spatial.html"><em>fix ave/spatial</em></a>, <a class="reference internal" href="fix_ave_histo.html"><em>fix ave/histo</em></a>, <a class="reference internal" href="variable.html"><em>variable</em></a></p> <p><strong>Default:</strong> none</p> <p>The option defaults are ave = one, type = auto, start = 0, no file output, title 1,2,3 = strings as described above, and prefactor = 1.0.</p> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/fix_ave_histo.html b/doc/fix_ave_histo.html index 2d627f86f..b3c926585 100644 --- a/doc/fix_ave_histo.html +++ b/doc/fix_ave_histo.html @@ -1,486 +1,486 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>fix ave/histo command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>fix ave/histo command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="fix-ave-histo-command"> <span id="index-0"></span><h1>fix ave/histo command<a class="headerlink" href="#fix-ave-histo-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="fix-ave-histo-weight-command"> <h1>fix ave/histo/weight command<a class="headerlink" href="#fix-ave-histo-weight-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>fix ID group-ID style Nevery Nrepeat Nfreq lo hi Nbin value1 value2 ... keyword args ... </pre></div> </div> <ul class="simple"> <li>ID, group-ID are documented in <a class="reference internal" href="fix.html"><em>fix</em></a> command</li> <li>style = <em>ave/histo</em> or <em>ave/histo/weight</em> = style name of this fix command</li> <li>Nevery = use input values every this many timesteps</li> <li>Nrepeat = # of times to use input values for calculating histogram</li> <li>Nfreq = calculate histogram every this many timesteps</li> <li>lo,hi = lo/hi bounds within which to histogram</li> <li>Nbin = # of histogram bins</li> <li>one or more input values can be listed</li> <li>value = x, y, z, vx, vy, vz, fx, fy, fz, c_ID, c_ID[N], f_ID, f_ID[N], v_name</li> </ul> <div class="highlight-python"><div class="highlight"><pre>x,y,z,vx,vy,vz,fx,fy,fz = atom attribute (position, velocity, force component) - c_ID = scalar or vector calculated by a compute with ID - c_ID[I] = Ith component of vector or Ith column of array calculated by a compute with ID - f_ID = scalar or vector calculated by a fix with ID - f_ID[I] = Ith component of vector or Ith column of array calculated by a fix with ID - v_name = value(s) calculated by an equal-style or atom-style variable with name +c_ID = scalar or vector calculated by a compute with ID +c_ID[I] = Ith component of vector or Ith column of array calculated by a compute with ID +f_ID = scalar or vector calculated by a fix with ID +f_ID[I] = Ith component of vector or Ith column of array calculated by a fix with ID +v_name = value(s) calculated by an equal-style or atom-style variable with name </pre></div> </div> <ul class="simple"> <li>zero or more keyword/arg pairs may be appended</li> <li>keyword = <em>mode</em> or <em>file</em> or <em>ave</em> or <em>start</em> or <em>beyond</em> or <em>overwrite</em> or <em>title1</em> or <em>title2</em> or <em>title3</em></li> </ul> <pre class="literal-block"> <em>mode</em> arg = <em>scalar</em> or <em>vector</em> - scalar = all input values are scalars - vector = all input values are vectors - <em>file</em> arg = filename - filename = name of file to output histogram(s) to - <em>ave</em> args = <em>one</em> or <em>running</em> or <em>window</em> - one = output a new average value every Nfreq steps - running = output cumulative average of all previous Nfreq steps - window M = output average of M most recent Nfreq steps - <em>start</em> args = Nstart - Nstart = start averaging on this timestep - <em>beyond</em> arg = <em>ignore</em> or <em>end</em> or <em>extra</em> - ignore = ignore values outside histogram lo/hi bounds - end = count values outside histogram lo/hi bounds in end bins - extra = create 2 extra bins for value outside histogram lo/hi bounds - <em>overwrite</em> arg = none = overwrite output file with only latest output - <em>title1</em> arg = string - string = text to print as 1st line of output file - <em>title2</em> arg = string - string = text to print as 2nd line of output file - <em>title3</em> arg = string - string = text to print as 3rd line of output file, only for vector mode + scalar = all input values are scalars + vector = all input values are vectors +<em>file</em> arg = filename + filename = name of file to output histogram(s) to +<em>ave</em> args = <em>one</em> or <em>running</em> or <em>window</em> + one = output a new average value every Nfreq steps + running = output cumulative average of all previous Nfreq steps + window M = output average of M most recent Nfreq steps +<em>start</em> args = Nstart + Nstart = start averaging on this timestep +<em>beyond</em> arg = <em>ignore</em> or <em>end</em> or <em>extra</em> + ignore = ignore values outside histogram lo/hi bounds + end = count values outside histogram lo/hi bounds in end bins + extra = create 2 extra bins for value outside histogram lo/hi bounds +<em>overwrite</em> arg = none = overwrite output file with only latest output +<em>title1</em> arg = string + string = text to print as 1st line of output file +<em>title2</em> arg = string + string = text to print as 2nd line of output file +<em>title3</em> arg = string + string = text to print as 3rd line of output file, only for vector mode </pre> </div> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>fix 1 all ave/histo 100 5 1000 0.5 1.5 50 c_myTemp file temp.histo ave running fix 1 all ave/histo 100 5 1000 -5 5 100 c_thermo_press[2] c_thermo_press[3] title1 "My output values" fix 1 all ave/histo 1 100 1000 -2.0 2.0 18 vx vy vz mode vector ave running beyond extra fix 1 all ave/histo/weight 1 1 1 10 100 2000 c_XRD[1] c_XRD[2] </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>Use one or more values as inputs every few timesteps, histogram them, and average the histogram over longer timescales. The resulting histogram can be used by other <a class="reference internal" href="Section_howto.html#howto-15"><span>output commands</span></a>, and can also be written to a file. The fix ave/histo/weight command has identical syntax to fix ave/histo, except that exactly two values must be specified. See details below.</p> <p>The group specified with this command is ignored for global and local input values. For per-atom input values, only atoms in the group contribute to the histogram. Note that regardless of the specified group, specified values may represent calculations performed by computes and fixes which store their own “group” definition.</p> <p>A histogram is simply a count of the number of values that fall within a histogram bin. <em>Nbins</em> are defined, with even spacing between <em>lo</em> and <em>hi</em>. Values that fall outside the lo/hi bounds can be treated in different ways; see the discussion of the <em>beyond</em> keyword below.</p> <p>Each input value can be an atom attribute (position, velocity, force component) or can be the result of a <a class="reference internal" href="compute.html"><em>compute</em></a> or <a class="reference internal" href="fix.html"><em>fix</em></a> or the evaluation of an equal-style or atom-style <a class="reference internal" href="variable.html"><em>variable</em></a>. The set of input values can be either all global, all per-atom, or all local quantities. Inputs of different kinds (e.g. global and per-atom) cannot be mixed. Atom attributes are per-atom vector values. See the doc page for individual “compute” and “fix” commands to see what kinds of quantities they generate.</p> <p>The input values must either be all scalars or all vectors (or arrays), depending on the setting of the <em>mode</em> keyword.</p> <p>Note that the output of this command is a single histogram for all input values combined together, not one histogram per input value. See below for details on the format of the output of this fix.</p> <p>If <em>mode</em> = vector, then the input values may either be vectors or arrays. If a global array is listed, then it is the same as if the individual columns of the array had been listed one by one. E.g. these 2 fix ave/histo commands are equivalent, since the <a class="reference internal" href="compute_com_chunk.html"><em>compute com/chunk</em></a> command creates a global array with 3 columns:</p> <div class="highlight-python"><div class="highlight"><pre>compute myCOM all com/chunk fix 1 all ave/histo 100 1 100 c_myCOM file tmp1.com mode vector fix 2 all ave/histo 100 1 100 c_myCOM[1] c_myCOM[2] c_myCOM[3] file tmp2.com mode vector </pre></div> </div> <p>If the fix ave/histo/weight command is used, exactly two values must be specified. If the values are vectors, they must be the same length. The first value (a scalar or vector) is what is histogrammed into bins, in the same manner the fix ave/histo command operates. The second value (a scalar or vector) is used as a “weight”. This means that instead of each value tallying a “1” to its bin, the corresponding weight is tallied. E.g. the Nth entry in the first vector tallies the Nth entry (weight) in the second vector.</p> <hr class="docutils" /> <p>The <em>Nevery</em>, <em>Nrepeat</em>, and <em>Nfreq</em> arguments specify on what timesteps the input values will be used in order to contribute to the histogram. The final histogram is generated on timesteps that are multiple of <em>Nfreq</em>. It is averaged over <em>Nrepeat</em> histograms, computed in the preceding portion of the simulation every <em>Nevery</em> timesteps. <em>Nfreq</em> must be a multiple of <em>Nevery</em> and <em>Nevery</em> must be non-zero even if <em>Nrepeat</em> is 1. Also, the timesteps contributing to the histogram cannot overlap, i.e. Nfreq > (Nrepeat-1)*Nevery is required.</p> <p>For example, if Nevery=2, Nrepeat=6, and Nfreq=100, then input values on timesteps 90,92,94,96,98,100 will be used to compute the final histogram on timestep 100. Similarly for timesteps 190,192,194,196,198,200 on timestep 200, etc. If Nrepeat=1 and Nfreq = 100, then no time averaging of the histogram is done; a histogram is simply generated on timesteps 100,200,etc.</p> <hr class="docutils" /> <p>The atom attribute values (x,y,z,vx,vy,vz,fx,fy,fz) are self-explanatory. Note that other atom attributes can be used as inputs to this fix by using the <a class="reference internal" href="compute_property_atom.html"><em>compute property/atom</em></a> command and then specifying an input value from that compute.</p> <p>If a value begins with “<a href="#id1"><span class="problematic" id="id2">c_</span></a>”, a compute ID must follow which has been previously defined in the input script. If <em>mode</em> = scalar, then if no bracketed term is appended, the global scalar calculated by the compute is used. If a bracketed term is appended, the Ith element of the global vector calculated by the compute is used. If <em>mode</em> = vector, then if no bracketed term is appended, the global or per-atom or local vector calculated by the compute is used. Or if the compute calculates an array, all of the columns of the array are used as if they had been specified as individual vectors (see description above). If a bracketed term is appended, the Ith column of the global or per-atom or local array calculated by the compute is used.</p> <p>Note that there is a <a class="reference internal" href="compute_reduce.html"><em>compute reduce</em></a> command which can sum per-atom quantities into a global scalar or vector which can thus be accessed by fix ave/histo. Or it can be a compute defined not in your input script, but by <a class="reference internal" href="thermo_style.html"><em>thermodynamic output</em></a> or other fixes such as <a class="reference internal" href="fix_nh.html"><em>fix nvt</em></a> or <a class="reference internal" href="fix_temp_rescale.html"><em>fix temp/rescale</em></a>. See the doc pages for these commands which give the IDs of these computes. Users can also write code for their own compute styles and <a class="reference internal" href="Section_modify.html"><em>add them to LAMMPS</em></a>.</p> <p>If a value begins with “<a href="#id3"><span class="problematic" id="id4">f_</span></a>”, a fix ID must follow which has been previously defined in the input script. If <em>mode</em> = scalar, then if no bracketed term is appended, the global scalar calculated by the fix is used. If a bracketed term is appended, the Ith element of the global vector calculated by the fix is used. If <em>mode</em> = vector, then if no bracketed term is appended, the global or per-atom or local vector calculated by the fix is used. Or if the fix calculates an array, all of the columns of the array are used as if they had been specified as individual vectors (see description above). If a bracketed term is appended, the Ith column of the global or per-atom or local array calculated by the fix is used.</p> <p>Note that some fixes only produce their values on certain timesteps, which must be compatible with <em>Nevery</em>, else an error will result. Users can also write code for their own fix styles and <a class="reference internal" href="Section_modify.html"><em>add them to LAMMPS</em></a>.</p> <p>If a value begins with “<a href="#id5"><span class="problematic" id="id6">v_</span></a>”, a variable name must follow which has been previously defined in the input script. If <em>mode</em> = scalar, then only equal-style variables can be used, which produce a global value. If <em>mode</em> = vector, then only atom-style variables can be used, which produce a per-atom vector. See the <a class="reference internal" href="variable.html"><em>variable</em></a> command for details. Note that variables of style <em>equal</em> and <em>atom</em> define a formula which can reference individual atom properties or thermodynamic keywords, or they can invoke other computes, fixes, or variables when they are evaluated, so this is a very general means of specifying quantities to histogram.</p> <hr class="docutils" /> <p>Additional optional keywords also affect the operation of this fix.</p> <p>If the <em>mode</em> keyword is set to <em>scalar</em>, then all input values must be global scalars, or elements of global vectors. If the <em>mode</em> keyword is set to <em>vector</em>, then all input values must be global or per-atom or local vectors, or columns of global or per-atom or local arrays.</p> <p>The <em>beyond</em> keyword determines how input values that fall outside the <em>lo</em> to <em>hi</em> bounds are treated. Values such that <em>lo</em> <= value <= <em>hi</em> are assigned to one bin. Values on a bin boundary are assigned to the lower of the 2 bins. If <em>beyond</em> is set to <em>ignore</em> then values < <em>lo</em> and values > <em>hi</em> are ignored, i.e. they are not binned. If <em>beyond</em> is set to <em>end</em> then values < <em>lo</em> are counted in the first bin and values > <em>hi</em> are counted in the last bin. If <em>beyond</em> is set to <em>extend</em> then two extra bins are created, so that there are Nbins+2 total bins. Values < <em>lo</em> are counted in the first bin and values > <em>hi</em> are counted in the last bin (Nbins+1). Values between <em>lo</em> and <em>hi</em> (inclusive) are counted in bins 2 thru Nbins+1. The “coordinate” stored and printed for these two extra bins is <em>lo</em> and <em>hi</em>.</p> <p>The <em>ave</em> keyword determines how the histogram produced every <em>Nfreq</em> steps are averaged with histograms produced on previous steps that were multiples of <em>Nfreq</em>, before they are accessed by another output command or written to a file.</p> <p>If the <em>ave</em> setting is <em>one</em>, then the histograms produced on timesteps that are multiples of <em>Nfreq</em> are independent of each other; they are output as-is without further averaging.</p> <p>If the <em>ave</em> setting is <em>running</em>, then the histograms produced on timesteps that are multiples of <em>Nfreq</em> are summed and averaged in a cumulative sense before being output. Each bin value in the histogram is thus the average of the bin value produced on that timestep with all preceding values for the same bin. This running average begins when the fix is defined; it can only be restarted by deleting the fix via the <a class="reference internal" href="unfix.html"><em>unfix</em></a> command, or by re-defining the fix by re-specifying it.</p> <p>If the <em>ave</em> setting is <em>window</em>, then the histograms produced on timesteps that are multiples of <em>Nfreq</em> are summed within a moving “window” of time, so that the last M histograms are used to produce the output. E.g. if M = 3 and Nfreq = 1000, then the output on step 10000 will be the combined histogram of the individual histograms on steps 8000,9000,10000. Outputs on early steps will be sums over less than M histograms if they are not available.</p> <p>The <em>start</em> keyword specifies what timestep histogramming will begin on. The default is step 0. Often input values can be 0.0 at time 0, so setting <em>start</em> to a larger value can avoid including a 0.0 in a running or windowed histogram.</p> <p>The <em>file</em> keyword allows a filename to be specified. Every <em>Nfreq</em> steps, one histogram is written to the file. This includes a leading line that contains the timestep, number of bins, the total count of values contributing to the histogram, the count of values that were not histogrammed (see the <em>beyond</em> keyword), the minimum value encountered, and the maximum value encountered. The min/max values include values that were not histogrammed. Following the leading line, one line per bin is written into the file. Each line contains the bin #, the coordinate for the center of the bin (between <em>lo</em> and <em>hi</em>), the count of values in the bin, and the normalized count. The normalized count is the bin count divided by the total count (not including values not histogrammed), so that the normalized values sum to 1.0 across all bins.</p> <p>The <em>overwrite</em> keyword will continuously overwrite the output file with the latest output, so that it only contains one timestep worth of output. This option can only be used with the <em>ave running</em> setting.</p> <p>The <em>title1</em> and <em>title2</em> and <em>title3</em> keywords allow specification of the strings that will be printed as the first 3 lines of the output file, assuming the <em>file</em> keyword was used. LAMMPS uses default values for each of these, so they do not need to be specified.</p> <p>By default, these header lines are as follows:</p> <div class="highlight-python"><div class="highlight"><pre><span class="c"># Histogram for fix ID</span> <span class="c"># TimeStep Number-of-bins Total-counts Missing-counts Min-value Max-value</span> <span class="c"># Bin Coord Count Count/Total</span> </pre></div> </div> <p>In the first line, ID is replaced with the fix-ID. The second line describes the six values that are printed at the first of each section of output. The third describes the 4 values printed for each bin in the histogram.</p> </div> <hr class="docutils" /> <div class="section" id="restart-fix-modify-output-run-start-stop-minimize-info"> <h2>Restart, fix_modify, output, run start/stop, minimize info<a class="headerlink" href="#restart-fix-modify-output-run-start-stop-minimize-info" title="Permalink to this headline">¶</a></h2> <p>No information about this fix is written to <a class="reference internal" href="restart.html"><em>binary restart files</em></a>. None of the <a class="reference internal" href="fix_modify.html"><em>fix_modify</em></a> options are relevant to this fix.</p> <p>This fix produces a global vector and global array which can be accessed by various <a class="reference internal" href="Section_howto.html#howto-15"><span>output commands</span></a>. The values can only be accessed on timesteps that are multiples of <em>Nfreq</em> since that is when a histogram is generated. The global vector has 4 values:</p> <ul class="simple"> <li>1 = total counts in the histogram</li> <li>2 = values that were not histogrammed (see <em>beyond</em> keyword)</li> <li>3 = min value of all input values, including ones not histogrammed</li> <li>4 = max value of all input values, including ones not histogrammed</li> </ul> <p>The global array has # of rows = Nbins and # of columns = 3. The first column has the bin coordinate, the 2nd column has the count of values in that histogram bin, and the 3rd column has the bin count divided by the total count (not including missing counts), so that the values in the 3rd column sum to 1.0.</p> <p>The vector and array values calculated by this fix are all treated as “intensive”. If this is not the case, e.g. due to histogramming per-atom input values, then you will need to account for that when interpreting the values produced by this fix.</p> <p>No parameter of this fix can be used with the <em>start/stop</em> keywords of the <a class="reference internal" href="run.html"><em>run</em></a> command. This fix is not invoked during <a class="reference internal" href="minimize.html"><em>energy minimization</em></a>.</p> </div> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <blockquote> <div>none</div></blockquote> </div> <div class="section" id="related-commands"> <h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2> <p><a class="reference internal" href="compute.html"><em>compute</em></a>, <a class="reference internal" href="fix_ave_atom.html"><em>fix ave/atom</em></a>, <a class="reference internal" href="fix_ave_spatial.html"><em>fix ave/spatial</em></a>, <a class="reference internal" href="fix_ave_time.html"><em>fix ave/time</em></a>, <a class="reference internal" href="variable.html"><em>variable</em></a>, <a class="reference internal" href="fix_ave_correlate.html"><em>fix ave/correlate</em></a>,</p> <p><strong>Default:</strong> none</p> <p>The option defaults are mode = scalar, ave = one, start = 0, no file output, beyond = ignore, and title 1,2,3 = strings as described above.</p> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/fix_ave_spatial.html b/doc/fix_ave_spatial.html index 4070005cf..c52583da6 100644 --- a/doc/fix_ave_spatial.html +++ b/doc/fix_ave_spatial.html @@ -1,567 +1,567 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>fix ave/spatial command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>fix ave/spatial command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="fix-ave-spatial-command"> <span id="index-0"></span><h1>fix ave/spatial command<a class="headerlink" href="#fix-ave-spatial-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>fix ID group-ID ave/spatial Nevery Nrepeat Nfreq dim origin delta ... value1 value2 ... keyword args ... </pre></div> </div> <ul class="simple"> <li>ID, group-ID are documented in <a class="reference internal" href="fix.html"><em>fix</em></a> command</li> <li>ave/spatial = style name of this fix command</li> <li>Nevery = use input values every this many timesteps</li> <li>Nrepeat = # of times to use input values for calculating averages</li> <li>Nfreq = calculate averages every this many timesteps</li> <li>dim, origin, delta can be repeated 1, 2, or 3 times for 1d, 2d, or 3d bins</li> </ul> <pre class="literal-block"> dim = <em>x</em> or <em>y</em> or <em>z</em> - origin = <em>lower</em> or <em>center</em> or <em>upper</em> or coordinate value (distance units) - delta = thickness of spatial bins in dim (distance units) +origin = <em>lower</em> or <em>center</em> or <em>upper</em> or coordinate value (distance units) +delta = thickness of spatial bins in dim (distance units) </pre> <ul class="simple"> <li>one or more input values can be listed</li> <li>value = vx, vy, vz, fx, fy, fz, density/mass, density/number, c_ID, c_ID[I], f_ID, f_ID[I], v_name</li> </ul> <div class="highlight-python"><div class="highlight"><pre>vx,vy,vz,fx,fy,fz = atom attribute (velocity, force component) - density/number, density/mass = number or mass density - c_ID = per-atom vector calculated by a compute with ID - c_ID[I] = Ith column of per-atom array calculated by a compute with ID - f_ID = per-atom vector calculated by a fix with ID - f_ID[I] = Ith column of per-atom array calculated by a fix with ID - v_name = per-atom vector calculated by an atom-style variable with name +density/number, density/mass = number or mass density +c_ID = per-atom vector calculated by a compute with ID +c_ID[I] = Ith column of per-atom array calculated by a compute with ID +f_ID = per-atom vector calculated by a fix with ID +f_ID[I] = Ith column of per-atom array calculated by a fix with ID +v_name = per-atom vector calculated by an atom-style variable with name </pre></div> </div> <ul class="simple"> <li>zero or more keyword/arg pairs may be appended</li> <li>keyword = <em>region</em> or <em>bound</em> or <em>discard</em> or <em>norm</em> or <em>ave</em> or <em>units</em> or <em>file</em> or <em>overwrite</em> or <em>title1</em> or <em>title2</em> or <em>title3</em></li> </ul> <pre class="literal-block"> <em>region</em> arg = region-ID - <em>bound</em> args = x/y/z lo hi - x/y/z = <em>x</em> or <em>y</em> or <em>z</em> to bound bins in this dimension - lo = <em>lower</em> or coordinate value (distance units) - hi = <em>upper</em> or coordinate value (distance units) - <em>discard</em> arg = <em>mixed</em> or <em>no</em> or <em>yes</em> - mixed = discard atoms outside bins only if bin bounds are explicitly set - no = always keep out-of-bounds atoms - yes = always discard out-of-bounds atoms - <em>norm</em> arg = <em>all</em> or <em>sample</em> - region-ID = ID of region atoms must be in to contribute to spatial averaging - <em>ave</em> args = <em>one</em> or <em>running</em> or <em>window M</em> - one = output new average value every Nfreq steps - running = output cumulative average of all previous Nfreq steps - window M = output average of M most recent Nfreq steps - <em>units</em> arg = <em>box</em> or <em>lattice</em> or <em>reduced</em> - <em>file</em> arg = filename - filename = file to write results to - <em>overwrite</em> arg = none = overwrite output file with only latest output - <em>title1</em> arg = string - string = text to print as 1st line of output file - <em>title2</em> arg = string - string = text to print as 2nd line of output file - <em>title3</em> arg = string - string = text to print as 3rd line of output file +<em>bound</em> args = x/y/z lo hi + x/y/z = <em>x</em> or <em>y</em> or <em>z</em> to bound bins in this dimension + lo = <em>lower</em> or coordinate value (distance units) + hi = <em>upper</em> or coordinate value (distance units) +<em>discard</em> arg = <em>mixed</em> or <em>no</em> or <em>yes</em> + mixed = discard atoms outside bins only if bin bounds are explicitly set + no = always keep out-of-bounds atoms + yes = always discard out-of-bounds atoms +<em>norm</em> arg = <em>all</em> or <em>sample</em> + region-ID = ID of region atoms must be in to contribute to spatial averaging +<em>ave</em> args = <em>one</em> or <em>running</em> or <em>window M</em> + one = output new average value every Nfreq steps + running = output cumulative average of all previous Nfreq steps + window M = output average of M most recent Nfreq steps +<em>units</em> arg = <em>box</em> or <em>lattice</em> or <em>reduced</em> +<em>file</em> arg = filename + filename = file to write results to +<em>overwrite</em> arg = none = overwrite output file with only latest output +<em>title1</em> arg = string + string = text to print as 1st line of output file +<em>title2</em> arg = string + string = text to print as 2nd line of output file +<em>title3</em> arg = string + string = text to print as 3rd line of output file </pre> </div> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>fix 1 all ave/spatial 10000 1 10000 z lower 0.02 c_myCentro units reduced & title1 "My output values" fix 1 flow ave/spatial 100 10 1000 y 0.0 1.0 vx vz norm sample file vel.profile fix 1 flow ave/spatial 100 5 1000 z lower 1.0 y 0.0 2.5 density/mass ave running fix 1 flow ave/spatial 100 5 1000 z lower 1.0 y 0.0 2.5 density/mass bound y 5.0 20.0 discard yes ave running </pre></div> </div> <p><strong>IMPORTANT NOTE:</strong></p> <p>The fix ave/spatial command has been replaced by the more flexible <a class="reference internal" href="fix_ave_chunk.html"><em>fix ave/chunk</em></a> and <a class="reference internal" href="compute_chunk_atom.html"><em>compute chunk/atom</em></a> commands. The fix ave/spatial command will be removed from LAMMPS sometime in the summer of 2015.</p> <p>Any fix ave/spatial command can be replaced by the two new commands. You simply need to split the fix ave/spatial arguments across the two new commands. For example, this command:</p> <div class="highlight-python"><div class="highlight"><pre>fix 1 flow ave/spatial 100 10 1000 y 0.0 1.0 vx vz norm sample file vel.profile </pre></div> </div> <p>could be replaced by:</p> <div class="highlight-python"><div class="highlight"><pre>compute cc1 flow chunk/atom bin/1d y 0.0 1.0 fix 1 flow ave/chunk 100 10 1000 cc1 vx vz norm sample file vel.profile </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>Use one or more per-atom vectors as inputs every few timesteps, bin their values spatially into 1d, 2d, or 3d bins based on current atom coordinates, and average the bin values over longer timescales. The resulting bin averages can be used by other <a class="reference internal" href="Section_howto.html#howto-15"><span>output commands</span></a> such as <a class="reference internal" href="thermo_style.html"><em>thermo_style custom</em></a>, and can also be written to a file.</p> <p>The group specified with the command means only atoms within the group contribute to bin averages. If the <em>region</em> keyword is used, the atom must be in both the specified group and the specified geometric <a class="reference internal" href="region.html"><em>region</em></a> in order to contribute to bin averages.</p> <p>Each listed value can be an atom attribute (position, velocity, force component), a mass or number density, or the result of a <a class="reference internal" href="compute.html"><em>compute</em></a> or <a class="reference internal" href="fix.html"><em>fix</em></a> or the evaluation of an atom-style <a class="reference internal" href="variable.html"><em>variable</em></a>. In the latter cases, the compute, fix, or variable must produce a per-atom quantity, not a global quantity. If you wish to time-average global quantities from a compute, fix, or variable, then see the <a class="reference internal" href="fix_ave_time.html"><em>fix ave/time</em></a> command.</p> <p><a class="reference internal" href="compute.html"><em>Computes</em></a> that produce per-atom quantities are those which have the word <em>atom</em> in their style name. See the doc pages for individual <a class="reference internal" href="fix.html"><em>fixes</em></a> to determine which ones produce per-atom quantities. <a class="reference internal" href="variable.html"><em>Variables</em></a> of style <em>atom</em> are the only ones that can be used with this fix since all other styles of variable produce global quantities.</p> <p>The per-atom values of each input vector are binned and averaged independently of the per-atom values in other input vectors.</p> <p>The size and dimensionality of the bins (1d = layers or slabs, 2d = pencils, 3d = boxes) are determined by the <em>dim</em>, <em>origin</em>, and <em>delta</em> settings and how many times they are specified (1, 2, or 3). See details below.</p> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">This fix works by creating an array of size Nbins by Nvalues on each processor. Nbins is the total number of bins; Nvalues is the number of input values specified. Each processor loops over its atoms, tallying its values to the appropriate bin. Then the entire array is summed across all processors. This means that using a large number of bins (easy to do for 2d or 3d bins) will incur an overhead in memory and computational cost (summing across processors), so be careful to use reasonable numbers of bins.</p> </div> <hr class="docutils" /> <p>The <em>Nevery</em>, <em>Nrepeat</em>, and <em>Nfreq</em> arguments specify on what timesteps the input values will be used to bin them and contribute to the average. The final averaged quantities are generated on timesteps that are a multiples of <em>Nfreq</em>. The average is over <em>Nrepeat</em> quantities, computed in the preceding portion of the simulation every <em>Nevery</em> timesteps. <em>Nfreq</em> must be a multiple of <em>Nevery</em> and <em>Nevery</em> must be non-zero even if <em>Nrepeat</em> is 1. Also, the timesteps contributing to the average value cannot overlap, i.e. Nfreq > (Nrepeat-1)*Nevery is required.</p> <p>For example, if Nevery=2, Nrepeat=6, and Nfreq=100, then values on timesteps 90,92,94,96,98,100 will be used to compute the final average on timestep 100. Similarly for timesteps 190,192,194,196,198,200 on timestep 200, etc. If Nrepeat=1 and Nfreq = 100, then no time averaging is done; values are simply generated on timesteps 100,200,etc.</p> <hr class="docutils" /> <p>Each per-atom property is also averaged over atoms in each bin. The way the averaging is one across the <em>Nrepeat</em> timesteps to produce output on the <em>Nfreq</em> timesteps, and across multiple <em>Nfreq</em> outputs, is determined by the <em>norm</em> and <em>av</em> keyword settings, as discussed below.</p> <p>Bins can be 1d layers or slabs, 2d pencils, or 3d boxes. This depends on how many times (1, 2, or 3) the <em>dim</em>, <em>origin</em>, and <em>delta</em> settings are specified in the fix ave/spatial command. For 2d or 3d bins, there is no restriction on specifying dim = x before dim = y, or dim = y before dim = z. Bins in a particular <em>dim</em> have a bin size in that dimension given by <em>delta</em>. Every Nfreq steps, when averaging is being performed and the per-atom property is calculated for the first time, the number of bins and the bin sizes and boundaries are computed. Thus if the simulation box changes size during a simulation, the number of bins and their boundaries may also change. In each dimension, bins are defined relative to a specified <em>origin</em>, which may be the lower/upper edge of the simulation box in that dimension, or its center point, or a specified coordinate value. Starting at the origin, sufficient bins are created in both directions to completely span the bin extent in that dimension. By default the bin extent is the entire simulation box.</p> <p>The <em>bound</em> keyword can be used one or more times to limit the extent of bin coverage in specified dimensions, i.e. to only bin a portion of the box. If the <em>lo</em> setting is <em>lower</em> or the <em>hi</em> setting is <em>upper</em>, the bin extent in that direction extends to the box boundary. If a numeric value is used for <em>lo</em> and/or <em>hi</em>, then the bin extent in the <em>lo</em> or <em>hi</em> direction extends only to that value, which is assumed to be inside (or at least near) the simulation box boundaries, though LAMMPS does not check for this.</p> <p>On each sampling timestep, each atom is mapped to the bin it currently belongs to, based on its current position. Note that the group-ID and region keyword can exclude specific atoms from this operation, as discussed above. Note that between reneighboring timesteps, atoms can move outside the current simulation box. If the box is periodic (in that dimension) the atom is remapping into the periodic box for purposes of binning. If the box in not periodic, the atom may have moved outside the bounds of any bin.</p> <p>The <em>discard</em> keyword determines what is done with any atom which is outside the bounds of any bin. If <em>discard</em> is set to <em>yes</em>, the atom will be ignored and not contribute to any bin averages. If <em>discard</em> is set to <em>no</em>, the atom will be counted as if it were in the first or last bin in that dimension. If (discard* is set to <em>mixed</em>, which is the default, it will only be counted in the first or last bin if bins extend to the box boundary in that dimension. This is the case if the <em>bound</em> keyword settings are <em>lower</em> and <em>upper</em>, which is the default. If the <em>bound</em> keyword settings are numeric values, then the atom will be ignored if it is outside the bounds of any bin. Note that in this case, it is possible that the first or last bin extends beyond the numeric <em>bounds</em> settings, depending on the specified <em>origin</em>. If this is the case, the atom is only ignored if it is outside the first or last bin, not if it is simply outside the numeric <em>bounds</em> setting.</p> <p>For orthogonal simulation boxes, the bins are also layers, pencils, or boxes aligned with the xyz coordinate axes. For triclinic (non-orthogonal) simulation boxes, the bins are so that they are parallel to the tilted faces of the simulation box. See <a class="reference internal" href="Section_howto.html#howto-12"><span>this section</span></a> of the manual for a discussion of the geometry of triclinic boxes in LAMMPS. As described there, a tilted simulation box has edge vectors a,b,c. In that nomenclature, bins in the x dimension have faces with normals in the “b” cross “c” direction. Bins in y have faces normal to the “a” cross “c” direction. And bins in z have faces normal to the “a” cross “b” direction. Note that in order to define the size and position of these bins in an unambiguous fashion, the <em>units</em> option must be set to <em>reduced</em> when using a triclinic simulation box, as noted below.</p> <hr class="docutils" /> <p>The atom attribute values (vx,vy,vz,fx,fy,fz) are self-explanatory. Note that other atom attributes (including atom postitions x,y,z) can be used as inputs to this fix by using the <a class="reference internal" href="compute_property_atom.html"><em>compute property/atom</em></a> command and then specifying an input value from that compute.</p> <p>The <em>density/number</em> value means the number density is computed in each bin, i.e. a weighting of 1 for each atom. The <em>density/mass</em> value means the mass density is computed in each bind, i.e. each atom is weighted by its mass. The resulting density is normalized by the volume of the bin so that units of number/volume or density are output. See the <a class="reference internal" href="units.html"><em>units</em></a> command doc page for the definition of density for each choice of units, e.g. gram/cm^3.</p> <p>If a value begins with “<a href="#id1"><span class="problematic" id="id2">c_</span></a>”, a compute ID must follow which has been previously defined in the input script. If no bracketed integer is appended, the per-atom vector calculated by the compute is used. If a bracketed integer is appended, the Ith column of the per-atom array calculated by the compute is used. Users can also write code for their own compute styles and <a class="reference internal" href="Section_modify.html"><em>add them to LAMMPS</em></a>.</p> <p>If a value begins with “<a href="#id3"><span class="problematic" id="id4">f_</span></a>”, a fix ID must follow which has been previously defined in the input script. If no bracketed integer is appended, the per-atom vector calculated by the fix is used. If a bracketed integer is appended, the Ith column of the per-atom array calculated by the fix is used. Note that some fixes only produce their values on certain timesteps, which must be compatible with <em>Nevery</em>, else an error results. Users can also write code for their own fix styles and <a class="reference internal" href="Section_modify.html"><em>add them to LAMMPS</em></a>.</p> <p>If a value begins with “<a href="#id5"><span class="problematic" id="id6">v_</span></a>”, a variable name must follow which has been previously defined in the input script. Variables of style <em>atom</em> can reference thermodynamic keywords and various per-atom attributes, or invoke other computes, fixes, or variables when they are evaluated, so this is a very general means of generating per-atom quantities to spatially average.</p> <hr class="docutils" /> <p>Additional optional keywords also affect the operation of this fix. The <em>region</em>, <em>bound</em>, and <em>discard</em> keywords were discussed above.</p> <p>The <em>norm</em> keyword affects how averaging is done for the output produced every <em>Nfreq</em> timesteps. For an <em>all</em> setting, a bin quantity is summed over all atoms in all <em>Nrepeat</em> samples, as is the count of atoms in the bin. The printed value for the bin is Total-quantity / Total-count. In other words it is an average over the entire <em>Nfreq</em> timescale.</p> <p>For a <em>sample</em> setting, the bin quantity is summed over atoms for only a single sample, as is the count, and a “average sample value” is computed, i.e. Sample-quantity / Sample-count. The printed value for the bin is the average of the <em>Nrepeat</em> “average sample values”, In other words it is an average of an average.</p> <p>The <em>ave</em> keyword determines how the bin values produced every <em>Nfreq</em> steps are averaged with bin values produced on previous steps that were multiples of <em>Nfreq</em>, before they are accessed by another output command or written to a file.</p> <p>If the <em>ave</em> setting is <em>one</em>, then the bin values produced on timesteps that are multiples of <em>Nfreq</em> are independent of each other; they are output as-is without further averaging.</p> <p>If the <em>ave</em> setting is <em>running</em>, then the bin values produced on timesteps that are multiples of <em>Nfreq</em> are summed and averaged in a cumulative sense before being output. Each output bin value is thus the average of the bin value produced on that timestep with all preceding values for the same bin. This running average begins when the fix is defined; it can only be restarted by deleting the fix via the <a class="reference internal" href="unfix.html"><em>unfix</em></a> command, or re-defining the fix by re-specifying it.</p> <p>If the <em>ave</em> setting is <em>window</em>, then the bin values produced on timesteps that are multiples of <em>Nfreq</em> are summed and averaged within a moving “window” of time, so that the last M values for the same bin are used to produce the output. E.g. if M = 3 and Nfreq = 1000, then the output on step 10000 will be the average of the individual bin values on steps 8000,9000,10000. Outputs on early steps will average over less than M values if they are not available.</p> <p>The <em>units</em> keyword determines the meaning of the distance units used for the bin size <em>delta</em> and for <em>origin</em> and <em>bounds</em> values if they are coordinate value. For orthogonal simulation boxes, any of the 3 options may be used. For non-orthogonal (triclinic) simulation boxes, only the <em>reduced</em> option may be used.</p> <p>A <em>box</em> value selects standard distance units as defined by the <a class="reference internal" href="units.html"><em>units</em></a> command, e.g. Angstroms for units = real or metal. A <em>lattice</em> value means the distance units are in lattice spacings. The <a class="reference internal" href="lattice.html"><em>lattice</em></a> command must have been previously used to define the lattice spacing. A <em>reduced</em> value means normalized unitless values between 0 and 1, which represent the lower and upper faces of the simulation box respectively. Thus an <em>origin</em> value of 0.5 means the center of the box in any dimension. A <em>delta</em> value of 0.1 means 10 bins span the box in that dimension.</p> <p>Consider a non-orthogonal box, with bins that are 1d layers or slabs in the x dimension. No matter how the box is tilted, an <em>origin</em> of 0.0 means start layers at the lower “b” cross “c” plane of the simulation box and an <em>origin</em> of 1.0 means to start layers at the upper “b” cross “c” face of the box. A <em>delta</em> value of 0.1 means there will be 10 layers from 0.0 to 1.0, regardless of the current size or shape of the simulation box.</p> <p>The <em>file</em> keyword allows a filename to be specified. Every <em>Nfreq</em> timesteps, a section of bin info will be written to a text file in the following format. A line with the timestep and number of bin is written. Then one line per bin is written, containing the bin ID (1-N), the coordinate of the center of the bin, the number of atoms in the bin, and one or more calculated values. The number of values in each line corresponds to the number of values specified in the fix ave/spatial command. The number of atoms and the value(s) are average quantities. If the value of the <em>units</em> keyword is <em>box</em> or <em>lattice</em>, the “coord” is printed in box units. If the value of the <em>units</em> keyword is <em>reduced</em>, the “coord” is printed in reduced units (0-1).</p> <p>The <em>overwrite</em> keyword will continuously overwrite the output file with the latest output, so that it only contains one timestep worth of output. This option can only be used with the <em>ave running</em> setting.</p> <p>The <em>title1</em> and <em>title2</em> and <em>title3</em> keywords allow specification of the strings that will be printed as the first 3 lines of the output file, assuming the <em>file</em> keyword was used. LAMMPS uses default values for each of these, so they do not need to be specified.</p> <p>By default, these header lines are as follows:</p> <div class="highlight-python"><div class="highlight"><pre><span class="c"># Spatial-averaged data for fix ID and group name</span> <span class="c"># Timestep Number-of-bins</span> <span class="c"># Bin Coord1 Coord2 Coord3 Count value1 value2 ...</span> </pre></div> </div> <p>In the first line, ID and name are replaced with the fix-ID and group name. The second line describes the two values that are printed at the first of each section of output. In the third line the values are replaced with the appropriate fields from the fix ave/spatial command. The Coord2 and Coord3 entries in the third line only appear for 2d and 3d bins respectively. For 1d bins, the word Coord1 is replaced by just Coord.</p> </div> <hr class="docutils" /> <div class="section" id="restart-fix-modify-output-run-start-stop-minimize-info"> <h2>Restart, fix_modify, output, run start/stop, minimize info<a class="headerlink" href="#restart-fix-modify-output-run-start-stop-minimize-info" title="Permalink to this headline">¶</a></h2> <p>No information about this fix is written to <a class="reference internal" href="restart.html"><em>binary restart files</em></a>. None of the <a class="reference internal" href="fix_modify.html"><em>fix_modify</em></a> options are relevant to this fix.</p> <p>This fix computes a global array of values which can be accessed by various <a class="reference internal" href="Section_howto.html#howto-15"><span>output commands</span></a>. The values can only be accessed on timesteps that are multiples of <em>Nfreq</em> since that is when averaging is performed. The global array has # of rows = Nbins and # of columns = Ndim+1+Nvalues, where Ndim = 1,2,3 for 1d,2d,3d bins. The first 1 or 2 or 3 columns have the bin coordinates (center of the bin) in the appropriate dimensions, the next column has the count of atoms in that bin, and the remaining columns are the Nvalue quantities. When the array is accessed with an I that exceeds the current number of bins, than a 0.0 is returned by the fix instead of an error, since the number of bins can vary as a simulation runs, depending on the simulation box size. 2d or 3d bins are ordered so that the last dimension(s) vary fastest. The array values calculated by this fix are “intensive”, since they are already normalized by the count of atoms in each bin.</p> <p>No parameter of this fix can be used with the <em>start/stop</em> keywords of the <a class="reference internal" href="run.html"><em>run</em></a> command. This fix is not invoked during <a class="reference internal" href="minimize.html"><em>energy minimization</em></a>.</p> </div> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <p>When the <em>ave</em> keyword is set to <em>running</em> or <em>window</em> then the number of bins must remain the same during the simulation, so that the appropriate averaging can be done. This will be the case if the simulation box size doesn’t change or if the <em>units</em> keyword is set to <em>reduced</em>.</p> </div> <div class="section" id="related-commands"> <h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2> <p><a class="reference internal" href="compute.html"><em>compute</em></a>, <a class="reference internal" href="fix_ave_atom.html"><em>fix ave/atom</em></a>, <a class="reference internal" href="fix_ave_histo.html"><em>fix ave/histo</em></a>, <a class="reference internal" href="fix_ave_time.html"><em>fix ave/time</em></a>, <a class="reference internal" href="variable.html"><em>variable</em></a>, <a class="reference internal" href="fix_ave_correlate.html"><em>fix ave/correlate</em></a>, <a class="reference internal" href="fix_ave_spatial_sphere.html"><em>fix ave/spatial/sphere</em></a></p> </div> <div class="section" id="default"> <h2>Default<a class="headerlink" href="#default" title="Permalink to this headline">¶</a></h2> <p>The option defaults are bound = lower and upper in all dimensions, discard = mixed, norm = all, ave = one, units = lattice, no file output, and title 1,2,3 = strings as described above.</p> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/fix_ave_spatial_sphere.html b/doc/fix_ave_spatial_sphere.html index bd31e9769..9658925c9 100644 --- a/doc/fix_ave_spatial_sphere.html +++ b/doc/fix_ave_spatial_sphere.html @@ -1,477 +1,477 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>fix ave/spatial/sphere command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>fix ave/spatial/sphere command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="fix-ave-spatial-sphere-command"> <span id="index-0"></span><h1>fix ave/spatial/sphere command<a class="headerlink" href="#fix-ave-spatial-sphere-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>fix ID group-ID ave/spatial/sphere Nevery Nrepeat Nfreq origin_x origin_y origin_z r_min r_max nbins value1 value2 ... keyword args ... </pre></div> </div> <ul class="simple"> <li>ID, group-ID are documented in <a class="reference internal" href="fix.html"><em>fix</em></a> command</li> <li>ave/spatial = style name of this fix command</li> <li>Nevery = use input values every this many timesteps</li> <li>Nrepeat = # of times to use input values for calculating averages</li> <li>Nfreq = calculate averages every this many timesteps</li> <li>origin_x, origin_y, origin_z = center of the sphere. can be the result of variables or computes (see below)</li> <li>r_min = radial distance at which binning begins</li> <li>r_max = radial distance at which binning ends</li> <li>nbins = number of spherical shells to create between r_min and r_max</li> <li>one or more input values can be listed</li> <li>value = vx, vy, vz, fx, fy, fz, density/mass, density/number, c_ID, c_ID[I], f_ID, f_ID[I], v_name</li> </ul> <div class="highlight-python"><div class="highlight"><pre>vx,vy,vz,fx,fy,fz = atom attribute (velocity, force component) - density/number, density/mass = number or mass density - c_ID = per-atom vector calculated by a compute with ID - c_ID[I] = Ith column of per-atom array calculated by a compute with ID - f_ID = per-atom vector calculated by a fix with ID - f_ID[I] = Ith column of per-atom array calculated by a fix with ID - v_name = per-atom vector calculated by an atom-style variable with name +density/number, density/mass = number or mass density +c_ID = per-atom vector calculated by a compute with ID +c_ID[I] = Ith column of per-atom array calculated by a compute with ID +f_ID = per-atom vector calculated by a fix with ID +f_ID[I] = Ith column of per-atom array calculated by a fix with ID +v_name = per-atom vector calculated by an atom-style variable with name </pre></div> </div> <ul class="simple"> <li>zero or more keyword/arg pairs may be appended</li> <li>keyword = <em>region</em> or <em>norm</em> or <em>units</em> or <em>ave</em> or <em>file</em> or <em>overwrite</em> or <em>title1</em> or <em>title2</em> or <em>title3</em></li> </ul> <pre class="literal-block"> <em>region</em> arg = region-ID - region-ID = ID of region atoms must be in to contribute to spatial averaging - <em>norm</em> arg = <em>all</em> or <em>sample</em> - <em>units</em> arg = <em>box</em> or <em>lattice</em> or <em>reduced</em> - <em>ave</em> args = <em>one</em> or <em>running</em> or <em>window M</em> - one = output new average value every Nfreq steps - running = output cumulative average of all previous Nfreq steps - window M = output average of M most recent Nfreq steps - <em>file</em> arg = filename - filename = file to write results to - <em>overwrite</em> arg = none = overwrite output file with only latest output - <em>title1</em> arg = string - string = text to print as 1st line of output file - <em>title2</em> arg = string - string = text to print as 2nd line of output file - <em>title3</em> arg = string - string = text to print as 3rd line of output file + region-ID = ID of region atoms must be in to contribute to spatial averaging +<em>norm</em> arg = <em>all</em> or <em>sample</em> +<em>units</em> arg = <em>box</em> or <em>lattice</em> or <em>reduced</em> +<em>ave</em> args = <em>one</em> or <em>running</em> or <em>window M</em> + one = output new average value every Nfreq steps + running = output cumulative average of all previous Nfreq steps + window M = output average of M most recent Nfreq steps +<em>file</em> arg = filename + filename = file to write results to +<em>overwrite</em> arg = none = overwrite output file with only latest output +<em>title1</em> arg = string + string = text to print as 1st line of output file +<em>title2</em> arg = string + string = text to print as 2nd line of output file +<em>title3</em> arg = string + string = text to print as 3rd line of output file </pre> </div> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>fix 1 all ave/spatial/sphere 10000 1 10000 0.5 0.5 0.5 0.1 0.5 5 density/number vx vy vz units reduced title1 "My output values" fix 1 flow ave/spatial/sphere 100 10 1000 20.0 20.0 20.0 0.0 20.0 20 vx vz norm sample file vel.profile </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>Use one or more per-atom vectors as inputs every few timesteps, bin their values spatially into spherical shells based on current atom coordinates, and average the bin values over longer timescales. The resulting bin averages can be used by other <a class="reference internal" href="Section_howto.html#howto-15"><span>output commands</span></a> such as <a class="reference internal" href="thermo_style.html"><em>thermo_style custom</em></a>, and can also be written to a file.</p> <p>The group specified with the command means only atoms within the group contribute to bin averages. If the <em>region</em> keyword is used, the atom must be in both the group and the specified geometric <a class="reference internal" href="region.html"><em>region</em></a> in order to contribute to bin averages.</p> <p>Each listed value can be an atom attribute (position, velocity, force component), a mass or number density, or the result of a <a class="reference internal" href="compute.html"><em>compute</em></a> or <a class="reference internal" href="fix.html"><em>fix</em></a> or the evaluation of an atom-style <a class="reference internal" href="variable.html"><em>variable</em></a>. In the latter cases, the compute, fix, or variable must produce a per-atom quantity, not a global quantity. If you wish to time-average global quantities from a compute, fix, or variable, then see the <a class="reference internal" href="fix_ave_time.html"><em>fix ave/time</em></a> command.</p> <p><a class="reference internal" href="compute.html"><em>Computes</em></a> that produce per-atom quantities are those which have the word <em>atom</em> in their style name. See the doc pages for individual <a class="reference internal" href="fix.html"><em>fixes</em></a> to determine which ones produce per-atom quantities. <a class="reference internal" href="variable.html"><em>Variables</em></a> of style <em>atom</em> are the only ones that can be used with this fix since all other styles of variable produce global quantities.</p> <p>The per-atom values of each input vector are binned and averaged independently of the per-atom values in other input vectors.</p> <p><em>Nbins</em> specifies the number of spherical shells which will be created between r_min and r_max centered at (origin_x, origin_y, origin_z).</p> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">This fix works by creating an array of size Nbins by Nvalues on each processor. Nbins is the total number of bins; Nvalues is the number of input values specified. Each processor loops over its atoms, tallying its values to the appropriate bin. Then the entire array is summed across all processors. This means that using a large number of bins will incur an overhead in memory and computational cost (summing across processors), so be careful to use reasonable numbers of bins.</p> </div> <hr class="docutils" /> <p>The <em>Nevery</em>, <em>Nrepeat</em>, and <em>Nfreq</em> arguments specify on what timesteps the input values will be used to bin them and contribute to the average. The final averaged quantities are generated on timesteps that are a multiples of <em>Nfreq</em>. The average is over <em>Nrepeat</em> quantities, computed in the preceding portion of the simulation every <em>Nevery</em> timesteps. <em>Nfreq</em> must be a multiple of <em>Nevery</em> and <em>Nevery</em> must be non-zero even if <em>Nrepeat</em> is 1. Also, the timesteps contributing to the average value cannot overlap, i.e. Nfreq > (Nrepeat-1)*Nevery is required.</p> <p>For example, if Nevery=2, Nrepeat=6, and Nfreq=100, then values on timesteps 90,92,94,96,98,100 will be used to compute the final average on timestep 100. Similarly for timesteps 190,192,194,196,198,200 on timestep 200, etc. If Nrepeat=1 and Nfreq = 100, then no time averaging is done; values are simply generated on timesteps 100,200,etc.</p> <hr class="docutils" /> <p>The <em>origin_x</em>, <em>origin_y</em>, and <em>origin_z</em> parameters may be specified by either a compute or a variable. This allows, for example, the center of the spherical bins to be attached to the center of mass of a group of atoms. If a variable origin is used and periodic boundary conditions are in effect, then the origin will be wrapped across periodic boundaries whenever it changes so that it is always inside the simulation box.</p> <hr class="docutils" /> <p>The atom attribute values (vx,vy,vz,fx,fy,fz) are self-explanatory. Note that other atom attributes (including atom postitions x,y,z) can be used as inputs to this fix by using the <a class="reference internal" href="compute_property_atom.html"><em>compute property/atom</em></a> command and then specifying an input value from that compute.</p> <p>The <em>density/number</em> value means the number density is computed in each bin, i.e. a weighting of 1 for each atom. The <em>density/mass</em> value means the mass density is computed in each bin, i.e. each atom is weighted by its mass. The resulting density is normalized by the volume of the bin so that units of number/volume or density are output. See the <a class="reference internal" href="units.html"><em>units</em></a> command doc page for the definition of density for each choice of units, e.g. gram/cm^3. The bin volume will always be calculated in box units, independent of the use of the <em>units</em> keyword in this command.</p> <p>If a value begins with “<a href="#id1"><span class="problematic" id="id2">c_</span></a>”, a compute ID must follow which has been previously defined in the input script. If no bracketed integer is appended, the per-atom vector calculated by the compute is used. If a bracketed integer is appended, the Ith column of the per-atom array calculated by the compute is used. Users can also write code for their own compute styles and <a class="reference internal" href="Section_modify.html"><em>add them to LAMMPS</em></a>.</p> <p>If a value begins with “<a href="#id3"><span class="problematic" id="id4">f_</span></a>”, a fix ID must follow which has been previously defined in the input script. If no bracketed integer is appended, the per-atom vector calculated by the fix is used. If a bracketed integer is appended, the Ith column of the per-atom array calculated by the fix is used. Note that some fixes only produce their values on certain timesteps, which must be compatible with <em>Nevery</em>, else an error results. Users can also write code for their own fix styles and <a class="reference internal" href="Section_modify.html"><em>add them to LAMMPS</em></a>.</p> <p>If a value begins with “<a href="#id5"><span class="problematic" id="id6">v_</span></a>”, a variable name must follow which has been previously defined in the input script. Variables of style <em>atom</em> can reference thermodynamic keywords and various per-atom attributes, or invoke other computes, fixes, or variables when they are evaluated, so this is a very general means of generating per-atom quantities to spatially average.</p> <hr class="docutils" /> <p>Additional optional keywords also affect the operation of this fix. The <em>region</em> keyword was discussed above.</p> <p>The <em>norm</em> keyword affects how averaging is done for the output produced every <em>Nfreq</em> timesteps. For an <em>all</em> setting, a bin quantity is summed over all atoms in all <em>Nrepeat</em> samples, as is the count of atoms in the bin. The printed value for the bin is Total-quantity / Total-count. In other words it is an average over the entire <em>Nfreq</em> timescale.</p> <p>For a <em>sample</em> setting, the bin quantity is summed over atoms for only a single sample, as is the count, and a “average sample value” is computed, i.e. Sample-quantity / Sample-count. The printed value for the bin is the average of the <em>Nrepeat</em> “average sample values”, In other words it is an average of an average.</p> <p>The <em>ave</em> keyword determines how the bin values produced every <em>Nfreq</em> steps are averaged with bin values produced on previous steps that were multiples of <em>Nfreq</em>, before they are accessed by another output command or written to a file.</p> <p>If the <em>ave</em> setting is <em>one</em>, then the bin values produced on timesteps that are multiples of <em>Nfreq</em> are independent of each other; they are output as-is without further averaging.</p> <p>If the <em>ave</em> setting is <em>running</em>, then the bin values produced on timesteps that are multiples of <em>Nfreq</em> are summed and averaged in a cumulative sense before being output. Each output bin value is thus the average of the bin value produced on that timestep with all preceding values for the same bin. This running average begins when the fix is defined; it can only be restarted by deleting the fix via the <a class="reference internal" href="unfix.html"><em>unfix</em></a> command, or re-defining the fix by re-specifying it.</p> <p>If the <em>ave</em> setting is <em>window</em>, then the bin values produced on timesteps that are multiples of <em>Nfreq</em> are summed and averaged within a moving “window” of time, so that the last M values for the same bin are used to produce the output. E.g. if M = 3 and Nfreq = 1000, then the output on step 10000 will be the average of the individual bin values on steps 8000,9000,10000. Outputs on early steps will average over less than M values if they are not available.</p> <p>The <em>units</em> keyword determines the meaning of the distance units used for the sphere origin and the two radial lengths. For orthogonal simulation boxes, any of the 3 options may be used. For non-orthogonal (triclinic) simulation boxes, only the <em>reduced</em> option may be used.</p> <p>A <em>box</em> value selects standard distance units as defined by the <a class="reference internal" href="units.html"><em>units</em></a> command, e.g. Angstroms for units = real or metal. A <em>lattice</em> value means the distance units are in lattice spacings. The <a class="reference internal" href="lattice.html"><em>lattice</em></a> command must have been previously used to define the lattice spacing.</p> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">The <em>lattice</em> style may only be used if the lattice spacing is the same in each direction.</p> </div> <p>A <em>reduced</em> value means normalized unitless values between 0 and 1, which represent the lower and upper faces of the simulation box respectively. Thus an <em>origin</em> value of 0.5 means the center of the box in any dimension.</p> <p>The <em>file</em> keyword allows a filename to be specified. Every <em>Nfreq</em> timesteps, a section of bin info will be written to a text file in the following format. A line with the timestep and number of bin is written. Then one line per bin is written, containing the bin ID (1-N), the coordinate of the center of the bin, the number of atoms in the bin, and one or more calculated values. The number of values in each line corresponds to the number of values specified in the fix ave/spatial command. The number of atoms and the value(s) are average quantities. If the value of the <em>units</em> keyword is <em>box</em> or <em>lattice</em>, the “coord” is printed in box units. If the value of the <em>units</em> keyword is <em>reduced</em>, the “coord” is printed in reduced units (0-1).</p> <p>The <em>overwrite</em> keyword will continuously overwrite the output file with the latest output, so that it only contains one timestep worth of output. This option can only be used with the <em>ave running</em> setting.</p> <p>The <em>title1</em> and <em>title2</em> and <em>title3</em> keywords allow specification of the strings that will be printed as the first 3 lines of the output file, assuming the <em>file</em> keyword was used. LAMMPS uses default values for each of these, so they do not need to be specified.</p> <p>By default, these header lines are as follows:</p> <div class="highlight-python"><div class="highlight"><pre><span class="c"># Spatial-averaged data for fix ID and group name</span> <span class="c"># Timestep Number-of-bins</span> <span class="c"># Bin r Count value1 value2 ...</span> </pre></div> </div> <p>In the first line, ID and name are replaced with the fix-ID and group name. The second line describes the two values that are printed at the first of each section of output. In the third line the values are replaced with the appropriate fields from the fix ave/spatial command. The Coord2 and Coord3 entries in the third line only appear for 2d and 3d bins respectively. For 1d bins, the word Coord1 is replaced by just Coord.</p> </div> <hr class="docutils" /> <div class="section" id="restart-fix-modify-output-run-start-stop-minimize-info"> <h2>Restart, fix_modify, output, run start/stop, minimize info<a class="headerlink" href="#restart-fix-modify-output-run-start-stop-minimize-info" title="Permalink to this headline">¶</a></h2> <p>No information about this fix is written to <a class="reference internal" href="restart.html"><em>binary restart files</em></a>. None of the <a class="reference internal" href="fix_modify.html"><em>fix_modify</em></a> options are relevant to this fix.</p> <p>This fix computes a global array of values which can be accessed by various <a class="reference internal" href="Section_howto.html#howto-15"><span>output commands</span></a>. The values can only be accessed on timesteps that are multiples of <em>Nfreq</em> since that is when averaging is performed. The global array has # of rows = Nbins and # of columns = 2+Nvalues. The first column contains the radius at the center of the shell. For units <em>reduced</em>, this is in reduced units, while for units <em>box</em> and <em>lattice</em> this is in box units. The next column has the count of atoms in that bin, and the remaining columns are the Nvalue quantities. When the array is accessed with an I that exceeds the current number of bins, than a 0.0 is returned by the fix instead of an error. The array values calculated by this fix are “intensive”, since they are already normalized by the count of atoms in each bin.</p> <p>No parameter of this fix can be used with the <em>start/stop</em> keywords of the <a class="reference internal" href="run.html"><em>run</em></a> command. This fix is not invoked during <a class="reference internal" href="minimize.html"><em>energy minimization</em></a>.</p> </div> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <p>When the <em>ave</em> keyword is set to <em>running</em> or <em>window</em> then the number of bins must remain the same during the simulation, so that the appropriate averaging can be done. This will be the case if the simulation box size doesn’t change or if the <em>units</em> keyword is set to <em>reduced</em>.</p> <p>This style is part of the USER-MISC package. It is only enabled if LAMMPS is build with that package. See the <span class="xref std std-ref">Making of LAMMPS</span> section for more info.</p> </div> <div class="section" id="related-commands"> <h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2> <p><a class="reference internal" href="compute.html"><em>compute</em></a>, <a class="reference internal" href="fix_ave_atom.html"><em>fix ave/atom</em></a>, <a class="reference internal" href="fix_ave_histo.html"><em>fix ave/histo</em></a>, <a class="reference internal" href="fix_ave_time.html"><em>fix ave/time</em></a>, <a class="reference internal" href="variable.html"><em>variable</em></a>, <a class="reference internal" href="fix_ave_correlate.html"><em>fix ave/correlate</em></a>, <a class="reference internal" href="fix_ave_spatial.html"><em>fix ave/spatial</em></a>,</p> </div> <div class="section" id="default"> <h2>Default<a class="headerlink" href="#default" title="Permalink to this headline">¶</a></h2> <p>The option defaults are norm = all, ave = one, units = lattice, no file output, and title 1,2,3 = strings as described above.</p> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/fix_ave_time.html b/doc/fix_ave_time.html index 55cb2b333..8beb62f4d 100644 --- a/doc/fix_ave_time.html +++ b/doc/fix_ave_time.html @@ -1,473 +1,473 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>fix ave/time command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>fix ave/time command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="fix-ave-time-command"> <span id="index-0"></span><h1>fix ave/time command<a class="headerlink" href="#fix-ave-time-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>fix ID group-ID ave/time Nevery Nrepeat Nfreq value1 value2 ... keyword args ... </pre></div> </div> <ul class="simple"> <li>ID, group-ID are documented in <a class="reference internal" href="fix.html"><em>fix</em></a> command</li> <li>ave/time = style name of this fix command</li> <li>Nevery = use input values every this many timesteps</li> <li>Nrepeat = # of times to use input values for calculating averages</li> <li>Nfreq = calculate averages every this many timesteps</li> <li>one or more input values can be listed</li> <li>value = c_ID, c_ID[N], f_ID, f_ID[N], v_name</li> </ul> <div class="highlight-python"><div class="highlight"><pre>c_ID = global scalar, vector, or array calculated by a compute with ID - c_ID[I] = Ith component of global vector or Ith column of global array calculated by a compute with ID - f_ID = global scalar, vector, or array calculated by a fix with ID - f_ID[I] = Ith component of global vector or Ith column of global array calculated by a fix with ID - v_name = global value calculated by an equal-style variable with name +c_ID[I] = Ith component of global vector or Ith column of global array calculated by a compute with ID +f_ID = global scalar, vector, or array calculated by a fix with ID +f_ID[I] = Ith component of global vector or Ith column of global array calculated by a fix with ID +v_name = global value calculated by an equal-style variable with name </pre></div> </div> <ul class="simple"> <li>zero or more keyword/arg pairs may be appended</li> <li>keyword = <em>mode</em> or <em>file</em> or <em>ave</em> or <em>start</em> or <em>off</em> or <em>overwrite</em> or <em>title1</em> or <em>title2</em> or <em>title3</em></li> </ul> <pre class="literal-block"> <em>mode</em> arg = <em>scalar</em> or <em>vector</em> - scalar = all input values are global scalars - vector = all input values are global vectors or global arrays - <em>ave</em> args = <em>one</em> or <em>running</em> or <em>window M</em> - one = output a new average value every Nfreq steps - running = output cummulative average of all previous Nfreq steps - window M = output average of M most recent Nfreq steps - <em>start</em> args = Nstart - Nstart = start averaging on this timestep - <em>off</em> arg = M = do not average this value - M = value # from 1 to Nvalues - <em>file</em> arg = filename - filename = name of file to output time averages to - <em>overwrite</em> arg = none = overwrite output file with only latest output - <em>title1</em> arg = string - string = text to print as 1st line of output file - <em>title2</em> arg = string - string = text to print as 2nd line of output file - <em>title3</em> arg = string - string = text to print as 3rd line of output file, only for vector mode + scalar = all input values are global scalars + vector = all input values are global vectors or global arrays +<em>ave</em> args = <em>one</em> or <em>running</em> or <em>window M</em> + one = output a new average value every Nfreq steps + running = output cummulative average of all previous Nfreq steps + window M = output average of M most recent Nfreq steps +<em>start</em> args = Nstart + Nstart = start averaging on this timestep +<em>off</em> arg = M = do not average this value + M = value # from 1 to Nvalues +<em>file</em> arg = filename + filename = name of file to output time averages to +<em>overwrite</em> arg = none = overwrite output file with only latest output +<em>title1</em> arg = string + string = text to print as 1st line of output file +<em>title2</em> arg = string + string = text to print as 2nd line of output file +<em>title3</em> arg = string + string = text to print as 3rd line of output file, only for vector mode </pre> </div> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>fix 1 all ave/time 100 5 1000 c_myTemp c_thermo_temp file temp.profile fix 1 all ave/time 100 5 1000 c_thermo_press[2] ave window 20 & title1 "My output values" fix 1 all ave/time 1 100 1000 f_indent f_indent[1] file temp.indent off 1 </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>Use one or more global values as inputs every few timesteps, and average them over longer timescales. The resulting averages can be used by other <a class="reference internal" href="Section_howto.html#howto-15"><span>output commands</span></a> such as <a class="reference internal" href="thermo_style.html"><em>thermo_style custom</em></a>, and can also be written to a file. Note that if no time averaging is done, this command can be used as a convenient way to simply output one or more global values to a file.</p> <p>The group specified with this command is ignored. However, note that specified values may represent calculations performed by computes and fixes which store their own “group” definitions.</p> <p>Each listed value can be the result of a <a class="reference internal" href="compute.html"><em>compute</em></a> or <a class="reference internal" href="fix.html"><em>fix</em></a> or the evaluation of an equal-style <a class="reference internal" href="variable.html"><em>variable</em></a>. In each case, the compute, fix, or variable must produce a global quantity, not a per-atom or local quantity. If you wish to spatial- or time-average or histogram per-atom quantities from a compute, fix, or variable, then see the <a class="reference internal" href="fix_ave_spatial.html"><em>fix ave/spatial</em></a>, <a class="reference internal" href="fix_ave_atom.html"><em>fix ave/atom</em></a>, or <a class="reference internal" href="fix_ave_histo.html"><em>fix ave/histo</em></a> commands. If you wish to sum a per-atom quantity into a single global quantity, see the <a class="reference internal" href="compute_reduce.html"><em>compute reduce</em></a> command.</p> <p><a class="reference internal" href="compute.html"><em>Computes</em></a> that produce global quantities are those which do not have the word <em>atom</em> in their style name. Only a few <a class="reference internal" href="fix.html"><em>fixes</em></a> produce global quantities. See the doc pages for individual fixes for info on which ones produce such values. <a class="reference internal" href="variable.html"><em>Variables</em></a> of style <em>equal</em> are the only ones that can be used with this fix. Variables of style <em>atom</em> cannot be used, since they produce per-atom values.</p> <p>The input values must either be all scalars or all vectors (or arrays), depending on the setting of the <em>mode</em> keyword. In both cases, the averaging is performed independently on each input value. I.e. each input scalar is averaged independently and each element of each input vector (or array) is averaged independently.</p> <p>If <em>mode</em> = vector, then the input values may either be vectors or arrays and all must be the same “length”, which is the length of the vector or number of rows in the array. If a global array is listed, then it is the same as if the individual columns of the array had been listed one by one. E.g. these 2 fix ave/time commands are equivalent, since the <a class="reference internal" href="compute_rdf.html"><em>compute rdf</em></a> command creates, in this case, a global array with 3 columns, each of length 50:</p> <div class="highlight-python"><div class="highlight"><pre>compute myRDF all rdf 50 1 2 fix 1 all ave/time 100 1 100 c_myRDF file tmp1.rdf mode vector fix 2 all ave/time 100 1 100 c_myRDF[1] c_myRDF[2] c_myRDF[3] file tmp2.rdf mode vector </pre></div> </div> <hr class="docutils" /> <p>The <em>Nevery</em>, <em>Nrepeat</em>, and <em>Nfreq</em> arguments specify on what timesteps the input values will be used in order to contribute to the average. The final averaged quantities are generated on timesteps that are a mlutiple of <em>Nfreq</em>. The average is over <em>Nrepeat</em> quantities, computed in the preceding portion of the simulation every <em>Nevery</em> timesteps. <em>Nfreq</em> must be a multiple of <em>Nevery</em> and <em>Nevery</em> must be non-zero even if <em>Nrepeat</em> is 1. Also, the timesteps contributing to the average value cannot overlap, i.e. Nfreq > (Nrepeat-1)*Nevery is required.</p> <p>For example, if Nevery=2, Nrepeat=6, and Nfreq=100, then values on timesteps 90,92,94,96,98,100 will be used to compute the final average on timestep 100. Similarly for timesteps 190,192,194,196,198,200 on timestep 200, etc. If Nrepeat=1 and Nfreq = 100, then no time averaging is done; values are simply generated on timesteps 100,200,etc.</p> <hr class="docutils" /> <p>If a value begins with “<a href="#id1"><span class="problematic" id="id2">c_</span></a>”, a compute ID must follow which has been previously defined in the input script. If <em>mode</em> = scalar, then if no bracketed term is appended, the global scalar calculated by the compute is used. If a bracketed term is appended, the Ith element of the global vector calculated by the compute is used. If <em>mode</em> = vector, then if no bracketed term is appended, the global vector calculated by the compute is used. Or if the compute calculates an array, all of the columns of the global array are used as if they had been specified as individual vectors (see description above). If a bracketed term is appended, the Ith column of the global array calculated by the compute is used.</p> <p>Note that there is a <a class="reference internal" href="compute_reduce.html"><em>compute reduce</em></a> command which can sum per-atom quantities into a global scalar or vector which can thus be accessed by fix ave/time. Or it can be a compute defined not in your input script, but by <a class="reference internal" href="thermo_style.html"><em>thermodynamic output</em></a> or other fixes such as <a class="reference internal" href="fix_nh.html"><em>fix nvt</em></a> or <a class="reference internal" href="fix_temp_rescale.html"><em>fix temp/rescale</em></a>. See the doc pages for these commands which give the IDs of these computes. Users can also write code for their own compute styles and <a class="reference internal" href="Section_modify.html"><em>add them to LAMMPS</em></a>.</p> <p>If a value begins with “<a href="#id3"><span class="problematic" id="id4">f_</span></a>”, a fix ID must follow which has been previously defined in the input script. If <em>mode</em> = scalar, then if no bracketed term is appended, the global scalar calculated by the fix is used. If a bracketed term is appended, the Ith element of the global vector calculated by the fix is used. If <em>mode</em> = vector, then if no bracketed term is appended, the global vector calculated by the fix is used. Or if the fix calculates an array, all of the columns of the global array are used as if they had been specified as individual vectors (see description above). If a bracketed term is appended, the Ith column of the global array calculated by the fix is used.</p> <p>Note that some fixes only produce their values on certain timesteps, which must be compatible with <em>Nevery</em>, else an error will result. Users can also write code for their own fix styles and <a class="reference internal" href="Section_modify.html"><em>add them to LAMMPS</em></a>.</p> <p>If a value begins with “<a href="#id5"><span class="problematic" id="id6">v_</span></a>”, a variable name must follow which has been previously defined in the input script. Variables can only be used as input for <em>mode</em> = scalar. Only equal-style variables can be referenced. See the <a class="reference internal" href="variable.html"><em>variable</em></a> command for details. Note that variables of style <em>equal</em> define a formula which can reference individual atom properties or thermodynamic keywords, or they can invoke other computes, fixes, or variables when they are evaluated, so this is a very general means of specifying quantities to time average.</p> <hr class="docutils" /> <p>Additional optional keywords also affect the operation of this fix.</p> <p>If the <em>mode</em> keyword is set to <em>scalar</em>, then all input values must be global scalars, or elements of global vectors. If the <em>mode</em> keyword is set to <em>vector</em>, then all input values must be global vectors, or columns of global arrays. They can also be global arrays, which are converted into a series of global vectors (one per column), as explained above.</p> <p>The <em>ave</em> keyword determines how the values produced every <em>Nfreq</em> steps are averaged with values produced on previous steps that were multiples of <em>Nfreq</em>, before they are accessed by another output command or written to a file.</p> <p>If the <em>ave</em> setting is <em>one</em>, then the values produced on timesteps that are multiples of <em>Nfreq</em> are independent of each other; they are output as-is without further averaging.</p> <p>If the <em>ave</em> setting is <em>running</em>, then the values produced on timesteps that are multiples of <em>Nfreq</em> are summed and averaged in a cummulative sense before being output. Each output value is thus the average of the value produced on that timestep with all preceding values. This running average begins when the fix is defined; it can only be restarted by deleting the fix via the <a class="reference internal" href="unfix.html"><em>unfix</em></a> command, or by re-defining the fix by re-specifying it.</p> <p>If the <em>ave</em> setting is <em>window</em>, then the values produced on timesteps that are multiples of <em>Nfreq</em> are summed and averaged within a moving “window” of time, so that the last M values are used to produce the output. E.g. if M = 3 and Nfreq = 1000, then the output on step 10000 will be the average of the individual values on steps 8000,9000,10000. Outputs on early steps will average over less than M values if they are not available.</p> <p>The <em>start</em> keyword specifies what timestep averaging will begin on. The default is step 0. Often input values can be 0.0 at time 0, so setting <em>start</em> to a larger value can avoid including a 0.0 in a running or windowed average.</p> <p>The <em>off</em> keyword can be used to flag any of the input values. If a value is flagged, it will not be time averaged. Instead the most recent input value will always be stored and output. This is useful if one of more of the inputs produced by a compute or fix or variable are effectively constant or are simply current values. E.g. they are being written to a file with other time-averaged values for purposes of creating well-formatted output.</p> <p>The <em>file</em> keyword allows a filename to be specified. Every <em>Nfreq</em> steps, one quantity or vector of quantities is written to the file for each input value specified in the fix ave/time command. For <em>mode</em> = scalar, this means a single line is written each time output is performed. Thus the file ends up to be a series of lines, i.e. one column of numbers for each input value. For <em>mode</em> = vector, an array of numbers is written each time output is performed. The number of rows is the length of the input vectors, and the number of columns is the number of values. Thus the file ends up to be a series of these array sections.</p> <p>The <em>overwrite</em> keyword will continuously overwrite the output file with the latest output, so that it only contains one timestep worth of output. This option can only be used with the <em>ave running</em> setting.</p> <p>The <em>title1</em> and <em>title2</em> and <em>title3</em> keywords allow specification of the strings that will be printed as the first 2 or 3 lines of the output file, assuming the <em>file</em> keyword was used. LAMMPS uses default values for each of these, so they do not need to be specified.</p> <p>By default, these header lines are as follows for <em>mode</em> = scalar:</p> <div class="highlight-python"><div class="highlight"><pre><span class="c"># Time-averaged data for fix ID</span> <span class="c"># TimeStep value1 value2 ...</span> </pre></div> </div> <p>In the first line, ID is replaced with the fix-ID. In the second line the values are replaced with the appropriate fields from the fix ave/time command. There is no third line in the header of the file, so the <em>title3</em> setting is ignored when <em>mode</em> = scalar.</p> <p>By default, these header lines are as follows for <em>mode</em> = vector:</p> <div class="highlight-python"><div class="highlight"><pre><span class="c"># Time-averaged data for fix ID</span> <span class="c"># TimeStep Number-of-rows</span> <span class="c"># Row value1 value2 ...</span> </pre></div> </div> <p>In the first line, ID is replaced with the fix-ID. The second line describes the two values that are printed at the first of each section of output. In the third line the values are replaced with the appropriate fields from the fix ave/time command.</p> </div> <hr class="docutils" /> <div class="section" id="restart-fix-modify-output-run-start-stop-minimize-info"> <h2>Restart, fix_modify, output, run start/stop, minimize info<a class="headerlink" href="#restart-fix-modify-output-run-start-stop-minimize-info" title="Permalink to this headline">¶</a></h2> <p>No information about this fix is written to <a class="reference internal" href="restart.html"><em>binary restart files</em></a>. None of the <a class="reference internal" href="fix_modify.html"><em>fix_modify</em></a> options are relevant to this fix.</p> <p>This fix produces a global scalar or global vector or global array which can be accessed by various <a class="reference internal" href="Section_howto.html#howto-15"><span>output commands</span></a>. The values can only be accessed on timesteps that are multiples of <em>Nfreq</em> since that is when averaging is performed.</p> <p>A scalar is produced if only a single input value is averaged and <em>mode</em> = scalar. A vector is produced if multiple input values are averaged for <em>mode</em> = scalar, or a single input value for <em>mode</em> = vector. In the first case, the length of the vector is the number of inputs. In the second case, the length of the vector is the same as the length of the input vector. An array is produced if multiple input values are averaged and <em>mode</em> = vector. The global array has # of rows = length of the input vectors and # of columns = number of inputs.</p> <p>If the fix prouduces a scalar or vector, then the scalar and each element of the vector can be either “intensive” or “extensive”, depending on whether the values contributing to the scalar or vector element are “intensive” or “extensive”. If the fix produces an array, then all elements in the array must be the same, either “intensive” or “extensive”. If a compute or fix provides the value being time averaged, then the compute or fix determines whether the value is intensive or extensive; see the doc page for that compute or fix for further info. Values produced by a variable are treated as intensive.</p> <p>No parameter of this fix can be used with the <em>start/stop</em> keywords of the <a class="reference internal" href="run.html"><em>run</em></a> command. This fix is not invoked during <a class="reference internal" href="minimize.html"><em>energy minimization</em></a>.</p> </div> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <blockquote> <div>none</div></blockquote> </div> <div class="section" id="related-commands"> <h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2> <p><a class="reference internal" href="compute.html"><em>compute</em></a>, <a class="reference internal" href="fix_ave_atom.html"><em>fix ave/atom</em></a>, <a class="reference internal" href="fix_ave_spatial.html"><em>fix ave/spatial</em></a>, <a class="reference internal" href="fix_ave_histo.html"><em>fix ave/histo</em></a>, <a class="reference internal" href="variable.html"><em>variable</em></a>, <a class="reference internal" href="fix_ave_correlate.html"><em>fix ave/correlate</em></a>,</p> </div> <div class="section" id="default"> <h2>Default<a class="headerlink" href="#default" title="Permalink to this headline">¶</a></h2> <p>The option defaults are mode = scalar, ave = one, start = 0, no file output, title 1,2,3 = strings as described above, and no off settings for any input values.</p> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/fix_aveforce.html b/doc/fix_aveforce.html index e053caefd..f50b72d9a 100644 --- a/doc/fix_aveforce.html +++ b/doc/fix_aveforce.html @@ -1,296 +1,296 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>fix aveforce command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>fix aveforce command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="fix-aveforce-command"> <span id="index-0"></span><h1>fix aveforce command<a class="headerlink" href="#fix-aveforce-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="fix-aveforce-cuda-command"> <h1>fix aveforce/cuda command<a class="headerlink" href="#fix-aveforce-cuda-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>fix ID group-ID aveforce fx fy fz keyword value ... </pre></div> </div> <ul class="simple"> <li>ID, group-ID are documented in <a class="reference internal" href="fix.html"><em>fix</em></a> command</li> <li>aveforce = style name of this fix command</li> <li>fx,fy,fz = force component values (force units)</li> </ul> <div class="highlight-python"><div class="highlight"><pre>any of fx,fy,fz can be a variable (see below) </pre></div> </div> <ul class="simple"> <li>zero or more keyword/value pairs may be appended to args</li> <li>keyword = <em>region</em></li> </ul> <pre class="literal-block"> <em>region</em> value = region-ID - region-ID = ID of region atoms must be in to have added force + region-ID = ID of region atoms must be in to have added force </pre> </div> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>fix pressdown topwall aveforce 0.0 -1.0 0.0 fix 2 bottomwall aveforce NULL -1.0 0.0 region top fix 2 bottomwall aveforce NULL -1.0 v_oscillate region top </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>Apply an additional external force to a group of atoms in such a way that every atom experiences the same force. This is useful for pushing on wall or boundary atoms so that the structure of the wall does not change over time.</p> <p>The existing force is averaged for the group of atoms, component by component. The actual force on each atom is then set to the average value plus the component specified in this command. This means each atom in the group receives the same force.</p> <p>Any of the fx,fy,fz values can be specified as NULL which means the force in that dimension is not changed. Note that this is not the same as specifying a 0.0 value, since that sets all forces to the same average value without adding in any additional force.</p> <p>Any of the 3 quantities defining the force components can be specified as an equal-style <a class="reference internal" href="variable.html"><em>variable</em></a>, namely <em>fx</em>, <em>fy</em>, <em>fz</em>. If the value is a variable, it should be specified as v_name, where name is the variable name. In this case, the variable will be evaluated each timestep, and its value used to determine the average force.</p> <p>Equal-style variables can specify formulas with various mathematical functions, and include <a class="reference internal" href="thermo_style.html"><em>thermo_style</em></a> command keywords for the simulation box parameters and timestep and elapsed time. Thus it is easy to specify a time-dependent average force.</p> <p>If the <em>region</em> keyword is used, the atom must also be in the specified geometric <a class="reference internal" href="region.html"><em>region</em></a> in order to have force added to it.</p> <hr class="docutils" /> <p>Styles with a <em>cuda</em> suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available hardware, as discussed in <a class="reference internal" href="Section_accelerate.html"><em>Section_accelerate</em></a> of the manual. The accelerated styles take the same arguments and should produce the same results, except for round-off and precision issues.</p> <p>These accelerated styles are part of the USER-CUDA package. They are only enabled if LAMMPS was built with that package. See the <a class="reference internal" href="Section_start.html#start-3"><span>Making LAMMPS</span></a> section for more info.</p> <p>You can specify the accelerated styles explicitly in your input script by including their suffix, or you can use the <a class="reference internal" href="Section_start.html#start-7"><span>-suffix command-line switch</span></a> when you invoke LAMMPS, or you can use the <a class="reference internal" href="suffix.html"><em>suffix</em></a> command in your input script.</p> <p>See <a class="reference internal" href="Section_accelerate.html"><em>Section_accelerate</em></a> of the manual for more instructions on how to use the accelerated styles effectively.</p> </div> <hr class="docutils" /> <div class="section" id="restart-fix-modify-output-run-start-stop-minimize-info"> <h2>Restart, fix_modify, output, run start/stop, minimize info<a class="headerlink" href="#restart-fix-modify-output-run-start-stop-minimize-info" title="Permalink to this headline">¶</a></h2> <p>No information about this fix is written to <a class="reference internal" href="restart.html"><em>binary restart files</em></a>. None of the <a class="reference internal" href="fix_modify.html"><em>fix_modify</em></a> options are relevant to this fix.</p> <p>This fix computes a global 3-vector of forces, which can be accessed by various <a class="reference internal" href="Section_howto.html#howto-15"><span>output commands</span></a>. This is the total force on the group of atoms before the forces on individual atoms are changed by the fix. The vector values calculated by this fix are “extensive”.</p> <p>No parameter of this fix can be used with the <em>start/stop</em> keywords of the <a class="reference internal" href="run.html"><em>run</em></a> command.</p> <p>The forces due to this fix are imposed during an energy minimization, invoked by the <a class="reference internal" href="minimize.html"><em>minimize</em></a> command. You should not specify force components with a variable that has time-dependence for use with a minimizer, since the minimizer increments the timestep as the iteration count during the minimization.</p> </div> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <blockquote> <div>none</div></blockquote> </div> <div class="section" id="related-commands"> <h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2> <p><a class="reference internal" href="fix_setforce.html"><em>fix setforce</em></a>, <a class="reference internal" href="fix_addforce.html"><em>fix addforce</em></a></p> <p><strong>Default:</strong> none</p> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/fix_balance.html b/doc/fix_balance.html index 92b84a572..5f316e608 100644 --- a/doc/fix_balance.html +++ b/doc/fix_balance.html @@ -1,535 +1,535 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>fix balance command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>fix balance command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="fix-balance-command"> <span id="index-0"></span><h1>fix balance command<a class="headerlink" href="#fix-balance-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>fix ID group-ID balance Nfreq thresh style args keyword value ... </pre></div> </div> <ul class="simple"> <li>ID, group-ID are documented in <a class="reference internal" href="fix.html"><em>fix</em></a> command</li> <li>balance = style name of this fix command</li> <li>Nfreq = perform dynamic load balancing every this many steps</li> <li>thresh = imbalance threshhold that must be exceeded to perform a re-balance</li> <li>style = <em>shift</em> or <em>rcb</em></li> </ul> <div class="highlight-python"><div class="highlight"><pre>shift args = dimstr Niter stopthresh - dimstr = sequence of letters containing "x" or "y" or "z", each not more than once - Niter = # of times to iterate within each dimension of dimstr sequence - stopthresh = stop balancing when this imbalance threshhold is reached - rcb args = none + dimstr = sequence of letters containing "x" or "y" or "z", each not more than once + Niter = # of times to iterate within each dimension of dimstr sequence + stopthresh = stop balancing when this imbalance threshhold is reached +rcb args = none </pre></div> </div> <ul class="simple"> <li>zero or more keyword/value pairs may be appended</li> <li>keyword = <em>out</em></li> </ul> <pre class="literal-block"> <em>out</em> value = filename - filename = write each processor's sub-domain to a file, at each re-balancing + filename = write each processor's sub-domain to a file, at each re-balancing </pre> </div> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>fix 2 all balance 1000 1.05 shift x 10 1.05 fix 2 all balance 100 0.9 shift xy 20 1.1 out tmp.balance fix 2 all balance 1000 1.1 rcb </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>This command adjusts the size and shape of processor sub-domains within the simulation box, to attempt to balance the number of particles and thus the computational cost (load) evenly across processors. The load balancing is “dynamic” in the sense that rebalancing is performed periodically during the simulation. To perform “static” balancing, before or between runs, see the <a class="reference internal" href="balance.html"><em>balance</em></a> command.</p> <p>Load-balancing is typically only useful if the particles in the simulation box have a spatially-varying density distribution. E.g. a model of a vapor/liquid interface, or a solid with an irregular-shaped geometry containing void regions. In this case, the LAMMPS default of dividing the simulation box volume into a regular-spaced grid of 3d bricks, with one equal-volume sub-domain per processor, may assign very different numbers of particles per processor. This can lead to poor performance when the simulation is run in parallel.</p> <p>Note that the <a class="reference internal" href="processors.html"><em>processors</em></a> command allows some control over how the box volume is split across processors. Specifically, for a Px by Py by Pz grid of processors, it allows choice of Px, Py, and Pz, subject to the constraint that Px * Py * Pz = P, the total number of processors. This is sufficient to achieve good load-balance for some problems on some processor counts. However, all the processor sub-domains will still have the same shape and same volume.</p> <p>On a particular timestep, a load-balancing operation is only performed if the current “imbalance factor” in particles owned by each processor exceeds the specified <em>thresh</em> parameter. The imbalance factor is defined as the maximum number of particles owned by any processor, divided by the average number of particles per processor. Thus an imbalance factor of 1.0 is perfect balance.</p> <p>As an example, for 10000 particles running on 10 processors, if the most heavily loaded processor has 1200 particles, then the factor is 1.2, meaning there is a 20% imbalance. Note that re-balances can be forced even if the current balance is perfect (1.0) be specifying a <em>thresh</em> < 1.0.</p> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">This command attempts to minimize the imbalance factor, as defined above. But depending on the method a perfect balance (1.0) may not be achieved. For example, “grid” methods (defined below) that create a logical 3d grid cannot achieve perfect balance for many irregular distributions of particles. Likewise, if a portion of the system is a perfect lattice, e.g. the initial system is generated by the <a class="reference internal" href="create_atoms.html"><em>create_atoms</em></a> command, then “grid” methods may be unable to achieve exact balance. This is because entire lattice planes will be owned or not owned by a single processor.</p> </div> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">The imbalance factor is also an estimate of the maximum speed-up you can hope to achieve by running a perfectly balanced simulation versus an imbalanced one. In the example above, the 10000 particle simulation could run up to 20% faster if it were perfectly balanced, versus when imbalanced. However, computational cost is not strictly proportional to particle count, and changing the relative size and shape of processor sub-domains may lead to additional computational and communication overheads, e.g. in the PPPM solver used via the <a class="reference internal" href="kspace_style.html"><em>kspace_style</em></a> command. Thus you should benchmark the run times of a simulation before and after balancing.</p> </div> <hr class="docutils" /> <p>The method used to perform a load balance is specified by one of the listed styles, which are described in detail below. There are 2 kinds of styles.</p> <p>The <em>shift</em> style is a “grid” method which produces a logical 3d grid of processors. It operates by changing the cutting planes (or lines) between processors in 3d (or 2d), to adjust the volume (area in 2d) assigned to each processor, as in the following 2d diagram where processor sub-domains are shown and atoms are colored by the processor that owns them. The leftmost diagram is the default partitioning of the simulation box across processors (one sub-box for each of 16 processors); the middle diagram is after a “grid” method has been applied.</p> <a data-lightbox="group-default" href="_images/balance_uniform.jpg" class="" title="" data-title="" ><img src="_images/balance_uniform.jpg" class="align-center" width="25%" height="auto" alt=""/> </a><a data-lightbox="group-default" href="_images/balance_nonuniform.jpg" class="" title="" data-title="" ><img src="_images/balance_nonuniform.jpg" class="align-center" width="25%" height="auto" alt=""/> </a><a data-lightbox="group-default" href="_images/balance_rcb.jpg" class="" title="" data-title="" ><img src="_images/balance_rcb.jpg" class="align-center" width="25%" height="auto" alt=""/> </a><p>The <em>rcb</em> style is a “tiling” method which does not produce a logical 3d grid of processors. Rather it tiles the simulation domain with rectangular sub-boxes of varying size and shape in an irregular fashion so as to have equal numbers of particles in each sub-box, as in the rightmost diagram above.</p> <p>The “grid” methods can be used with either of the <a class="reference internal" href="comm_style.html"><em>comm_style</em></a> command options, <em>brick</em> or <em>tiled</em>. The “tiling” methods can only be used with <a class="reference internal" href="comm_style.html"><em>comm_style tiled</em></a>.</p> <p>When a “grid” method is specified, the current domain partitioning can be either a logical 3d grid or a tiled partitioning. In the former case, the current logical 3d grid is used as a starting point and changes are made to improve the imbalance factor. In the latter case, the tiled partitioning is discarded and a logical 3d grid is created with uniform spacing in all dimensions. This is the starting point for the balancing operation.</p> <p>When a “tiling” method is specified, the current domain partitioning (“grid” or “tiled”) is ignored, and a new partitioning is computed from scratch.</p> <hr class="docutils" /> <p>The <em>group-ID</em> is currently ignored. In the future it may be used to determine what particles are considered for balancing. Normally it would only makes sense to use the <em>all</em> group. But in some cases it may be useful to balance on a subset of the particles, e.g. when modeling large nanoparticles in a background of small solvent particles.</p> <p>The <em>Nfreq</em> setting determines how often a rebalance is performed. If <em>Nfreq</em> > 0, then rebalancing will occur every <em>Nfreq</em> steps. Each time a rebalance occurs, a reneighboring is triggered, so <em>Nfreq</em> should not be too small. If <em>Nfreq</em> = 0, then rebalancing will be done every time reneighboring normally occurs, as determined by the the <a class="reference internal" href="neighbor.html"><em>neighbor</em></a> and <a class="reference internal" href="neigh_modify.html"><em>neigh_modify</em></a> command settings.</p> <p>On rebalance steps, rebalancing will only be attempted if the current imbalance factor, as defined above, exceeds the <em>thresh</em> setting.</p> <hr class="docutils" /> <p>The <em>shift</em> style invokes a “grid” method for balancing, as described above. It changes the positions of cutting planes between processors in an iterative fashion, seeking to reduce the imbalance factor.</p> <p>The <em>dimstr</em> argument is a string of characters, each of which must be an “x” or “y” or “z”. Eacn character can appear zero or one time, since there is no advantage to balancing on a dimension more than once. You should normally only list dimensions where you expect there to be a density variation in the particles.</p> <p>Balancing proceeds by adjusting the cutting planes in each of the dimensions listed in <em>dimstr</em>, one dimension at a time. For a single dimension, the balancing operation (described below) is iterated on up to <em>Niter</em> times. After each dimension finishes, the imbalance factor is re-computed, and the balancing operation halts if the <em>stopthresh</em> criterion is met.</p> <p>A rebalance operation in a single dimension is performed using a density-dependent recursive multisectioning algorithm, where the position of each cutting plane (line in 2d) in the dimension is adjusted independently. This is similar to a recursive bisectioning for a single value, except that the bounds used for each bisectioning take advantage of information from neighboring cuts if possible, as well as counts of particles at the bounds on either side of each cuts, which themselves were cuts in previous iterations. The latter is used to infer a density of pariticles near each of the current cuts. At each iteration, the count of particles on either side of each plane is tallied. If the counts do not match the target value for the plane, the position of the cut is adjusted based on the local density. The low and high bounds are adjusted on each iteration, using new count information, so that they become closer together over time. Thus as the recursion progresses, the count of particles on either side of the plane gets closer to the target value.</p> <p>The density-dependent part of this algorithm is often an advantage when you rebalance a system that is already nearly balanced. It typically converges more quickly than the geometric bisectioning algorithm used by the <a class="reference internal" href="balance.html"><em>balance</em></a> command. However, if can be a disadvantage if you attempt to rebalance a system that is far from balanced, and converge more slowly. In this case you probably want to use the <a class="reference internal" href="balance.html"><em>balance</em></a> command before starting a run, so that you begin the run with a balanced system.</p> <p>Once the rebalancing is complete and final processor sub-domains assigned, particles migrate to their new owning processor as part of the normal reneighboring procedure.</p> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">At each rebalance operation, the bisectioning for each cutting plane (line in 2d) typcially starts with low and high bounds separated by the extent of a processor’s sub-domain in one dimension. The size of this bracketing region shrinks based on the local density, as described above, which should typically be 1/2 or more every iteration. Thus if <em>Niter</em> is specified as 10, the cutting plane will typically be positioned to better than 1 part in 1000 accuracy (relative to the perfect target position). For <em>Niter</em> = 20, it will be accurate to better than 1 part in a million. Thus there is no need to set <em>Niter</em> to a large value. This is especially true if you are rebalancing often enough that each time you expect only an incremental adjustement in the cutting planes is necessary. LAMMPS will check if the threshold accuracy is reached (in a dimension) is less iterations than <em>Niter</em> and exit early.</p> </div> <hr class="docutils" /> <p>The <em>rcb</em> style invokes a “tiled” method for balancing, as described above. It performs a recursive coordinate bisectioning (RCB) of the simulation domain. The basic idea is as follows.</p> <p>The simulation domain is cut into 2 boxes by an axis-aligned cut in the longest dimension, leaving one new box on either side of the cut. All the processors are also partitioned into 2 groups, half assigned to the box on the lower side of the cut, and half to the box on the upper side. (If the processor count is odd, one side gets an extra processor.) The cut is positioned so that the number of atoms in the lower box is exactly the number that the processors assigned to that box should own for load balance to be perfect. This also makes load balance for the upper box perfect. The positioning is done iteratively, by a bisectioning method. Note that counting atoms on either side of the cut requires communication between all processors at each iteration.</p> <p>That is the procedure for the first cut. Subsequent cuts are made recursively, in exactly the same manner. The subset of processors assigned to each box make a new cut in the longest dimension of that box, splitting the box, the subset of processsors, and the atoms in the box in two. The recursion continues until every processor is assigned a sub-box of the entire simulation domain, and owns the atoms in that sub-box.</p> <hr class="docutils" /> <p>The <em>out</em> keyword writes a text file to the specified <em>filename</em> with the results of each rebalancing operation. The file contains the bounds of the sub-domain for each processor after the balancing operation completes. The format of the file is compatible with the <a class="reference external" href="pizza">Pizza.py</a> <em>mdump</em> tool which has support for manipulating and visualizing mesh files. An example is shown here for a balancing by 4 processors for a 2d problem:</p> <div class="highlight-python"><div class="highlight"><pre>ITEM: TIMESTEP 0 ITEM: NUMBER OF NODES 16 ITEM: BOX BOUNDS 0 10 0 10 0 10 ITEM: NODES 1 1 0 0 0 2 1 5 0 0 3 1 5 5 0 4 1 0 5 0 5 1 5 0 0 6 1 10 0 0 7 1 10 5 0 8 1 5 5 0 9 1 0 5 0 10 1 5 5 0 11 1 5 10 0 12 1 10 5 0 13 1 5 5 0 14 1 10 5 0 15 1 10 10 0 16 1 5 10 0 ITEM: TIMESTEP 0 ITEM: NUMBER OF SQUARES 4 ITEM: SQUARES 1 1 1 2 3 4 2 1 5 6 7 8 3 1 9 10 11 12 4 1 13 14 15 16 </pre></div> </div> <p>The coordinates of all the vertices are listed in the NODES section, 5 per processor. Note that the 4 sub-domains share vertices, so there will be duplicate nodes in the list.</p> <p>The “SQUARES” section lists the node IDs of the 4 vertices in a rectangle for each processor (1 to 4).</p> <p>For a 3d problem, the syntax is similar with 8 vertices listed for each processor, instead of 4, and “SQUARES” replaced by “CUBES”.</p> </div> <hr class="docutils" /> <div class="section" id="restart-fix-modify-output-run-start-stop-minimize-info"> <h2>Restart, fix_modify, output, run start/stop, minimize info<a class="headerlink" href="#restart-fix-modify-output-run-start-stop-minimize-info" title="Permalink to this headline">¶</a></h2> <p>No information about this fix is written to <a class="reference internal" href="restart.html"><em>binary restart files</em></a>. None of the <a class="reference internal" href="fix_modify.html"><em>fix_modify</em></a> options are relevant to this fix.</p> <p>This fix computes a global scalar which is the imbalance factor after the most recent rebalance and a global vector of length 3 with additional information about the most recent rebalancing. The 3 values in the vector are as follows:</p> <ul class="simple"> <li>1 = max # of particles per processor</li> <li>2 = total # iterations performed in last rebalance</li> <li>3 = imbalance factor right before the last rebalance was performed</li> </ul> <p>As explained above, the imbalance factor is the ratio of the maximum number of particles on any processor to the average number of particles per processor.</p> <p>These quantities can be accessed by various <a class="reference internal" href="Section_howto.html#howto-15"><span>output commands</span></a>. The scalar and vector values calculated by this fix are “intensive”.</p> <p>No parameter of this fix can be used with the <em>start/stop</em> keywords of the <a class="reference internal" href="run.html"><em>run</em></a> command. This fix is not invoked during <a class="reference internal" href="minimize.html"><em>energy minimization</em></a>.</p> </div> <hr class="docutils" /> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <p>For 2d simulations, a “z” cannot appear in <em>dimstr</em> for the <em>shift</em> style.</p> </div> <div class="section" id="related-commands"> <h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2> <p><a class="reference internal" href="processors.html"><em>processors</em></a>, <a class="reference internal" href="balance.html"><em>balance</em></a></p> <p><strong>Default:</strong> none</p> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/fix_bond_break.html b/doc/fix_bond_break.html index fab486b28..988537d1a 100644 --- a/doc/fix_bond_break.html +++ b/doc/fix_bond_break.html @@ -1,328 +1,328 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>fix bond/break command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>fix bond/break command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="fix-bond-break-command"> <span id="index-0"></span><h1>fix bond/break command<a class="headerlink" href="#fix-bond-break-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>fix ID group-ID bond/break Nevery bondtype Rmax keyword values ... </pre></div> </div> <ul class="simple"> <li>ID, group-ID are documented in <a class="reference internal" href="fix.html"><em>fix</em></a> command</li> <li>bond/break = style name of this fix command</li> <li>Nevery = attempt bond breaking every this many steps</li> <li>bondtype = type of bonds to break</li> <li>Rmax = bond longer than Rmax can break (distance units)</li> <li>zero or more keyword/value pairs may be appended to args</li> <li>keyword = <em>prob</em></li> </ul> <pre class="literal-block"> <em>prob</em> values = fraction seed - fraction = break a bond with this probability if otherwise eligible - seed = random number seed (positive integer) + fraction = break a bond with this probability if otherwise eligible + seed = random number seed (positive integer) </pre> </div> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>fix 5 all bond/break 10 2 1.2 fix 5 polymer bond/break 1 1 2.0 prob 0.5 49829 </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>Break bonds between pairs of atoms as a simulation runs according to specified criteria. This can be used to model the dissolution of a polymer network due to stretching of the simulation box or other deformations. In this context, a bond means an interaction between a pair of atoms computed by the <a class="reference internal" href="bond_style.html"><em>bond_style</em></a> command. Once the bond is broken it will be permanently deleted, as will all angle, dihedral, and improper interactions that bond is part of.</p> <p>This is different than a <a class="reference internal" href="pair_style.html"><em>pairwise</em></a> bond-order potential such as Tersoff or AIREBO which infers bonds and many-body interactions based on the current geometry of a small cluster of atoms and effectively creates and destroys bonds and higher-order many-body interactions from timestep to timestep as atoms move.</p> <p>A check for possible bond breakage is performed every <em>Nevery</em> timesteps. If two bonded atoms I,J are further than a distance <em>Rmax</em> of each other, if the bond is of type <em>bondtype</em>, and if both I and J are in the specified fix group, then I,J is labeled as a “possible” bond to break.</p> <p>If several bonds involving an atom are stretched, it may have multiple possible bonds to break. Every atom checks its list of possible bonds to break and labels the longest such bond as its “sole” bond to break. After this is done, if atom I is bonded to atom J in its sole bond, and atom J is bonded to atom I in its sole bond, then the I,J bond is “eligible” to be broken.</p> <p>Note that these rules mean an atom will only be part of at most one broken bond on a given timestep. It also means that if atom I chooses atom J as its sole partner, but atom J chooses atom K is its sole partner (due to Rjk > Rij), then this means atom I will not be part of a broken bond on this timestep, even if it has other possible bond partners.</p> <p>The <em>prob</em> keyword can effect whether an eligible bond is actually broken. The <em>fraction</em> setting must be a value between 0.0 and 1.0. A uniform random number between 0.0 and 1.0 is generated and the eligible bond is only broken if the random number < fraction.</p> <p>When a bond is broken, data structures within LAMMPS that store bond topology are updated to reflect the breakage. Likewise, if the bond is part of a 3-body (angle) or 4-body (dihedral, improper) interaction, that interaction is removed as well. These changes typically affect pairwise interactions between atoms that used to be part of bonds, angles, etc.</p> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">One data structure that is not updated when a bond breaks are the molecule IDs stored by each atom. Even though one molecule becomes two moleclues due to the broken bond, all atoms in both new moleclues retain their original molecule IDs.</p> </div> <p>Computationally, each timestep this fix operates, it loops over all the bonds in the system and computes distances between pairs of bonded atoms. It also communicates between neighboring processors to coordinate which bonds are broken. Moreover, if any bonds are broken, neighbor lists must be immediately updated on the same timestep. This is to insure that any pairwise interactions that should be turned “on” due to a bond breaking, because they are no longer excluded by the presence of the bond and the settings of the <a class="reference internal" href="special_bonds.html"><em>special_bonds</em></a> command, will be immediately recognized. All of these operations increase the cost of a timestep. Thus you should be cautious about invoking this fix too frequently.</p> <p>You can dump out snapshots of the current bond topology via the <a class="reference internal" href="dump.html"><em>dump local</em></a> command.</p> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">Breaking a bond typically alters the energy of a system. You should be careful not to choose bond breaking criteria that induce a dramatic change in energy. For example, if you define a very stiff harmonic bond and break it when 2 atoms are separated by a distance far from the equilibribum bond length, then the 2 atoms will be dramatically released when the bond is broken. More generally, you may need to thermostat your system to compensate for energy changes resulting from broken bonds (and angles, dihedrals, impropers).</p> </div> </div> <hr class="docutils" /> <div class="section" id="restart-fix-modify-output-run-start-stop-minimize-info"> <h2>Restart, fix_modify, output, run start/stop, minimize info<a class="headerlink" href="#restart-fix-modify-output-run-start-stop-minimize-info" title="Permalink to this headline">¶</a></h2> <p>No information about this fix is written to <a class="reference internal" href="restart.html"><em>binary restart files</em></a>. None of the <a class="reference internal" href="fix_modify.html"><em>fix_modify</em></a> options are relevant to this fix.</p> <p>This fix computes two statistics which it stores in a global vector of length 2, which can be accessed by various <a class="reference internal" href="Section_howto.html#howto-15"><span>output commands</span></a>. The vector values calculated by this fix are “intensive”.</p> <p>These are the 2 quantities:</p> <ul class="simple"> <li><ol class="first arabic"> <li># of bonds broken on the most recent breakage timestep</li> </ol> </li> <li><ol class="first arabic" start="2"> <li>cummulative # of bonds broken</li> </ol> </li> </ul> <p>No parameter of this fix can be used with the <em>start/stop</em> keywords of the <a class="reference internal" href="run.html"><em>run</em></a> command. This fix is not invoked during <a class="reference internal" href="minimize.html"><em>energy minimization</em></a>.</p> </div> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <p>This fix is part of the MC package. It is only enabled if LAMMPS was built with that package. See the <a class="reference internal" href="Section_start.html#start-3"><span>Making LAMMPS</span></a> section for more info.</p> </div> <div class="section" id="related-commands"> <h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2> <p><a class="reference internal" href="fix_bond_create.html"><em>fix bond/create</em></a>, <a class="reference internal" href="fix_bond_swap.html"><em>fix bond/swap</em></a>, <a class="reference internal" href="dump.html"><em>dump local</em></a>, <a class="reference internal" href="special_bonds.html"><em>special_bonds</em></a></p> </div> <div class="section" id="default"> <h2>Default<a class="headerlink" href="#default" title="Permalink to this headline">¶</a></h2> <p>The option defaults are prob = 1.0.</p> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/fix_bond_create.html b/doc/fix_bond_create.html index 07ff6811e..74dbc9bc7 100644 --- a/doc/fix_bond_create.html +++ b/doc/fix_bond_create.html @@ -1,425 +1,425 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>fix bond/create command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>fix bond/create command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="fix-bond-create-command"> <span id="index-0"></span><h1>fix bond/create command<a class="headerlink" href="#fix-bond-create-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>fix ID group-ID bond/create Nevery itype jtype Rmin bondtype keyword values ... </pre></div> </div> <ul class="simple"> <li>ID, group-ID are documented in <a class="reference internal" href="fix.html"><em>fix</em></a> command</li> <li>bond/create = style name of this fix command</li> <li>Nevery = attempt bond creation every this many steps</li> <li>itype,jtype = atoms of itype can bond to atoms of jtype</li> <li>Rmin = 2 atoms separated by less than Rmin can bond (distance units)</li> <li>bondtype = type of created bonds</li> <li>zero or more keyword/value pairs may be appended to args</li> <li>keyword = <em>iparam</em> or <em>jparam</em> or <em>prob</em> or <em>atype</em> or <em>dtype</em> or <em>itype</em></li> </ul> <pre class="literal-block"> <em>iparam</em> values = maxbond, newtype - maxbond = max # of bonds of bondtype the itype atom can have - newtype = change the itype atom to this type when maxbonds exist - <em>jparam</em> values = maxbond, newtype - maxbond = max # of bonds of bondtype the jtype atom can have - newtype = change the jtype atom to this type when maxbonds exist - <em>prob</em> values = fraction seed - fraction = create a bond with this probability if otherwise eligible - seed = random number seed (positive integer) - <em>atype</em> value = angletype - angletype = type of created angles - <em>dtype</em> value = dihedraltype - dihedraltype = type of created dihedrals - <em>itype</em> value = impropertype - impropertype = type of created impropers + maxbond = max # of bonds of bondtype the itype atom can have + newtype = change the itype atom to this type when maxbonds exist +<em>jparam</em> values = maxbond, newtype + maxbond = max # of bonds of bondtype the jtype atom can have + newtype = change the jtype atom to this type when maxbonds exist +<em>prob</em> values = fraction seed + fraction = create a bond with this probability if otherwise eligible + seed = random number seed (positive integer) +<em>atype</em> value = angletype + angletype = type of created angles +<em>dtype</em> value = dihedraltype + dihedraltype = type of created dihedrals +<em>itype</em> value = impropertype + impropertype = type of created impropers </pre> </div> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>fix 5 all bond/create 10 1 2 0.8 1 fix 5 all bond/create 1 3 3 0.8 1 prob 0.5 85784 iparam 2 3 fix 5 all bond/create 1 3 3 0.8 1 prob 0.5 85784 iparam 2 3 atype 1 dtype 2 </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>Create bonds between pairs of atoms as a simulation runs according to specified criteria. This can be used to model cross-linking of polymers, the formation of a percolation network, etc. In this context, a bond means an interaction between a pair of atoms computed by the <a class="reference internal" href="bond_style.html"><em>bond_style</em></a> command. Once the bond is created it will be permanently in place. Optionally, the creation of a bond can also create angle, dihedral, and improper interactions that bond is part of. See the discussion of the <em>atype</em>, <em>dtype</em>, and <em>itype</em> keywords below.</p> <p>This is different than a <a class="reference internal" href="pair_style.html"><em>pairwise</em></a> bond-order potential such as Tersoff or AIREBO which infers bonds and many-body interactions based on the current geometry of a small cluster of atoms and effectively creates and destroys bonds and higher-order many-body interactions from timestep to timestep as atoms move.</p> <p>A check for possible new bonds is performed every <em>Nevery</em> timesteps. If two atoms I,J are within a distance <em>Rmin</em> of each other, if I is of atom type <em>itype</em>, if J is of atom type <em>jtype</em>, if both I and J are in the specified fix group, if a bond does not already exist between I and J, and if both I and J meet their respective <em>maxbond</em> requirement (explained below), then I,J is labeled as a “possible” bond pair.</p> <p>If several atoms are close to an atom, it may have multiple possible bond partners. Every atom checks its list of possible bond partners and labels the closest such partner as its “sole” bond partner. After this is done, if atom I has atom J as its sole partner, and atom J has atom I as its sole partner, then the I,J bond is “eligible” to be formed.</p> <p>Note that these rules mean an atom will only be part of at most one created bond on a given timestep. It also means that if atom I chooses atom J as its sole partner, but atom J chooses atom K is its sole partner (due to Rjk < Rij), then this means atom I will not form a bond on this timestep, even if it has other possible bond partners.</p> <p>It is permissible to have <em>itype</em> = <em>jtype</em>. <em>Rmin</em> must be <= the pairwise cutoff distance between <em>itype</em> and <em>jtype</em> atoms, as defined by the <a class="reference internal" href="pair_style.html"><em>pair_style</em></a> command.</p> <p>The <em>iparam</em> and <em>jparam</em> keywords can be used to limit the bonding functionality of the participating atoms. Each atom keeps track of how many bonds of <em>bondtype</em> it already has. If atom I of itype already has <em>maxbond</em> bonds (as set by the <em>iparam</em> keyword), then it will not form any more. Likewise for atom J. If <em>maxbond</em> is set to 0, then there is no limit on the number of bonds that can be formed with that atom.</p> <p>The <em>newtype</em> value for <em>iparam</em> and <em>jparam</em> can be used to change the atom type of atom I or J when it reaches <em>maxbond</em> number of bonds of type <em>bondtype</em>. This means it can now interact in a pairwise fashion with other atoms in a different way by specifying different <a class="reference internal" href="pair_coeff.html"><em>pair_coeff</em></a> coefficients. If you do not wish the atom type to change, simply specify <em>newtype</em> as <em>itype</em> or <em>jtype</em>.</p> <p>The <em>prob</em> keyword can also effect whether an eligible bond is actually created. The <em>fraction</em> setting must be a value between 0.0 and 1.0. A uniform random number between 0.0 and 1.0 is generated and the eligible bond is only created if the random number < fraction.</p> <p>Any bond that is created is assigned a bond type of <em>bondtype</em></p> <p>When a bond is created, data structures within LAMMPS that store bond topology are updated to reflect the creation. If the bond is part of new 3-body (angle) or 4-body (dihedral, improper) interactions, you can choose to create new angles, dihedrals, impropers as well, using the <em>atype</em>, <em>dtype</em>, and <em>itype</em> keywords. All of these changes typically affect pairwise interactions between atoms that are now part of new bonds, angles, etc.</p> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">One data structure that is not updated when a bond breaks are the molecule IDs stored by each atom. Even though two molecules become one moleclue due to the created bond, all atoms in the new moleclue retain their original molecule IDs.</p> </div> <p>If the <em>atype</em> keyword is used and if an angle potential is defined via the <code class="xref doc docutils literal"><span class="pre">angle_style</span></code> command, then any new 3-body interactions inferred by the creation of a bond will create new angles of type <em>angletype</em>, with parameters assigned by the corresponding <a class="reference internal" href="angle_coeff.html"><em>angle_coeff</em></a> command. Likewise, the <em>dtype</em> and <em>itype</em> keywords will create new dihedrals and impropers of type <em>dihedraltype</em> and <em>impropertype</em>.</p> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">To create a new bond, the internal LAMMPS data structures that store this information must have space for it. When LAMMPS is initialized from a data file, the list of bonds is scanned and the maximum number of bonds per atom is tallied. If some atom will acquire more bonds than this limit as this fix operates, then the “extra bond per atom” parameter must be set to allow for it. Ditto for “extra angle per atom”, “extra dihedral per atom”, and “extra improper per atom” if angles, dihedrals, or impropers are being added when bonds are created. See the <a class="reference internal" href="read_data.html"><em>read_data</em></a> or <a class="reference internal" href="create_box.html"><em>create_box</em></a> command for more details. Note that a data file with no atoms can be used if you wish to add unbonded atoms via the <a class="reference internal" href="create_atoms.html"><em>create atoms</em></a> command, e.g. for a percolation simulation.</p> </div> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">LAMMPS stores and maintains a data structure with a list of the 1st, 2nd, and 3rd neighbors of each atom (within the bond topology of the system) for use in weighting pairwise interactions for bonded atoms. Note that adding a single bond always adds a new 1st neighbor but may also induce <em>many</em> new 2nd and 3rd neighbors, depending on the molecular topology of your system. The “extra special per atom” parameter must typically be set to allow for the new maximum total size (1st + 2nd + 3rd neighbors) of this per-atom list. There are 3 ways to do this. See the <a class="reference internal" href="read_data.html"><em>read_data</em></a> or <a class="reference internal" href="create_box.html"><em>create_box</em></a> or “special_bonds extra” commands for details.</p> </div> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">Even if you do not use the <em>atype</em>, <em>dtype</em>, or <em>itype</em> keywords, the list of topological neighbors is updated for atoms affected by the new bond. This in turn affects which neighbors are considered for pairwise interactions, using the weighting rules set by the <a class="reference internal" href="special_bonds.html"><em>special_bonds</em></a> command. Consider a new bond created between atoms I,J. If J has a bonded neighbor K, then K becomes a 2nd neighbor of I. Even if the <em>atype</em> keyword is not used to create angle I-J-K, the pairwise interaction between I and K will be potentially turned off or weighted by the 1-3 weighting specified by the <a class="reference internal" href="special_bonds.html"><em>special_bonds</em></a> command. This is the case even if the “angle yes” option was used with that command. The same is true for 3rd neighbors (1-4 interactions), the <em>dtype</em> keyword, and the “dihedral yes” option used with the <a class="reference internal" href="special_bonds.html"><em>special_bonds</em></a> command.</p> </div> <p>Note that even if your simulation starts with no bonds, you must define a <a class="reference internal" href="bond_style.html"><em>bond_style</em></a> and use the <a class="reference internal" href="bond_coeff.html"><em>bond_coeff</em></a> command to specify coefficients for the <em>bondtype</em>. Similarly, if new atom types are specified by the <em>iparam</em> or <em>jparam</em> keywords, they must be within the range of atom types allowed by the simulation and pairwise coefficients must be specified for the new types.</p> <p>Computationally, each timestep this fix operates, it loops over neighbor lists and computes distances between pairs of atoms in the list. It also communicates between neighboring processors to coordinate which bonds are created. Moreover, if any bonds are created, neighbor lists must be immediately updated on the same timestep. This is to insure that any pairwise interactions that should be turned “off” due to a bond creation, because they are now excluded by the presence of the bond and the settings of the <a class="reference internal" href="special_bonds.html"><em>special_bonds</em></a> command, will be immediately recognized. All of these operations increase the cost of a timestep. Thus you should be cautious about invoking this fix too frequently.</p> <p>You can dump out snapshots of the current bond topology via the <a class="reference internal" href="dump.html"><em>dump local</em></a> command.</p> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">Creating a bond typically alters the energy of a system. You should be careful not to choose bond creation criteria that induce a dramatic change in energy. For example, if you define a very stiff harmonic bond and create it when 2 atoms are separated by a distance far from the equilibribum bond length, then the 2 atoms will oscillate dramatically when the bond is formed. More generally, you may need to thermostat your system to compensate for energy changes resulting from created bonds (and angles, dihedrals, impropers).</p> </div> </div> <hr class="docutils" /> <div class="section" id="restart-fix-modify-output-run-start-stop-minimize-info"> <h2>Restart, fix_modify, output, run start/stop, minimize info<a class="headerlink" href="#restart-fix-modify-output-run-start-stop-minimize-info" title="Permalink to this headline">¶</a></h2> <p>No information about this fix is written to <a class="reference internal" href="restart.html"><em>binary restart files</em></a>. None of the <a class="reference internal" href="fix_modify.html"><em>fix_modify</em></a> options are relevant to this fix.</p> <p>This fix computes two statistics which it stores in a global vector of length 2, which can be accessed by various <a class="reference internal" href="Section_howto.html#howto-15"><span>output commands</span></a>. The vector values calculated by this fix are “intensive”.</p> <p>These are the 2 quantities:</p> <ul class="simple"> <li><ol class="first arabic"> <li># of bonds created on the most recent creation timestep</li> </ol> </li> <li><ol class="first arabic" start="2"> <li>cummulative # of bonds created</li> </ol> </li> </ul> <p>No parameter of this fix can be used with the <em>start/stop</em> keywords of the <a class="reference internal" href="run.html"><em>run</em></a> command. This fix is not invoked during <a class="reference internal" href="minimize.html"><em>energy minimization</em></a>.</p> </div> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <p>This fix is part of the MC package. It is only enabled if LAMMPS was built with that package. See the <a class="reference internal" href="Section_start.html#start-3"><span>Making LAMMPS</span></a> section for more info.</p> </div> <div class="section" id="related-commands"> <h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2> <p><a class="reference internal" href="fix_bond_break.html"><em>fix bond/break</em></a>, <a class="reference internal" href="fix_bond_swap.html"><em>fix bond/swap</em></a>, <a class="reference internal" href="dump.html"><em>dump local</em></a>, <a class="reference internal" href="special_bonds.html"><em>special_bonds</em></a></p> </div> <div class="section" id="default"> <h2>Default<a class="headerlink" href="#default" title="Permalink to this headline">¶</a></h2> <p>The option defaults are iparam = (0,itype), jparam = (0,jtype), and prob = 1.0.</p> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/fix_colvars.html b/doc/fix_colvars.html index b69823d44..66a350a05 100644 --- a/doc/fix_colvars.html +++ b/doc/fix_colvars.html @@ -1,304 +1,304 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>fix colvars command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>fix colvars command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="fix-colvars-command"> <span id="index-0"></span><h1>fix colvars command<a class="headerlink" href="#fix-colvars-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>fix ID group-ID colvars configfile keyword values ... </pre></div> </div> <ul class="simple"> <li>ID, group-ID are documented in <a class="reference internal" href="fix.html"><em>fix</em></a> command</li> <li>colvars = style name of this fix command</li> <li>configfile = the configuration file for the colvars module</li> <li>keyword = <em>input</em> or <em>output</em> or <em>seed</em> or <em>tstat</em></li> </ul> <pre class="literal-block"> <em>input</em> arg = colvars.state file name or prefix or NULL (default: NULL) - <em>output</em> arg = output filename prefix (default: out) - <em>seed</em> arg = seed for random number generator (default: 1966) - <em>unwrap</em> arg = <em>yes</em> or <em>no</em> - use unwrapped coordinates in collective variables (default: yes) - <em>tstat</em> arg = fix id of a thermostat or NULL (default: NULL) +<em>output</em> arg = output filename prefix (default: out) +<em>seed</em> arg = seed for random number generator (default: 1966) +<em>unwrap</em> arg = <em>yes</em> or <em>no</em> + use unwrapped coordinates in collective variables (default: yes) +<em>tstat</em> arg = fix id of a thermostat or NULL (default: NULL) </pre> </div> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>fix mtd all colvars peptide.colvars.inp seed 2122 input peptide.colvars.state output peptide fix abf all colvars colvars.inp tstat 1 </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>This fix interfaces LAMMPS to a “collective variables” or “colvars” module library which allows to calculate potentials of mean force (PMFs) for any set of colvars, using different sampling methods: currently implemented are the Adaptive Biasing Force (ABF) method, metadynamics, Steered Molecular Dynamics (SMD) and Umbrella Sampling (US) via a flexible harmonic restraint bias. The colvars library is hosted at <a class="reference external" href="http://colvars.github.io/">http://colvars.github.io/</a></p> <p>This documentation describes only the fix colvars command itself and LAMMPS specific parts of the code. The full documentation of the colvars library is available as <a class="reference external" href="PDF/colvars-refman-lammps.pdf">this supplementary PDF document</a></p> <p>A detailed discussion of the implementation of the portable collective variable library is in <a class="reference internal" href="#fiorin"><span>(Fiorin)</span></a>. Additional information can be found in <a class="reference internal" href="#henin"><span>(Henin)</span></a>.</p> <p>There are some example scripts for using this package with LAMMPS in the examples/USER/colvars directory.</p> <hr class="docutils" /> <p>The only mandatory argument to the fix is the filename to the colvars input file that contains the input that is independent from the MD program in which the colvars library has been integrated.</p> <p>The <em>group-ID</em> entry is ignored. The collective variable module will always apply to the entire system and there can only be one instance of the colvars fix at a time. The colvars fix will only communicate the minimum information necessary and the colvars library supports multiple, completely independent collective variables, so there is no restriction to functionaliry by limiting the number of colvars fixes.</p> <p>The <em>input</em> keyword allows to specify a state file that would contain the restart information required in order to continue a calculation from a prerecorded state. Fix colvars records it state in <a class="reference internal" href="restart.html"><em>binary restart</em></a> files, so when using the <a class="reference internal" href="read_restart.html"><em>read_restart</em></a> command, this is usually not needed.</p> <p>The <em>output</em> keyword allows to specify the output prefix. All output files generated will use this prefix followed by the ”.colvars.” and a word like “state” or “traj”.</p> <p>The <em>seed</em> keyword contains the seed for the random number generator that will be used in the colvars module.</p> <p>The <em>unwrap</em> keyword controls whether wrapped or unwrapped coordinates are passed to the colvars library for calculation of the collective variables and the resulting forces. The default is <em>yes</em>, i.e. to use the image flags to reconstruct the absolute atom positions. Setting this to <em>no</em> will use the current local coordinates that are wrapped back into the simulation cell at each re-neighboring instead.</p> <p>The <em>tstat</em> keyword can be either NULL or the label of a thermostating fix that thermostats all atoms in the fix colvars group. This will be used to provide the colvars module with the current thermostat target temperature.</p> </div> <div class="section" id="restart-fix-modify-output-run-start-stop-minimize-info"> <h2>Restart, fix_modify, output, run start/stop, minimize info<a class="headerlink" href="#restart-fix-modify-output-run-start-stop-minimize-info" title="Permalink to this headline">¶</a></h2> <p>This fix writes the current status of the colvars module into <a class="reference internal" href="restart.html"><em>binary restart files</em></a>. This is in addition to the text mode status file that is written by the colvars module itself and the kind of information in both files is identical.</p> <p>The <a class="reference internal" href="fix_modify.html"><em>fix_modify</em></a> <em>energy</em> option is supported by this fix to add the energy change from the biasing force added by the fix to the system’s potential energy as part of <a class="reference internal" href="thermo_style.html"><em>thermodynamic output</em></a>.</p> <p>This fix computes a global scalar which can be accessed by various <a class="reference internal" href="Section_howto.html#howto-15"><span>output commands</span></a>. The scalar is the cummulative energy change due to this fix. The scalar value calculated by this fix is “extensive”.</p> </div> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <p>This fix is part of the USER-COLVARS package. It is only enabled if LAMMPS was built with that package. See the <a class="reference internal" href="Section_start.html#start-3"><span>Making LAMMPS</span></a> section for more info.</p> <p>There can only be one colvars fix active at a time. Since the interface communicates only the minimum amount of information and colvars module itself can handle an arbitrary number of collective variables, this is not a limitation of functionality.</p> </div> <div class="section" id="related-commands"> <h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2> <p><a class="reference internal" href="fix_smd.html"><em>fix smd</em></a></p> </div> <div class="section" id="default"> <h2>Default<a class="headerlink" href="#default" title="Permalink to this headline">¶</a></h2> <p>The default options are input = NULL, output = out, seed = 1966, unwrap yes, and tstat = NULL.</p> <hr class="docutils" /> <p id="fiorin"><strong>(Fiorin)</strong> Fiorin , Klein, Henin, Mol. Phys., DOI:10.1080/00268976.2013.813594</p> <p id="henin"><strong>(Henin)</strong> Henin, Fiorin, Chipot, Klein, J. Chem. Theory Comput., 6, 35-47 (2010)</p> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/fix_deform.html b/doc/fix_deform.html index b49b4b7aa..7f7cf868b 100644 --- a/doc/fix_deform.html +++ b/doc/fix_deform.html @@ -1,707 +1,707 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>fix deform command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>fix deform command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="fix-deform-command"> <span id="index-0"></span><h1>fix deform command<a class="headerlink" href="#fix-deform-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>fix ID group-ID deform N parameter args ... keyword value ... </pre></div> </div> <ul class="simple"> <li>ID, group-ID are documented in <a class="reference internal" href="fix.html"><em>fix</em></a> command</li> <li>deform = style name of this fix command</li> <li>N = perform box deformation every this many timesteps</li> <li>one or more parameter/arg pairs may be appended</li> </ul> <pre class="literal-block"> parameter = <em>x</em> or <em>y</em> or <em>z</em> or <em>xy</em> or <em>xz</em> or <em>yz</em> <em>x</em>, <em>y</em>, <em>z</em> args = style value(s) style = <em>final</em> or <em>delta</em> or <em>scale</em> or <em>vel</em> or <em>erate</em> or <em>trate</em> or <em>volume</em> or <em>wiggle</em> or <em>variable</em> <em>final</em> values = lo hi lo hi = box boundaries at end of run (distance units) <em>delta</em> values = dlo dhi dlo dhi = change in box boundaries at end of run (distance units) <em>scale</em> values = factor factor = multiplicative factor for change in box length at end of run <em>vel</em> value = V V = change box length at this velocity (distance/time units), effectively an engineering strain rate <em>erate</em> value = R R = engineering strain rate (1/time units) <em>trate</em> value = R R = true strain rate (1/time units) <em>volume</em> value = none = adjust this dim to preserve volume of system <em>wiggle</em> values = A Tp A = amplitude of oscillation (distance units) Tp = period of oscillation (time units) <em>variable</em> values = v_name1 v_name2 v_name1 = variable with name1 for box length change as function of time v_name2 = variable with name2 for change rate as function of time <em>xy</em>, <em>xz</em>, <em>yz</em> args = style value style = <em>final</em> or <em>delta</em> or <em>vel</em> or <em>erate</em> or <em>trate</em> or <em>wiggle</em> <em>final</em> value = tilt tilt = tilt factor at end of run (distance units) <em>delta</em> value = dtilt dtilt = change in tilt factor at end of run (distance units) <em>vel</em> value = V V = change tilt factor at this velocity (distance/time units), effectively an engineering shear strain rate <em>erate</em> value = R R = engineering shear strain rate (1/time units) <em>trate</em> value = R R = true shear strain rate (1/time units) <em>wiggle</em> values = A Tp A = amplitude of oscillation (distance units) Tp = period of oscillation (time units) <em>variable</em> values = v_name1 v_name2 v_name1 = variable with name1 for tilt change as function of time v_name2 = variable with name2 for change rate as function of time </pre> <ul class="simple"> <li>zero or more keyword/value pairs may be appended</li> <li>keyword = <em>remap</em> or <em>flip</em> or <em>units</em></li> </ul> <pre class="literal-block"> <em>remap</em> value = <em>x</em> or <em>v</em> or <em>none</em> - x = remap coords of atoms in group into deforming box - v = remap velocities of all atoms when they cross periodic boundaries - none = no remapping of x or v - <em>flip</em> value = <em>yes</em> or <em>no</em> - allow or disallow box flips when it becomes highly skewed - <em>units</em> value = <em>lattice</em> or <em>box</em> - lattice = distances are defined in lattice units - box = distances are defined in simulation box units + x = remap coords of atoms in group into deforming box + v = remap velocities of all atoms when they cross periodic boundaries + none = no remapping of x or v +<em>flip</em> value = <em>yes</em> or <em>no</em> + allow or disallow box flips when it becomes highly skewed +<em>units</em> value = <em>lattice</em> or <em>box</em> + lattice = distances are defined in lattice units + box = distances are defined in simulation box units </pre> </div> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>fix 1 all deform 1 x final 0.0 9.0 z final 0.0 5.0 units box fix 1 all deform 1 x trate 0.1 y volume z volume fix 1 all deform 1 xy erate 0.001 remap v fix 1 all deform 10 y delta -0.5 0.5 xz vel 1.0 </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>Change the volume and/or shape of the simulation box during a dynamics run. Orthogonal simulation boxes have 3 adjustable parameters (x,y,z). Triclinic (non-orthogonal) simulation boxes have 6 adjustable parameters (x,y,z,xy,xz,yz). Any or all of them can be adjusted independently and simultaneously by this command. This fix can be used to perform non-equilibrium MD (NEMD) simulations of a continuously strained system. See the <a class="reference internal" href="fix_nvt_sllod.html"><em>fix nvt/sllod</em></a> and <a class="reference internal" href="compute_temp_deform.html"><em>compute temp/deform</em></a> commands for more details.</p> <p>For the <em>x</em>, <em>y</em>, <em>z</em> parameters, the associated dimension cannot be shrink-wrapped. For the <em>xy</em>, <em>yz</em>, <em>xz</em> parameters, the associated 2nd dimension cannot be shrink-wrapped. Dimensions not varied by this command can be periodic or non-periodic. Dimensions corresponding to unspecified parameters can also be controlled by a <a class="reference internal" href="fix_nh.html"><em>fix npt</em></a> or <a class="reference internal" href="fix_nh.html"><em>fix nph</em></a> command.</p> <p>The size and shape of the simulation box at the beginning of the simulation run were either specified by the <a class="reference internal" href="create_box.html"><em>create_box</em></a> or <a class="reference internal" href="read_data.html"><em>read_data</em></a> or <a class="reference internal" href="read_restart.html"><em>read_restart</em></a> command used to setup the simulation initially if it is the first run, or they are the values from the end of the previous run. The <a class="reference internal" href="create_box.html"><em>create_box</em></a>, <a class="reference internal" href="read_data.html"><em>read data</em></a>, and <a class="reference internal" href="read_restart.html"><em>read_restart</em></a> commands specify whether the simulation box is orthogonal or non-orthogonal (triclinic) and explain the meaning of the xy,xz,yz tilt factors. If fix deform changes the xy,xz,yz tilt factors, then the simulation box must be triclinic, even if its initial tilt factors are 0.0.</p> <p>As described below, the desired simulation box size and shape at the end of the run are determined by the parameters of the fix deform command. Every Nth timestep during the run, the simulation box is expanded, contracted, or tilted to ramped values between the initial and final values.</p> <hr class="docutils" /> <p>For the <em>x</em>, <em>y</em>, and <em>z</em> parameters, this is the meaning of their styles and values.</p> <p>The <em>final</em>, <em>delta</em>, <em>scale</em>, <em>vel</em>, and <em>erate</em> styles all change the specified dimension of the box via “constant displacement” which is effectively a “constant engineering strain rate”. This means the box dimension changes linearly with time from its initial to final value.</p> <p>For style <em>final</em>, the final lo and hi box boundaries of a dimension are specified. The values can be in lattice or box distance units. See the discussion of the units keyword below.</p> <p>For style <em>delta</em>, plus or minus changes in the lo/hi box boundaries of a dimension are specified. The values can be in lattice or box distance units. See the discussion of the units keyword below.</p> <p>For style <em>scale</em>, a multiplicative factor to apply to the box length of a dimension is specified. For example, if the initial box length is 10, and the factor is 1.1, then the final box length will be 11. A factor less than 1.0 means compression.</p> <p>For style <em>vel</em>, a velocity at which the box length changes is specified in units of distance/time. This is effectively a “constant engineering strain rate”, where rate = V/L0 and L0 is the initial box length. The distance can be in lattice or box distance units. See the discussion of the units keyword below. For example, if the initial box length is 100 Angstroms, and V is 10 Angstroms/psec, then after 10 psec, the box length will have doubled. After 20 psec, it will have tripled.</p> <p>The <em>erate</em> style changes a dimension of the the box at a “constant engineering strain rate”. The units of the specified strain rate are 1/time. See the <a class="reference internal" href="units.html"><em>units</em></a> command for the time units associated with different choices of simulation units, e.g. picoseconds for “metal” units). Tensile strain is unitless and is defined as delta/L0, where L0 is the original box length and delta is the change relative to the original length. The box length L as a function of time will change as</p> <div class="highlight-python"><div class="highlight"><pre><span class="n">L</span><span class="p">(</span><span class="n">t</span><span class="p">)</span> <span class="o">=</span> <span class="n">L0</span> <span class="p">(</span><span class="mi">1</span> <span class="o">+</span> <span class="n">erate</span><span class="o">*</span><span class="n">dt</span><span class="p">)</span> </pre></div> </div> <p>where dt is the elapsed time (in time units). Thus if <em>erate</em> R is specified as 0.1 and time units are picoseconds, this means the box length will increase by 10% of its original length every picosecond. I.e. strain after 1 psec = 0.1, strain after 2 psec = 0.2, etc. R = -0.01 means the box length will shrink by 1% of its original length every picosecond. Note that for an “engineering” rate the change is based on the original box length, so running with R = 1 for 10 picoseconds expands the box length by a factor of 11 (strain of 10), which is different that what the <em>trate</em> style would induce.</p> <p>The <em>trate</em> style changes a dimension of the box at a “constant true strain rate”. Note that this is not an “engineering strain rate”, as the other styles are. Rather, for a “true” rate, the rate of change is constant, which means the box dimension changes non-linearly with time from its initial to final value. The units of the specified strain rate are 1/time. See the <a class="reference internal" href="units.html"><em>units</em></a> command for the time units associated with different choices of simulation units, e.g. picoseconds for “metal” units). Tensile strain is unitless and is defined as delta/L0, where L0 is the original box length and delta is the change relative to the original length.</p> <p>The box length L as a function of time will change as</p> <div class="highlight-python"><div class="highlight"><pre>L(t) = L0 exp(trate*dt) </pre></div> </div> <p>where dt is the elapsed time (in time units). Thus if <em>trate</em> R is specified as ln(1.1) and time units are picoseconds, this means the box length will increase by 10% of its current (not original) length every picosecond. I.e. strain after 1 psec = 0.1, strain after 2 psec = 0.21, etc. R = ln(2) or ln(3) means the box length will double or triple every picosecond. R = ln(0.99) means the box length will shrink by 1% of its current length every picosecond. Note that for a “true” rate the change is continuous and based on the current length, so running with R = ln(2) for 10 picoseconds does not expand the box length by a factor of 11 as it would with <em>erate</em>, but by a factor of 1024 since the box length will double every picosecond.</p> <p>Note that to change the volume (or cross-sectional area) of the simulation box at a constant rate, you can change multiple dimensions via <em>erate</em> or <em>trate</em>. E.g. to double the box volume in a picosecond picosecond, you could set “x erate M”, “y erate M”, “z erate M”, with M = pow(2,1/3) - 1 = 0.26, since if each box dimension grows by 26%, the box volume doubles. Or you could set “x trate M”, “y trate M”, “z trate M”, with M = ln(1.26) = 0.231, and the box volume would double every picosecond.</p> <p>The <em>volume</em> style changes the specified dimension in such a way that the box volume remains constant while other box dimensions are changed explicitly via the styles discussed above. For example, “x scale 1.1 y scale 1.1 z volume” will shrink the z box length as the x,y box lengths increase, to keep the volume constant (product of x,y,z lengths). If “x scale 1.1 z volume” is specified and parameter <em>y</em> is unspecified, then the z box length will shrink as x increases to keep the product of x,z lengths constant. If “x scale 1.1 y volume z volume” is specified, then both the y,z box lengths will shrink as x increases to keep the volume constant (product of x,y,z lengths). In this case, the y,z box lengths shrink so as to keep their relative aspect ratio constant.</p> <p>For solids or liquids, note that when one dimension of the box is expanded via fix deform (i.e. tensile strain), it may be physically undesirable to hold the other 2 box lengths constant (unspecified by fix deform) since that implies a density change. Using the <em>volume</em> style for those 2 dimensions to keep the box volume constant may make more physical sense, but may also not be correct for materials and potentials whose Poisson ratio is not 0.5. An alternative is to use <a class="reference internal" href="fix_nh.html"><em>fix npt aniso</em></a> with zero applied pressure on those 2 dimensions, so that they respond to the tensile strain dynamically.</p> <p>The <em>wiggle</em> style oscillates the specified box length dimension sinusoidally with the specified amplitude and period. I.e. the box length L as a function of time is given by</p> <div class="highlight-python"><div class="highlight"><pre>L(t) = L0 + A sin(2*pi t/Tp) </pre></div> </div> <p>where L0 is its initial length. If the amplitude A is a positive number the box initially expands, then contracts, etc. If A is negative then the box initially contracts, then expands, etc. The amplitude can be in lattice or box distance units. See the discussion of the units keyword below.</p> <p>The <em>variable</em> style changes the specified box length dimension by evaluating a variable, which presumably is a function of time. The variable with <em>name1</em> must be an <a class="reference internal" href="variable.html"><em>equal-style variable</em></a> and should calculate a change in box length in units of distance. Note that this distance is in box units, not lattice units; see the discussion of the <em>units</em> keyword below. The formula associated with variable <em>name1</em> can reference the current timestep. Note that it should return the “change” in box length, not the absolute box length. This means it should evaluate to 0.0 when invoked on the initial timestep of the run following the definition of fix deform. It should evaluate to a value > 0.0 to dilate the box at future times, or a value < 0.0 to compress the box.</p> <p>The variable <em>name2</em> must also be an <a class="reference internal" href="variable.html"><em>equal-style variable</em></a> and should calculate the rate of box length change, in units of distance/time, i.e. the time-derivative of the <em>name1</em> variable. This quantity is used internally by LAMMPS to reset atom velocities when they cross periodic boundaries. It is computed internally for the other styles, but you must provide it when using an arbitrary variable.</p> <p>Here is an example of using the <em>variable</em> style to perform the same box deformation as the <em>wiggle</em> style formula listed above, where we assume that the current timestep = 0.</p> <div class="highlight-python"><div class="highlight"><pre>variable A equal 5.0 variable Tp equal 10.0 variable displace equal "v_A * sin(2*PI * step*dt/v_Tp)" variable rate equal "2*PI*v_A/v_Tp * cos(2*PI * step*dt/v_Tp)" fix 2 all deform 1 x variable v_displace v_rate remap v </pre></div> </div> <p>For the <em>scale</em>, <em>vel</em>, <em>erate</em>, <em>trate</em>, <em>volume</em>, <em>wiggle</em>, and <em>variable</em> styles, the box length is expanded or compressed around its mid point.</p> <hr class="docutils" /> <p>For the <em>xy</em>, <em>xz</em>, and <em>yz</em> parameters, this is the meaning of their styles and values. Note that changing the tilt factors of a triclinic box does not change its volume.</p> <p>The <em>final</em>, <em>delta</em>, <em>vel</em>, and <em>erate</em> styles all change the shear strain at a “constant engineering shear strain rate”. This means the tilt factor changes linearly with time from its initial to final value.</p> <p>For style <em>final</em>, the final tilt factor is specified. The value can be in lattice or box distance units. See the discussion of the units keyword below.</p> <p>For style <em>delta</em>, a plus or minus change in the tilt factor is specified. The value can be in lattice or box distance units. See the discussion of the units keyword below.</p> <p>For style <em>vel</em>, a velocity at which the tilt factor changes is specified in units of distance/time. This is effectively an “engineering shear strain rate”, where rate = V/L0 and L0 is the initial box length perpendicular to the direction of shear. The distance can be in lattice or box distance units. See the discussion of the units keyword below. For example, if the initial tilt factor is 5 Angstroms, and the V is 10 Angstroms/psec, then after 1 psec, the tilt factor will be 15 Angstroms. After 2 psec, it will be 25 Angstroms.</p> <p>The <em>erate</em> style changes a tilt factor at a “constant engineering shear strain rate”. The units of the specified shear strain rate are 1/time. See the <a class="reference internal" href="units.html"><em>units</em></a> command for the time units associated with different choices of simulation units, e.g. picoseconds for “metal” units). Shear strain is unitless and is defined as offset/length, where length is the box length perpendicular to the shear direction (e.g. y box length for xy deformation) and offset is the displacement distance in the shear direction (e.g. x direction for xy deformation) from the unstrained orientation.</p> <p>The tilt factor T as a function of time will change as</p> <div class="highlight-python"><div class="highlight"><pre><span class="n">T</span><span class="p">(</span><span class="n">t</span><span class="p">)</span> <span class="o">=</span> <span class="n">T0</span> <span class="o">+</span> <span class="n">L0</span><span class="o">*</span><span class="n">erate</span><span class="o">*</span><span class="n">dt</span> </pre></div> </div> <p>where T0 is the initial tilt factor, L0 is the original length of the box perpendicular to the shear direction (e.g. y box length for xy deformation), and dt is the elapsed time (in time units). Thus if <em>erate</em> R is specified as 0.1 and time units are picoseconds, this means the shear strain will increase by 0.1 every picosecond. I.e. if the xy shear strain was initially 0.0, then strain after 1 psec = 0.1, strain after 2 psec = 0.2, etc. Thus the tilt factor would be 0.0 at time 0, 0.1*ybox at 1 psec, 0.2*ybox at 2 psec, etc, where ybox is the original y box length. R = 1 or 2 means the tilt factor will increase by 1 or 2 every picosecond. R = -0.01 means a decrease in shear strain by 0.01 every picosecond.</p> <p>The <em>trate</em> style changes a tilt factor at a “constant true shear strain rate”. Note that this is not an “engineering shear strain rate”, as the other styles are. Rather, for a “true” rate, the rate of change is constant, which means the tilt factor changes non-linearly with time from its initial to final value. The units of the specified shear strain rate are 1/time. See the <a class="reference internal" href="units.html"><em>units</em></a> command for the time units associated with different choices of simulation units, e.g. picoseconds for “metal” units). Shear strain is unitless and is defined as offset/length, where length is the box length perpendicular to the shear direction (e.g. y box length for xy deformation) and offset is the displacement distance in the shear direction (e.g. x direction for xy deformation) from the unstrained orientation.</p> <p>The tilt factor T as a function of time will change as</p> <div class="highlight-python"><div class="highlight"><pre>T(t) = T0 exp(trate*dt) </pre></div> </div> <p>where T0 is the initial tilt factor and dt is the elapsed time (in time units). Thus if <em>trate</em> R is specified as ln(1.1) and time units are picoseconds, this means the shear strain or tilt factor will increase by 10% every picosecond. I.e. if the xy shear strain was initially 0.1, then strain after 1 psec = 0.11, strain after 2 psec = 0.121, etc. R = ln(2) or ln(3) means the tilt factor will double or triple every picosecond. R = ln(0.99) means the tilt factor will shrink by 1% every picosecond. Note that the change is continuous, so running with R = ln(2) for 10 picoseconds does not change the tilt factor by a factor of 10, but by a factor of 1024 since it doubles every picosecond. Note that the initial tilt factor must be non-zero to use the <em>trate</em> option.</p> <p>Note that shear strain is defined as the tilt factor divided by the perpendicular box length. The <em>erate</em> and <em>trate</em> styles control the tilt factor, but assume the perpendicular box length remains constant. If this is not the case (e.g. it changes due to another fix deform parameter), then this effect on the shear strain is ignored.</p> <p>The <em>wiggle</em> style oscillates the specified tilt factor sinusoidally with the specified amplitude and period. I.e. the tilt factor T as a function of time is given by</p> <div class="highlight-python"><div class="highlight"><pre>T(t) = T0 + A sin(2*pi t/Tp) </pre></div> </div> <p>where T0 is its initial value. If the amplitude A is a positive number the tilt factor initially becomes more positive, then more negative, etc. If A is negative then the tilt factor initially becomes more negative, then more positive, etc. The amplitude can be in lattice or box distance units. See the discussion of the units keyword below.</p> <p>The <em>variable</em> style changes the specified tilt factor by evaluating a variable, which presumably is a function of time. The variable with <em>name1</em> must be an <a class="reference internal" href="variable.html"><em>equal-style variable</em></a> and should calculate a change in tilt in units of distance. Note that this distance is in box units, not lattice units; see the discussion of the <em>units</em> keyword below. The formula associated with variable <em>name1</em> can reference the current timestep. Note that it should return the “change” in tilt factor, not the absolute tilt factor. This means it should evaluate to 0.0 when invoked on the initial timestep of the run following the definition of fix deform.</p> <p>The variable <em>name2</em> must also be an <a class="reference internal" href="variable.html"><em>equal-style variable</em></a> and should calculate the rate of tilt change, in units of distance/time, i.e. the time-derivative of the <em>name1</em> variable. This quantity is used internally by LAMMPS to reset atom velocities when they cross periodic boundaries. It is computed internally for the other styles, but you must provide it when using an arbitrary variable.</p> <p>Here is an example of using the <em>variable</em> style to perform the same box deformation as the <em>wiggle</em> style formula listed above, where we assume that the current timestep = 0.</p> <div class="highlight-python"><div class="highlight"><pre>variable A equal 5.0 variable Tp equal 10.0 variable displace equal "v_A * sin(2*PI * step*dt/v_Tp)" variable rate equal "2*PI*v_A/v_Tp * cos(2*PI * step*dt/v_Tp)" fix 2 all deform 1 xy variable v_displace v_rate remap v </pre></div> </div> <hr class="docutils" /> <p>All of the tilt styles change the xy, xz, yz tilt factors during a simulation. In LAMMPS, tilt factors (xy,xz,yz) for triclinic boxes are normally bounded by half the distance of the parallel box length. See the discussion of the <em>flip</em> keyword below, to allow this bound to be exceeded, if desired.</p> <p>For example, if xlo = 2 and xhi = 12, then the x box length is 10 and the xy tilt factor must be between -5 and 5. Similarly, both xz and yz must be between -(xhi-xlo)/2 and +(yhi-ylo)/2. Note that this is not a limitation, since if the maximum tilt factor is 5 (as in this example), then configurations with tilt = ..., -15, -5, 5, 15, 25, ... are all equivalent.</p> <p>To obey this constraint and allow for large shear deformations to be applied via the <em>xy</em>, <em>xz</em>, or <em>yz</em> parameters, the following algorithm is used. If <em>prd</em> is the associated parallel box length (10 in the example above), then if the tilt factor exceeds the accepted range of -5 to 5 during the simulation, then the box is flipped to the other limit (an equivalent box) and the simulation continues. Thus for this example, if the initial xy tilt factor was 0.0 and “xy final 100.0” was specified, then during the simulation the xy tilt factor would increase from 0.0 to 5.0, the box would be flipped so that the tilt factor becomes -5.0, the tilt factor would increase from -5.0 to 5.0, the box would be flipped again, etc. The flip occurs 10 times and the final tilt factor at the end of the simulation would be 0.0. During each flip event, atoms are remapped into the new box in the appropriate manner.</p> <p>The one exception to this rule is if the 1st dimension in the tilt factor (x for xy) is non-periodic. In that case, the limits on the tilt factor are not enforced, since flipping the box in that dimension does not change the atom positions due to non-periodicity. In this mode, if you tilt the system to extreme angles, the simulation will simply become inefficient due to the highly skewed simulation box.</p> <hr class="docutils" /> <p>Each time the box size or shape is changed, the <em>remap</em> keyword determines whether atom positions are remapped to the new box. If <em>remap</em> is set to <em>x</em> (the default), atoms in the fix group are remapped; otherwise they are not. Note that their velocities are not changed, just their positions are altered. If <em>remap</em> is set to <em>v</em>, then any atom in the fix group that crosses a periodic boundary will have a delta added to its velocity equal to the difference in velocities between the lo and hi boundaries. Note that this velocity difference can include tilt components, e.g. a delta in the x velocity when an atom crosses the y periodic boundary. If <em>remap</em> is set to <em>none</em>, then neither of these remappings take place.</p> <p>Conceptually, setting <em>remap</em> to <em>x</em> forces the atoms to deform via an affine transformation that exactly matches the box deformation. This setting is typically appropriate for solids. Note that though the atoms are effectively “moving” with the box over time, it is not due to their having a velocity that tracks the box change, but only due to the remapping. By contrast, setting <em>remap</em> to <em>v</em> is typically appropriate for fluids, where you want the atoms to respond to the change in box size/shape on their own and acquire a velocity that matches the box change, so that their motion will naturally track the box without explicit remapping of their coordinates.</p> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">When non-equilibrium MD (NEMD) simulations are performed using this fix, the option “remap v” should normally be used. This is because <a class="reference internal" href="fix_nvt_sllod.html"><em>fix nvt/sllod</em></a> adjusts the atom positions and velocities to induce a velocity profile that matches the changing box size/shape. Thus atom coordinates should NOT be remapped by fix deform, but velocities SHOULD be when atoms cross periodic boundaries, since that is consistent with maintaining the velocity profile already created by fix nvt/sllod. LAMMPS will warn you if the <em>remap</em> setting is not consistent with fix nvt/sllod.</p> </div> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">For non-equilibrium MD (NEMD) simulations using “remap v” it is usually desirable that the fluid (or flowing material, e.g. granular particles) stream with a velocity profile consistent with the deforming box. As mentioned above, using a thermostat such as <a class="reference internal" href="fix_nvt_sllod.html"><em>fix nvt/sllod</em></a> or <code class="xref doc docutils literal"><span class="pre">fix</span> <span class="pre">lavgevin</span></code> (with a bias provided by <a class="reference internal" href="compute_temp_deform.html"><em>compute temp/deform</em></a>), will typically accomplish that. If you do not use a thermostat, then there is no driving force pushing the atoms to flow in a manner consistent with the deforming box. E.g. for a shearing system the box deformation velocity may vary from 0 at the bottom to 10 at the top of the box. But the stream velocity profile of the atoms may vary from -5 at the bottom to +5 at the top. You can monitor these effects using the <a class="reference internal" href="fix_ave_spatial.html"><em>fix ave/spatial</em></a>, <a class="reference internal" href="compute_temp_deform.html"><em>compute temp/deform</em></a>, and <a class="reference internal" href="compute_temp_profile.html"><em>compute temp/profile</em></a> commands. One way to induce atoms to stream consistent with the box deformation is to give them an initial velocity profile, via the <a class="reference internal" href="velocity.html"><em>velocity ramp</em></a> command, that matches the box deformation rate. This also typically helps the system come to equilibrium more quickly, even if a thermostat is used.</p> </div> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">If a <a class="reference internal" href="fix_rigid.html"><em>fix rigid</em></a> is defined for rigid bodies, and <em>remap</em> is set to <em>x</em>, then the center-of-mass coordinates of rigid bodies will be remapped to the changing simulation box. This will be done regardless of whether atoms in the rigid bodies are in the fix deform group or not. The velocity of the centers of mass are not remapped even if <em>remap</em> is set to <em>v</em>, since <a class="reference internal" href="fix_nvt_sllod.html"><em>fix nvt/sllod</em></a> does not currently do anything special for rigid particles. If you wish to perform a NEMD simulation of rigid particles, you can either thermostat them independently or include a background fluid and thermostat the fluid via <a class="reference internal" href="fix_nvt_sllod.html"><em>fix nvt/sllod</em></a>.</p> </div> <p>The <em>flip</em> keyword allows the tilt factors for a triclinic box to exceed half the distance of the parallel box length, as discussed above. If the <em>flip</em> value is set to <em>yes</em>, the bound is enforced by flipping the box when it is exceeded. If the <em>flip</em> value is set to <em>no</em>, the tilt will continue to change without flipping. Note that if you apply large deformations, this means the box shape can tilt dramatically LAMMPS will run less efficiently, due to the large volume of communication needed to acquire ghost atoms around a processor’s irregular-shaped sub-domain. For extreme values of tilt, LAMMPS may also lose atoms and generate an error.</p> <p>The <em>units</em> keyword determines the meaning of the distance units used to define various arguments. A <em>box</em> value selects standard distance units as defined by the <a class="reference internal" href="units.html"><em>units</em></a> command, e.g. Angstroms for units = real or metal. A <em>lattice</em> value means the distance units are in lattice spacings. The <a class="reference internal" href="lattice.html"><em>lattice</em></a> command must have been previously used to define the lattice spacing. Note that the units choice also affects the <em>vel</em> style parameters since it is defined in terms of distance/time. Also note that the units keyword does not affect the <em>variable</em> style. You should use the <em>xlat</em>, <em>ylat</em>, <em>zlat</em> keywords of the <a class="reference internal" href="thermo_style.html"><em>thermo_style</em></a> command if you want to include lattice spacings in a variable formula.</p> </div> <div class="section" id="restart-fix-modify-output-run-start-stop-minimize-info"> <h2>Restart, fix_modify, output, run start/stop, minimize info<a class="headerlink" href="#restart-fix-modify-output-run-start-stop-minimize-info" title="Permalink to this headline">¶</a></h2> <p>No information about this fix is written to <a class="reference internal" href="restart.html"><em>binary restart files</em></a>. None of the <a class="reference internal" href="fix_modify.html"><em>fix_modify</em></a> options are relevant to this fix. No global or per-atom quantities are stored by this fix for access by various <a class="reference internal" href="Section_howto.html#howto-15"><span>output commands</span></a>.</p> <p>This fix can perform deformation over multiple runs, using the <em>start</em> and <em>stop</em> keywords of the <a class="reference internal" href="run.html"><em>run</em></a> command. See the <a class="reference internal" href="run.html"><em>run</em></a> command for details of how to do this.</p> <p>This fix is not invoked during <a class="reference internal" href="minimize.html"><em>energy minimization</em></a>.</p> </div> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <p>You cannot apply x, y, or z deformations to a dimension that is shrink-wrapped via the <a class="reference internal" href="boundary.html"><em>boundary</em></a> comamnd.</p> <p>You cannot apply xy, yz, or xz deformations to a 2nd dimension (y in xy) that is shrink-wrapped via the <a class="reference internal" href="boundary.html"><em>boundary</em></a> comamnd.</p> </div> <div class="section" id="related-commands"> <h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2> <p><a class="reference internal" href="change_box.html"><em>change_box</em></a></p> </div> <div class="section" id="default"> <h2>Default<a class="headerlink" href="#default" title="Permalink to this headline">¶</a></h2> <p>The option defaults are remap = x, flip = yes, and units = lattice.</p> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/fix_deposit.html b/doc/fix_deposit.html index e586ff546..1f38c377e 100644 --- a/doc/fix_deposit.html +++ b/doc/fix_deposit.html @@ -1,449 +1,449 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>fix deposit command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>fix deposit command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="fix-deposit-command"> <span id="index-0"></span><h1>fix deposit command<a class="headerlink" href="#fix-deposit-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>fix ID group-ID deposit N type M seed keyword values ... </pre></div> </div> <ul class="simple"> <li>ID, group-ID are documented in <a class="reference internal" href="fix.html"><em>fix</em></a> command</li> <li>deposit = style name of this fix command</li> <li>N = # of atoms or molecules to insert</li> <li>type = atom type to assign to inserted atoms (offset for moleclue insertion)</li> <li>M = insert a single atom or molecule every M steps</li> <li>seed = random # seed (positive integer)</li> <li>one or more keyword/value pairs may be appended to args</li> <li>keyword = <em>region</em> or <em>id</em> or <em>global</em> or <em>local</em> or <em>near</em> or <em>attempt</em> or <em>rate</em> or <em>vx</em> or <em>vy</em> or <em>vz</em> or <em>mol</em> or <em>rigid</em> or <em>shake</em> or <em>units</em></li> </ul> <pre class="literal-block"> <em>region</em> value = region-ID - region-ID = ID of region to use as insertion volume - <em>id</em> value = <em>max</em> or <em>next</em> - max = atom ID for new atom(s) is max ID of all current atoms plus one - next = atom ID for new atom(s) increments by one for every deposition - <em>global</em> values = lo hi - lo,hi = put new atom/molecule a distance lo-hi above all other atoms (distance units) - <em>local</em> values = lo hi delta - lo,hi = put new atom/molecule a distance lo-hi above any nearby atom beneath it (distance units) - delta = lateral distance within which a neighbor is considered "nearby" (distance units) - <em>near</em> value = R - R = only insert atom/molecule if further than R from existing particles (distance units) - <em>attempt</em> value = Q - Q = attempt a single insertion up to Q times - <em>rate</em> value = V - V = z velocity (y in 2d) at which insertion volume moves (velocity units) - <em>vx</em> values = vxlo vxhi - vxlo,vxhi = range of x velocities for inserted atom/molecule (velocity units) - <em>vy</em> values = vylo vyhi - vylo,vyhi = range of y velocities for inserted atom/molecule (velocity units) - <em>vz</em> values = vzlo vzhi - vzlo,vzhi = range of z velocities for inserted atom/molecule (velocity units) - <em>target</em> values = tx ty tz - tx,ty,tz = location of target point (distance units) - <em>mol</em> value = template-ID - template-ID = ID of molecule template specified in a separate <a class="reference internal" href="molecule.html"><em>molecule</em></a> command - <em>molfrac</em> values = f1 f2 ... fN - f1 to fN = relative probability of creating each of N molecules in template-ID - <em>rigid</em> value = fix-ID - fix-ID = ID of <a class="reference internal" href="fix_rigid.html"><em>fix rigid/small</em></a> command - <em>shake</em> value = fix-ID - fix-ID = ID of <a class="reference internal" href="fix_shake.html"><em>fix shake</em></a> command - <em>units</em> value = <em>lattice</em> or <em>box</em> - lattice = the geometry is defined in lattice units - box = the geometry is defined in simulation box units + region-ID = ID of region to use as insertion volume +<em>id</em> value = <em>max</em> or <em>next</em> + max = atom ID for new atom(s) is max ID of all current atoms plus one + next = atom ID for new atom(s) increments by one for every deposition +<em>global</em> values = lo hi + lo,hi = put new atom/molecule a distance lo-hi above all other atoms (distance units) +<em>local</em> values = lo hi delta + lo,hi = put new atom/molecule a distance lo-hi above any nearby atom beneath it (distance units) + delta = lateral distance within which a neighbor is considered "nearby" (distance units) +<em>near</em> value = R + R = only insert atom/molecule if further than R from existing particles (distance units) +<em>attempt</em> value = Q + Q = attempt a single insertion up to Q times +<em>rate</em> value = V + V = z velocity (y in 2d) at which insertion volume moves (velocity units) +<em>vx</em> values = vxlo vxhi + vxlo,vxhi = range of x velocities for inserted atom/molecule (velocity units) +<em>vy</em> values = vylo vyhi + vylo,vyhi = range of y velocities for inserted atom/molecule (velocity units) +<em>vz</em> values = vzlo vzhi + vzlo,vzhi = range of z velocities for inserted atom/molecule (velocity units) +<em>target</em> values = tx ty tz + tx,ty,tz = location of target point (distance units) +<em>mol</em> value = template-ID + template-ID = ID of molecule template specified in a separate <a class="reference internal" href="molecule.html"><em>molecule</em></a> command +<em>molfrac</em> values = f1 f2 ... fN + f1 to fN = relative probability of creating each of N molecules in template-ID +<em>rigid</em> value = fix-ID + fix-ID = ID of <a class="reference internal" href="fix_rigid.html"><em>fix rigid/small</em></a> command +<em>shake</em> value = fix-ID + fix-ID = ID of <a class="reference internal" href="fix_shake.html"><em>fix shake</em></a> command +<em>units</em> value = <em>lattice</em> or <em>box</em> + lattice = the geometry is defined in lattice units + box = the geometry is defined in simulation box units </pre> </div> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>fix 3 all deposit 1000 2 100 29494 region myblock local 1.0 1.0 1.0 units box fix 2 newatoms deposit 10000 1 500 12345 region disk near 2.0 vz -1.0 -0.8 fix 4 sputter deposit 1000 2 500 12235 region sphere vz -1.0 -1.0 target 5.0 5.0 0.0 units lattice </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>Insert a single atom or molecule into the simulation domain every M timesteps until N atoms or molecules have been inserted. This is useful for simulating deposition onto a surface. For the remainder of this doc page, a single inserted atom or molecule is referred to as a “particle”.</p> <p>If inserted particles are individual atoms, they are assigned the specified atom type. If they are molecules, the type of each atom in the inserted molecule is specified in the file read by the <a class="reference internal" href="molecule.html"><em>molecule</em></a> command, and those values are added to the specified atom type. E.g. if the file specifies atom types 1,2,3, and those are the atom types you want for inserted molecules, then specify <em>type</em> = 0. If you specify <em>type</em> = 2, the in the inserted molecule will have atom types 3,4,5.</p> <p>All atoms in the inserted particle are assigned to two groups: the default group “all” and the group specified in the fix deposit command (which can also be “all”).</p> <p>If you are computing temperature values which include inserted particles, you will want to use the <a class="reference internal" href="compute_modify.html"><em>compute_modify</em></a> dynamic option, which insures the current number of atoms is used as a normalizing factor each time the temperature is computed.</p> <p>Care must be taken that inserted particles are not too near existing atoms, using the options described below. When inserting particles above a surface in a non-periodic box (see the <a class="reference internal" href="boundary.html"><em>boundary</em></a> command), the possibility of a particle escaping the surface and flying upward should be considered, since the particle may be lost or the box size may grow infinitely large. A <a class="reference internal" href="fix_wall_reflect.html"><em>fix wall/reflect</em></a> command can be used to prevent this behavior. Note that if a shrink-wrap boundary is used, it is OK to insert the new particle outside the box, however the box will immediately be expanded to include the new particle. When simulating a sputtering experiment it is probably more realistic to ignore those atoms using the <a class="reference internal" href="thermo_modify.html"><em>thermo_modify</em></a> command with the <em>lost ignore</em> option and a fixed <a class="reference internal" href="boundary.html"><em>boundary</em></a>.</p> <p>The fix deposit command must use the <em>region</em> keyword to define an insertion volume. The specified region must have been previously defined with a <a class="reference internal" href="region.html"><em>region</em></a> command. It must be defined with side = <em>in</em>.</p> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">LAMMPS checks that the specified region is wholly inside the simulation box. It can do this correctly for orthonormal simulation boxes. However for <a class="reference internal" href="Section_howto.html#howto-12"><span>triclinic boxes</span></a>, it only tests against the larger orthonormal box that bounds the tilted simulation box. If the specified region includes volume outside the tilted box, then an insertion will likely fail, leading to a “lost atoms” error. Thus for triclinic boxes you should insure the specified region is wholly inside the simulation box.</p> </div> <p>Individual atoms are inserted, unless the <em>mol</em> keyword is used. It specifies a <em>template-ID</em> previously defined using the <a class="reference internal" href="molecule.html"><em>molecule</em></a> command, which reads files that define one or more molecules. The coordinates, atom types, charges, etc, as well as any bond/angle/etc and special neighbor information for the molecule can be specified in the molecule file. See the <a class="reference internal" href="molecule.html"><em>molecule</em></a> command for details. The only settings required to be in each file are the coordinates and types of atoms in the molecule.</p> <p>If the molecule template contains more than one molecule, the relative probability of depositing each molecule can be specified by the <em>molfrac</em> keyword. N relative probablities, each from 0.0 to 1.0, are specified, where N is the number of molecules in the template. Each time a molecule is deposited, a random number is used to sample from the list of relative probabilities. The N values must sum to 1.0.</p> <p>If you wish to insert molecules via the <em>mol</em> keyword, that will be treated as rigid bodies, use the <em>rigid</em> keyword, specifying as its value the ID of a separate <code class="xref doc docutils literal"><span class="pre">fix</span> <span class="pre">rigid/small</span></code> command which also appears in your input script.</p> <p>If you wish to insert molecules via the <em>mol</em> keyword, that will have their bonds or angles constrained via SHAKE, use the <em>shake</em> keyword, specifying as its value the ID of a separate <a class="reference internal" href="fix_shake.html"><em>fix shake</em></a> command which also appears in your input script.</p> <p>Each timestep a particle is inserted, the coordinates for its atoms are chosen as follows. For insertion of individual atoms, the “position” referred to in the following description is the coordinate of the atom. For insertion of molecule, the “position” is the geometric center of the molecule; see the <a class="reference internal" href="molecule.html"><em>molecule</em></a> doc page for details. A random rotation of the molecule around its center point is performed, which determines the coordinates all the individual atoms.</p> <p>A random position within the region insertion volume is generated. If neither the <em>global</em> or <em>local</em> keyword is used, the random position is the trial position. If the <em>global</em> keyword is used, the random x,y values are used, but the z position of the new particle is set above the highest current atom in the simulation by a distance randomly chosen between lo/hi. (For a 2d simulation, this is done for the y position.) If the <em>local</em> keyword is used, the z position is set a distance between lo/hi above the highest current atom in the simulation that is “nearby” the chosen x,y position. In this context, “nearby” means the lateral distance (in x,y) between the new and old particles is less than the <em>delta</em> setting.</p> <p>Once a trial x,y,z position has been selected, the insertion is only performed if no current atom in the simulation is within a distance R of any atom in the new particle, including the effect of periodic boundary conditions if applicable. R is defined by the <em>near</em> keyword. Note that the default value for R is 0.0, which will allow atoms to strongly overlap if you are inserting where other atoms are present. This distance test is performed independently for each atom in an inserted molecule, based on the randomly rotated configuration of the molecule. If this test fails, a new random position within the insertion volume is chosen and another trial is made. Up to Q attempts are made. If the particle is not successfully inserted, LAMMPS prints a warning message.</p> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">If you are inserting finite size particles or a molecule or rigid body consisting of finite-size particles, then you should typically set R larger than the distance at which any inserted particle may overlap with either a previouly inserted particle or an existing particle. LAMMPS will issue a warning if R is smaller than this value, based on the radii of existing and inserted particles.</p> </div> <p>The <em>rate</em> option moves the insertion volume in the z direction (3d) or y direction (2d). This enables particles to be inserted from a successively higher height over time. Note that this parameter is ignored if the <em>global</em> or <em>local</em> keywords are used, since those options choose a z-coordinate for insertion independently.</p> <p>The vx, vy, and vz components of velocity for the inserted particle are set using the values specified for the <em>vx</em>, <em>vy</em>, and <em>vz</em> keywords. Note that normally, new particles should be a assigned a negative vertical velocity so that they move towards the surface. For molecules, the same velocity is given to every particle (no rotation or bond vibration).</p> <p>If the <em>target</em> option is used, the velocity vector of the inserted particle is changed so that it points from the insertion position towards the specified target point. The magnitude of the velocity is unchanged. This can be useful, for example, for simulating a sputtering process. E.g. the target point can be far away, so that all incident particles strike the surface as if they are in an incident beam of particles at a prescribed angle.</p> <p>The <em>id</em> keyword determines how atom IDs and molecule IDs are assigned to newly deposited particles. Molecule IDs are only assigned if molecules are being inserted. For the <em>max</em> setting, the atom and molecule IDs of all current atoms are checked. Atoms in the new particle are assigned IDs starting with the current maximum plus one. If a molecule is inserted it is assigned an ID = current maximum plus one. This means that if particles leave the system, the new IDs may replace the lost ones. For the <em>next</em> setting, the maximum ID of any atom and molecule is stored at the time the fix is defined. Each time a new particle is added, this value is incremented to assign IDs to the new atom(s) or molecule. Thus atom and molecule IDs for deposited particles will be consecutive even if particles leave the system over time.</p> <p>The <em>units</em> keyword determines the meaning of the distance units used for the other deposition parameters. A <em>box</em> value selects standard distance units as defined by the <a class="reference internal" href="units.html"><em>units</em></a> command, e.g. Angstroms for units = real or metal. A <em>lattice</em> value means the distance units are in lattice spacings. The <a class="reference internal" href="lattice.html"><em>lattice</em></a> command must have been previously used to define the lattice spacing. Note that the units choice affects all the keyword values that have units of distance or velocity.</p> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">If you are monitoring the temperature of a system where the atom count is changing due to adding particles, you typically should use the <a class="reference internal" href="compute_modify.html"><em>compute_modify dynamic yes</em></a> command for the temperature compute you are using.</p> </div> </div> <div class="section" id="restart-fix-modify-output-run-start-stop-minimize-info"> <h2>Restart, fix_modify, output, run start/stop, minimize info<a class="headerlink" href="#restart-fix-modify-output-run-start-stop-minimize-info" title="Permalink to this headline">¶</a></h2> <p>This fix writes the state of the deposition to <a class="reference internal" href="restart.html"><em>binary restart files</em></a>. This includes information about how many particles have been depositied, the random number generator seed, the next timestep for deposition, etc. See the <a class="reference internal" href="read_restart.html"><em>read_restart</em></a> command for info on how to re-specify a fix in an input script that reads a restart file, so that the operation of the fix continues in an uninterrupted fashion.</p> <p>None of the <a class="reference internal" href="fix_modify.html"><em>fix_modify</em></a> options are relevant to this fix. No global or per-atom quantities are stored by this fix for access by various <a class="reference internal" href="Section_howto.html#howto-15"><span>output commands</span></a>. No parameter of this fix can be used with the <em>start/stop</em> keywords of the <a class="reference internal" href="run.html"><em>run</em></a> command. This fix is not invoked during <a class="reference internal" href="minimize.html"><em>energy minimization</em></a>.</p> </div> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <p>This fix is part of the MISC package. It is only enabled if LAMMPS was built with that package. See the <a class="reference internal" href="Section_start.html#start-3"><span>Making LAMMPS</span></a> section for more info.</p> <p>The specified insertion region cannot be a “dynamic” region, as defined by the <a class="reference internal" href="region.html"><em>region</em></a> command.</p> </div> <div class="section" id="related-commands"> <h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2> <p><a class="reference internal" href="fix_pour.html"><em>fix_pour</em></a>, <a class="reference internal" href="region.html"><em>region</em></a></p> </div> <div class="section" id="default"> <h2>Default<a class="headerlink" href="#default" title="Permalink to this headline">¶</a></h2> <p>Insertions are performed for individual atoms, i.e. no <em>mol</em> setting is defined. If the <em>mol</em> keyword is used, the default for <em>molfrac</em> is an equal probabilities for all molecules in the template. Additional option defaults are id = max, delta = 0.0, near = 0.0, attempt = 10, rate = 0.0, vx = 0.0 0.0, vy = 0.0 0.0, vz = 0.0 0.0, and units = lattice.</p> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/fix_dt_reset.html b/doc/fix_dt_reset.html index c9b8194df..84bc14b7d 100644 --- a/doc/fix_dt_reset.html +++ b/doc/fix_dt_reset.html @@ -1,274 +1,274 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>fix dt/reset command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>fix dt/reset command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="fix-dt-reset-command"> <span id="index-0"></span><h1>fix dt/reset command<a class="headerlink" href="#fix-dt-reset-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>fix ID group-ID dt/reset N Tmin Tmax Xmax keyword values ... </pre></div> </div> <ul class="simple"> <li>ID, group-ID are documented in <a class="reference internal" href="fix.html"><em>fix</em></a> command</li> <li>dt/reset = style name of this fix command</li> <li>N = recompute dt every N timesteps</li> <li>Tmin = minimum dt allowed which can be NULL (time units)</li> <li>Tmax = maximum dt allowed which can be NULL (time units)</li> <li>Xmax = maximum distance for an atom to move in one timestep (distance units)</li> <li>zero or more keyword/value pairs may be appended</li> <li>keyword = <em>units</em></li> </ul> <pre class="literal-block"> <em>units</em> value = <em>lattice</em> or <em>box</em> - lattice = Xmax is defined in lattice units - box = Xmax is defined in simulation box units + lattice = Xmax is defined in lattice units + box = Xmax is defined in simulation box units </pre> </div> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>fix 5 all dt/reset 10 1.0e-5 0.01 0.1 fix 5 all dt/reset 10 0.01 2.0 0.2 units box </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>Reset the timestep size every N steps during a run, so that no atom moves further than Xmax, based on current atom velocities and forces. This can be useful when starting from a configuration with overlapping atoms, where forces will be large. Or it can be useful when running an impact simulation where one or more high-energy atoms collide with a solid, causing a damage cascade.</p> <p>This fix overrides the timestep size setting made by the <a class="reference internal" href="timestep.html"><em>timestep</em></a> command. The new timestep size <em>dt</em> is computed in the following manner.</p> <p>For each atom, the timestep is computed that would cause it to displace <em>Xmax</em> on the next integration step, as a function of its current velocity and force. Since performing this calculation exactly would require the solution to a quartic equation, a cheaper estimate is generated. The estimate is conservative in that the atom’s displacement is guaranteed not to exceed <em>Xmax</em>, though it may be smaller.</p> <p>Given this putative timestep for each atom, the minimum timestep value across all atoms is computed. Then the <em>Tmin</em> and <em>Tmax</em> bounds are applied, if specified. If one (or both) is specified as NULL, it is not applied.</p> <p>When the <a class="reference internal" href="run_style.html"><em>run style</em></a> is <em>respa</em>, this fix resets the outer loop (largest) timestep, which is the same timestep that the <a class="reference internal" href="timestep.html"><em>timestep</em></a> command sets.</p> <p>Note that the cumulative simulation time (in time units), which accounts for changes in the timestep size as a simulation proceeds, can be accessed by the <a class="reference internal" href="thermo_style.html"><em>thermo_style time</em></a> keyword.</p> </div> <div class="section" id="restart-fix-modify-output-run-start-stop-minimize-info"> <h2>Restart, fix_modify, output, run start/stop, minimize info<a class="headerlink" href="#restart-fix-modify-output-run-start-stop-minimize-info" title="Permalink to this headline">¶</a></h2> <p>No information about this fix is written to <a class="reference internal" href="restart.html"><em>binary restart files</em></a>. None of the <a class="reference internal" href="fix_modify.html"><em>fix_modify</em></a> options are relevant to this fix.</p> <p>This fix computes a global scalar which can be accessed by various <a class="reference internal" href="Section_howto.html#howto-15"><span>output commands</span></a>. The scalar stores the last timestep on which the timestep was reset to a new value.</p> <p>The scalar value calculated by this fix is “intensive”.</p> <p>No parameter of this fix can be used with the <em>start/stop</em> keywords of the <a class="reference internal" href="run.html"><em>run</em></a> command. This fix is not invoked during <a class="reference internal" href="minimize.html"><em>energy minimization</em></a>.</p> </div> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <blockquote> <div>none</div></blockquote> </div> <div class="section" id="related-commands"> <h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2> <p><a class="reference internal" href="timestep.html"><em>timestep</em></a></p> </div> <div class="section" id="default"> <h2>Default<a class="headerlink" href="#default" title="Permalink to this headline">¶</a></h2> <p>The option defaults is units = lattice.</p> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/fix_efield.html b/doc/fix_efield.html index c89f9c011..78fbc2ddb 100644 --- a/doc/fix_efield.html +++ b/doc/fix_efield.html @@ -1,328 +1,328 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>fix efield command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>fix efield command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="fix-efield-command"> <span id="index-0"></span><h1>fix efield command<a class="headerlink" href="#fix-efield-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>fix ID group-ID efield ex ey ez keyword value ... </pre></div> </div> <ul class="simple"> <li>ID, group-ID are documented in <a class="reference internal" href="fix.html"><em>fix</em></a> command</li> <li>efield = style name of this fix command</li> <li>ex,ey,ez = E-field component values (electric field units)</li> <li>any of ex,ey,ez can be a variable (see below)</li> <li>zero or more keyword/value pairs may be appended to args</li> <li>keyword = <em>region</em> or <em>energy</em></li> </ul> <pre class="literal-block"> <em>region</em> value = region-ID - region-ID = ID of region atoms must be in to have added force - <em>energy</em> value = v_name - v_name = variable with name that calculates the potential energy of each atom in the added E-field + region-ID = ID of region atoms must be in to have added force +<em>energy</em> value = v_name + v_name = variable with name that calculates the potential energy of each atom in the added E-field </pre> </div> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>fix kick external-field efield 1.0 0.0 0.0 fix kick external-field efield 0.0 0.0 v_oscillate </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>Add a force F = qE to each charged atom in the group due to an external electric field being applied to the system. If the system contains point-dipoles, also add a torque on the dipoles due to the external electric field.</p> <p>For charges, any of the 3 quantities defining the E-field components can be specified as an equal-style or atom-style <a class="reference internal" href="variable.html"><em>variable</em></a>, namely <em>ex</em>, <em>ey</em>, <em>ez</em>. If the value is a variable, it should be specified as v_name, where name is the variable name. In this case, the variable will be evaluated each timestep, and its value used to determine the E-field component.</p> <p>For point-dipoles, equal-style variables can be used, but atom-style variables are not currently supported, since they imply a spatial gradient in the electric field which means additional terms with gradients of the field are required for the force and torque on dipoles.</p> <p>Equal-style variables can specify formulas with various mathematical functions, and include <a class="reference internal" href="thermo_style.html"><em>thermo_style</em></a> command keywords for the simulation box parameters and timestep and elapsed time. Thus it is easy to specify a time-dependent E-field.</p> <p>Atom-style variables can specify the same formulas as equal-style variables but can also include per-atom values, such as atom coordinates. Thus it is easy to specify a spatially-dependent E-field with optional time-dependence as well.</p> <p>If the <em>region</em> keyword is used, the atom must also be in the specified geometric <a class="reference internal" href="region.html"><em>region</em></a> in order to have force added to it.</p> <hr class="docutils" /> <p>Adding a force or torque to atoms implies a change in their potential energy as they move or rotate due to the applied E-field.</p> <p>For dynamics via the “run” command, this energy can be optionally added to the system’s potential energy for thermodynamic output (see below). For energy minimization via the “minimize” command, this energy must be added to the system’s potential energy to formulate a self-consistent minimization problem (see below).</p> <p>The <em>energy</em> keyword is not allowed if the added field is a constant vector (ex,ey,ez), with all components defined as numeric constants and not as variables. This is because LAMMPS can compute the energy for each charged particle directly as E = -x dot qE = -q (x*ex + y*ey + z*ez), so that -Grad(E) = F. Similarly for point-dipole particles the energy can be computed as E = -mu dot E = -(mux*ex + muy*ey + muz*ez).</p> <p>The <em>energy</em> keyword is optional if the added force is defined with one or more variables, and if you are performing dynamics via the <a class="reference internal" href="run.html"><em>run</em></a> command. If the keyword is not used, LAMMPS will set the energy to 0.0, which is typically fine for dynamics.</p> <p>The <em>energy</em> keyword is required if the added force is defined with one or more variables, and you are performing energy minimization via the “minimize” command for charged particles. It is not required for point-dipoles, but a warning is issued since the minimizer in LAMMPS does not rotate dipoles, so you should not expect to be able to minimize the orientation of dipoles in an applied electric field.</p> <p>The <em>energy</em> keyword specifies the name of an atom-style <a class="reference internal" href="variable.html"><em>variable</em></a> which is used to compute the energy of each atom as function of its position. Like variables used for <em>ex</em>, <em>ey</em>, <em>ez</em>, the energy variable is specified as v_name, where name is the variable name.</p> <p>Note that when the <em>energy</em> keyword is used during an energy minimization, you must insure that the formula defined for the atom-style <a class="reference internal" href="variable.html"><em>variable</em></a> is consistent with the force variable formulas, i.e. that -Grad(E) = F. For example, if the force due to the electric field were a spring-like F = kx, then the energy formula should be E = -0.5kx^2. If you don’t do this correctly, the minimization will not converge properly.</p> </div> <hr class="docutils" /> <div class="section" id="restart-fix-modify-output-run-start-stop-minimize-info"> <h2>Restart, fix_modify, output, run start/stop, minimize info<a class="headerlink" href="#restart-fix-modify-output-run-start-stop-minimize-info" title="Permalink to this headline">¶</a></h2> <p>No information about this fix is written to <a class="reference internal" href="restart.html"><em>binary restart files</em></a>.</p> <p>The <a class="reference internal" href="fix_modify.html"><em>fix_modify</em></a> <em>energy</em> option is supported by this fix to add the potential “energy” inferred by the added force due to the electric field to the system’s potential energy as part of <a class="reference internal" href="thermo_style.html"><em>thermodynamic output</em></a>. This is a fictitious quantity but is needed so that the <a class="reference internal" href="minimize.html"><em>minimize</em></a> command can include the forces added by this fix in a consistent manner. I.e. there is a decrease in potential energy when atoms move in the direction of the added force due to the electric field.</p> <p>This fix computes a global scalar and a global 3-vector of forces, which can be accessed by various <a class="reference internal" href="Section_howto.html#howto-15"><span>output commands</span></a>. The scalar is the potential energy discussed above. The vector is the total force added to the group of atoms. The scalar and vector values calculated by this fix are “extensive”.</p> <p>No parameter of this fix can be used with the <em>start/stop</em> keywords of the <a class="reference internal" href="run.html"><em>run</em></a> command.</p> <p>The forces due to this fix are imposed during an energy minimization, invoked by the <a class="reference internal" href="minimize.html"><em>minimize</em></a> command. You should not specify force components with a variable that has time-dependence for use with a minimizer, since the minimizer increments the timestep as the iteration count during the minimization.</p> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">If you want the fictitious potential energy associated with the added forces to be included in the total potential energy of the system (the quantity being minimized), you MUST enable the <a class="reference internal" href="fix_modify.html"><em>fix_modify</em></a> <em>energy</em> option for this fix.</p> </div> </div> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <p>This fix is part of the MISC package. It is only enabled if LAMMPS was built with that package. See the <a class="reference internal" href="Section_start.html#start-3"><span>Making LAMMPS</span></a> section for more info.</p> </div> <div class="section" id="related-commands"> <h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2> <p><a class="reference internal" href="fix_addforce.html"><em>fix addforce</em></a></p> <p><strong>Default:</strong> none</p> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/fix_external.html b/doc/fix_external.html index afdcf9d3e..447edfacb 100644 --- a/doc/fix_external.html +++ b/doc/fix_external.html @@ -1,322 +1,322 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>fix external command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>fix external command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="fix-external-command"> <span id="index-0"></span><h1>fix external command<a class="headerlink" href="#fix-external-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>fix ID group-ID external mode args </pre></div> </div> <ul class="simple"> <li>ID, group-ID are documented in <a class="reference internal" href="fix.html"><em>fix</em></a> command</li> <li>external = style name of this fix command</li> <li>mode = <em>pf/callback</em> or <em>pf/array</em></li> </ul> <pre class="literal-block"> <em>pf/callback</em> args = Ncall Napply - Ncall = make callback every Ncall steps - Napply = apply callback forces every Napply steps - <em>pf/array</em> args = Napply - Napply = apply array forces every Napply steps + Ncall = make callback every Ncall steps + Napply = apply callback forces every Napply steps +<em>pf/array</em> args = Napply + Napply = apply array forces every Napply steps </pre> </div> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>fix 1 all external pf/callback 1 1 fix 1 all external pf/callback 100 1 fix 1 all external pf/array 10 </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>This fix allows external programs that are running LAMMPS through its <a class="reference internal" href="Section_howto.html#howto-19"><span>library interface</span></a> to modify certain LAMMPS properties on specific timesteps, similar to the way other fixes do. The external driver can be a <a class="reference internal" href="Section_howto.html#howto-19"><span>C/C++ or Fortran program</span></a> or a <a class="reference internal" href="Section_python.html"><em>Python script</em></a>.</p> <hr class="docutils" /> <p>If mode is <em>pf/callback</em> then the fix will make a callback every <em>Ncall</em> timesteps or minimization iterations to the external program. The external program computes forces on atoms by setting values in an array owned by the fix. The fix then adds these forces to each atom in the group, once every <em>Napply</em> steps, similar to the way the <a class="reference internal" href="fix_addforce.html"><em>fix addforce</em></a> command works. Note that if <em>Ncall</em> > <em>Napply</em>, the force values produced by one callback will persist, and be used multiple times to update atom forces.</p> <p>The callback function “foo” is invoked by the fix as:</p> <div class="highlight-python"><div class="highlight"><pre>foo(void *ptr, bigint timestep, int nlocal, int *ids, double **x, double **fexternal); </pre></div> </div> <p>The arguments are as follows:</p> <ul class="simple"> <li>ptr = pointer provided by and simply passed back to external driver</li> <li>timestep = current LAMMPS timestep</li> <li>nlocal = # of atoms on this processor</li> <li>ids = list of atom IDs on this processor</li> <li>x = coordinates of atoms on this processor</li> <li>fexternal = forces to add to atoms on this processor</li> </ul> <p>Note that timestep is a “bigint” which is defined in src/lmptype.h, typically as a 64-bit integer.</p> <p>Fexternal are the forces returned by the driver program.</p> <p>The fix has a set_callback() method which the external driver can call to pass a pointer to its foo() function. See the couple/lammps_quest/lmpqst.cpp file in the LAMMPS distribution for an example of how this is done. This sample application performs classical MD using quantum forces computed by a density functional code <a class="reference external" href="http://dft.sandia.gov/Quest">Quest</a>.</p> <hr class="docutils" /> <p>If mode is <em>pf/array</em> then the fix simply stores force values in an array. The fix adds these forces to each atom in the group, once every <em>Napply</em> steps, similar to the way the <a class="reference internal" href="fix_addforce.html"><em>fix addforce</em></a> command works.</p> <p>The name of the public force array provided by the FixExternal class is</p> <div class="highlight-python"><div class="highlight"><pre><span class="n">double</span> <span class="o">**</span><span class="n">fexternal</span><span class="p">;</span> </pre></div> </div> <p>It is allocated by the FixExternal class as an (N,3) array where N is the number of atoms owned by a processor. The 3 corresponds to the fx, fy, fz components of force.</p> <p>It is up to the external program to set the values in this array to the desired quantities, as often as desired. For example, the driver program might perform an MD run in stages of 1000 timesteps each. In between calls to the LAMMPS <a class="reference internal" href="run.html"><em>run</em></a> command, it could retrieve atom coordinates from LAMMPS, compute forces, set values in fexternal, etc.</p> <hr class="docutils" /> <p>To use this fix during energy minimization, the energy corresponding to the added forces must also be set so as to be consistent with the added forces. Otherwise the minimization will not converge correctly.</p> <p>This can be done from the external driver by calling this public method of the FixExternal class:</p> <div class="highlight-python"><div class="highlight"><pre>void set_energy(double eng); </pre></div> </div> <p>where eng is the potential energy. Eng is an extensive quantity, meaning it should be the sum over per-atom energies of all affected atoms. It should also be provided in <a class="reference internal" href="units.html"><em>energy units</em></a> consistent with the simulation. See the details below for how to insure this energy setting is used appropriately in a minimization.</p> </div> <hr class="docutils" /> <div class="section" id="restart-fix-modify-output-run-start-stop-minimize-info"> <h2>Restart, fix_modify, output, run start/stop, minimize info<a class="headerlink" href="#restart-fix-modify-output-run-start-stop-minimize-info" title="Permalink to this headline">¶</a></h2> <p>No information about this fix is written to <a class="reference internal" href="restart.html"><em>binary restart files</em></a>.</p> <p>The <a class="reference internal" href="fix_modify.html"><em>fix_modify</em></a> <em>energy</em> option is supported by this fix to add the potential “energy” set by the external driver to the system’s potential energy as part of <a class="reference internal" href="thermo_style.html"><em>thermodynamic output</em></a>. This is a fictitious quantity but is needed so that the <a class="reference internal" href="minimize.html"><em>minimize</em></a> command can include the forces added by this fix in a consistent manner. I.e. there is a decrease in potential energy when atoms move in the direction of the added force.</p> <p>This fix computes a global scalar which can be accessed by various <a class="reference internal" href="Section_howto.html#howto-15"><span>output commands</span></a>. The scalar is the potential energy discussed above. The scalar stored by this fix is “extensive”.</p> <p>No parameter of this fix can be used with the <em>start/stop</em> keywords of the <a class="reference internal" href="run.html"><em>run</em></a> command.</p> <p>The forces due to this fix are imposed during an energy minimization, invoked by the <a class="reference internal" href="minimize.html"><em>minimize</em></a> command.</p> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">If you want the fictitious potential energy associated with the added forces to be included in the total potential energy of the system (the quantity being minimized), you MUST enable the <a class="reference internal" href="fix_modify.html"><em>fix_modify</em></a> <em>energy</em> option for this fix.</p> </div> </div> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <blockquote> <div>none</div></blockquote> <p><strong>Related commands:</strong> none</p> <p><strong>Default:</strong> none</p> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/fix_gravity.html b/doc/fix_gravity.html index d9182988a..bfd26b0dd 100644 --- a/doc/fix_gravity.html +++ b/doc/fix_gravity.html @@ -1,317 +1,317 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>fix gravity command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>fix gravity command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="fix-gravity-command"> <span id="index-0"></span><h1>fix gravity command<a class="headerlink" href="#fix-gravity-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="fix-gravity-cuda-command"> <h1>fix gravity/cuda command<a class="headerlink" href="#fix-gravity-cuda-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="fix-gravity-omp-command"> <h1>fix gravity/omp command<a class="headerlink" href="#fix-gravity-omp-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>fix ID group gravity magnitude style args </pre></div> </div> <ul class="simple"> <li>ID, group are documented in <a class="reference internal" href="fix.html"><em>fix</em></a> command</li> <li>gravity = style name of this fix command</li> <li>magnitude = size of acceleration (force/mass units)</li> <li>magnitude can be a variable (see below)</li> <li>style = <em>chute</em> or <em>spherical</em> or <em>gradient</em> or <em>vector</em></li> </ul> <pre class="literal-block"> <em>chute</em> args = angle - angle = angle in +x away from -z or -y axis in 3d/2d (in degrees) - angle can be a variable (see below) - <em>spherical</em> args = phi theta - phi = azimuthal angle from +x axis (in degrees) - theta = angle from +z or +y axis in 3d/2d (in degrees) - phi or theta can be a variable (see below) - <em>vector</em> args = x y z - x y z = vector direction to apply the acceleration - x or y or z can be a variable (see below) + angle = angle in +x away from -z or -y axis in 3d/2d (in degrees) + angle can be a variable (see below) +<em>spherical</em> args = phi theta + phi = azimuthal angle from +x axis (in degrees) + theta = angle from +z or +y axis in 3d/2d (in degrees) + phi or theta can be a variable (see below) +<em>vector</em> args = x y z + x y z = vector direction to apply the acceleration + x or y or z can be a variable (see below) </pre> </div> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>fix 1 all gravity 1.0 chute 24.0 fix 1 all gravity v_increase chute 24.0 fix 1 all gravity 1.0 spherical 0.0 -180.0 fix 1 all gravity 10.0 spherical v_phi v_theta fix 1 all gravity 100.0 vector 1 1 0 </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>Impose an additional acceleration on each particle in the group. This fix is typically used with granular systems to include a “gravity” term acting on the macroscopic particles. More generally, it can represent any kind of driving field, e.g. a pressure gradient inducing a Poiseuille flow in a fluid. Note that this fix operates differently than the <a class="reference internal" href="fix_addforce.html"><em>fix addforce</em></a> command. The addforce fix adds the same force to each atom, independent of its mass. This command imparts the same acceleration to each atom (force/mass).</p> <p>The <em>magnitude</em> of the acceleration is specified in force/mass units. For granular systems (LJ units) this is typically 1.0. See the <a class="reference internal" href="units.html"><em>units</em></a> command for details.</p> <p>Style <em>chute</em> is typically used for simulations of chute flow where the specified <em>angle</em> is the chute angle, with flow occurring in the +x direction. For 3d systems, the tilt is away from the z axis; for 2d systems, the tilt is away from the y axis.</p> <p>Style <em>spherical</em> allows an arbitrary 3d direction to be specified for the acceleration vector. <em>Phi</em> and <em>theta</em> are defined in the usual spherical coordinates. Thus for acceleration acting in the -z direction, <em>theta</em> would be 180.0 (or -180.0). <em>Theta</em> = 90.0 and <em>phi</em> = -90.0 would mean acceleration acts in the -y direction. For 2d systems, <em>phi</em> is ignored and <em>theta</em> is an angle in the xy plane where <em>theta</em> = 0.0 is the y-axis.</p> <p>Style <em>vector</em> imposes an acceleration in the vector direction given by (x,y,z). Only the direction of the vector is important; it’s length is ignored. For 2d systems, the <em>z</em> component is ignored.</p> <p>Any of the quantities <em>magnitude</em>, <em>angle</em>, <em>phi</em>, <em>theta</em>, <em>x</em>, <em>y</em>, <em>z</em> which define the gravitational magnitude and direction, can be specified as an equal-style <a class="reference internal" href="variable.html"><em>variable</em></a>. If the value is a variable, it should be specified as v_name, where name is the variable name. In this case, the variable will be evaluated each timestep, and its value used to determine the quantity. You should insure that the variable calculates a result in the approriate units, e.g. force/mass or degrees.</p> <p>Equal-style variables can specify formulas with various mathematical functions, and include <a class="reference internal" href="thermo_style.html"><em>thermo_style</em></a> command keywords for the simulation box parameters and timestep and elapsed time. Thus it is easy to specify a time-dependent gravitational field.</p> <hr class="docutils" /> <p>Styles with a <em>cuda</em>, <em>gpu</em>, <em>intel</em>, <em>kk</em>, <em>omp</em>, or <em>opt</em> suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available hardware, as discussed in <a class="reference internal" href="Section_accelerate.html"><em>Section_accelerate</em></a> of the manual. The accelerated styles take the same arguments and should produce the same results, except for round-off and precision issues.</p> <p>These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if LAMMPS was built with those packages. See the <a class="reference internal" href="Section_start.html#start-3"><span>Making LAMMPS</span></a> section for more info.</p> <p>You can specify the accelerated styles explicitly in your input script by including their suffix, or you can use the <a class="reference internal" href="Section_start.html#start-7"><span>-suffix command-line switch</span></a> when you invoke LAMMPS, or you can use the <a class="reference internal" href="suffix.html"><em>suffix</em></a> command in your input script.</p> <p>See <a class="reference internal" href="Section_accelerate.html"><em>Section_accelerate</em></a> of the manual for more instructions on how to use the accelerated styles effectively.</p> </div> <hr class="docutils" /> <div class="section" id="restart-fix-modify-output-run-start-stop-minimize-info"> <h2>Restart, fix_modify, output, run start/stop, minimize info<a class="headerlink" href="#restart-fix-modify-output-run-start-stop-minimize-info" title="Permalink to this headline">¶</a></h2> <p>No information about this fix is written to <a class="reference internal" href="restart.html"><em>binary restart files</em></a>.</p> <p>The <a class="reference internal" href="fix_modify.html"><em>fix_modify</em></a> <em>energy</em> option is supported by this fix to add the gravitational potential energy of the system to the system’s potential energy as part of <a class="reference internal" href="thermo_style.html"><em>thermodynamic output</em></a>.</p> <p>This fix computes a global scalar which can be accessed by various <a class="reference internal" href="Section_howto.html#howto-15"><span>output commands</span></a>. This scalar is the gravitational potential energy of the particles in the defined field, namely mass * (g dot x) for each particles, where x and mass are the particles position and mass, and g is the gravitational field. The scalar value calculated by this fix is “extensive”.</p> <p>No parameter of this fix can be used with the <em>start/stop</em> keywords of the <a class="reference internal" href="run.html"><em>run</em></a> command. This fix is not invoked during <a class="reference internal" href="minimize.html"><em>energy minimization</em></a>.</p> </div> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <blockquote> <div>none</div></blockquote> </div> <div class="section" id="related-commands"> <h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2> <p><a class="reference internal" href="atom_style.html"><em>atom_style sphere</em></a>, <a class="reference internal" href="fix_addforce.html"><em>fix addforce</em></a></p> <p><strong>Default:</strong> none</p> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/fix_heat.html b/doc/fix_heat.html index 80536bf50..f33a3f45d 100644 --- a/doc/fix_heat.html +++ b/doc/fix_heat.html @@ -1,304 +1,304 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>fix heat command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>fix heat command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="fix-heat-command"> <span id="index-0"></span><h1>fix heat command<a class="headerlink" href="#fix-heat-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>fix ID group-ID heat N eflux </pre></div> </div> <ul class="simple"> <li>ID, group-ID are documented in <a class="reference internal" href="fix.html"><em>fix</em></a> command</li> <li>heat = style name of this fix command</li> <li>N = add/subtract heat every this many timesteps</li> <li>eflux = rate of heat addition or subtraction (energy/time units)</li> <li>eflux can be a variable (see below)</li> <li>zero or more keyword/value pairs may be appended to args</li> <li>keyword = <em>region</em></li> </ul> <pre class="literal-block"> <em>region</em> value = region-ID - region-ID = ID of region atoms must be in to have added force + region-ID = ID of region atoms must be in to have added force </pre> </div> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>fix 3 qin heat 1 1.0 fix 3 qin heat 10 v_flux fix 4 qout heat 1 -1.0 region top </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>Add non-translational kinetic energy (heat) to a group of atoms in a manner that conserves their aggregate momentum. Two of these fixes can be used to establish a temperature gradient across a simulation domain by adding heat (energy) to one group of atoms (hot reservoir) and subtracting heat from another (cold reservoir). E.g. a simulation sampling from the McDLT ensemble.</p> <p>If the <em>region</em> keyword is used, the atom must be in both the group and the specified geometric <a class="reference internal" href="region.html"><em>region</em></a> in order to have energy added or subtracted to it. If not specified, then the atoms in the group are affected wherever they may move to.</p> <p>Heat addition/subtraction is performed every N timesteps. The <em>eflux</em> parameter can be specified as a numeric constant or as a variable (see below). If it is a numeric constant or equal-style variable which evaluates to a scalar value, then the <em>eflux</em> determines the change in aggregate energy of the entire group of atoms per unit time, e.g. in eV/psec for <a class="reference internal" href="units.html"><em>metal units</em></a>. In this case it is an “extensive” quantity, meaning its magnitude should be scaled with the number of atoms in the group. Note that since <em>eflux</em> has per-time units (i.e. it is a flux), this means that a larger value of N will add/subtract a larger amount of energy each time the fix is invoked.</p> <p>If <em>eflux</em> is specified as an atom-style variable (see below), then the variable computes one value per atom. In this case, each value is the energy flux for a single atom, again in units of energy per unit time. In this case, each value is an “intensive” quantity, which need not be scaled with the number of atoms in the group.</p> <p>As mentioned above, the <em>eflux</em> parameter can be specified as an equal-style or atom_style <a class="reference internal" href="variable.html"><em>variable</em></a>. If the value is a variable, it should be specified as v_name, where name is the variable name. In this case, the variable will be evaluated each timestep, and its value(s) used to determine the flux.</p> <p>Equal-style variables can specify formulas with various mathematical functions, and include <a class="reference internal" href="thermo_style.html"><em>thermo_style</em></a> command keywords for the simulation box parameters and timestep and elapsed time. Thus it is easy to specify a time-dependent flux.</p> <p>Atom-style variables can specify the same formulas as equal-style variables but can also include per-atom values, such as atom coordinates. Thus it is easy to specify a spatially-dependent flux with optional time-dependence as well.</p> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">If heat is subtracted from the system too aggressively so that the group’s kinetic energy would go to zero, or any individual atom’s kinetic energy would go to zero for the case where <em>eflux</em> is an atom-style variable, then LAMMPS will halt with an error message.</p> </div> <p>Fix heat is different from a thermostat such as <a class="reference internal" href="fix_nh.html"><em>fix nvt</em></a> or <a class="reference internal" href="fix_temp_rescale.html"><em>fix temp/rescale</em></a> in that energy is added/subtracted continually. Thus if there isn’t another mechanism in place to counterbalance this effect, the entire system will heat or cool continuously. You can use multiple heat fixes so that the net energy change is 0.0 or use <a class="reference internal" href="fix_viscous.html"><em>fix viscous</em></a> to drain energy from the system.</p> <p>This fix does not change the coordinates of its atoms; it only scales their velocities. Thus you must still use an integration fix (e.g. <a class="reference internal" href="fix_nve.html"><em>fix nve</em></a>) on the affected atoms. This fix should not normally be used on atoms that have their temperature controlled by another fix - e.g. <a class="reference internal" href="fix_nh.html"><em>fix nvt</em></a> or <a class="reference internal" href="fix_langevin.html"><em>fix langevin</em></a> fix.</p> </div> <div class="section" id="restart-fix-modify-output-run-start-stop-minimize-info"> <h2>Restart, fix_modify, output, run start/stop, minimize info<a class="headerlink" href="#restart-fix-modify-output-run-start-stop-minimize-info" title="Permalink to this headline">¶</a></h2> <p>No information about this fix is written to <a class="reference internal" href="restart.html"><em>binary restart files</em></a>. None of the <a class="reference internal" href="fix_modify.html"><em>fix_modify</em></a> options are relevant to this fix.</p> <p>This fix computes a global scalar which can be accessed by various <a class="reference internal" href="Section_howto.html#howto-15"><span>output commands</span></a>. This scalar is the most recent value by which velocites were scaled. The scalar value calculated by this fix is “intensive”. If <em>eflux</em> is specified as an atom-style variable, this fix computes the average value by which the velocities were scaled for all of the atoms that had their velocities scaled.</p> <p>No parameter of this fix can be used with the <em>start/stop</em> keywords of the <a class="reference internal" href="run.html"><em>run</em></a> command. This fix is not invoked during <a class="reference internal" href="minimize.html"><em>energy minimization</em></a>.</p> </div> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <blockquote> <div>none</div></blockquote> </div> <div class="section" id="related-commands"> <h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2> <p><a class="reference internal" href="compute_temp.html"><em>compute temp</em></a>, <a class="reference internal" href="compute_temp_region.html"><em>compute temp/region</em></a></p> <p><strong>Default:</strong> none</p> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/fix_imd.html b/doc/fix_imd.html index ae1654cdc..02f93cb53 100644 --- a/doc/fix_imd.html +++ b/doc/fix_imd.html @@ -1,327 +1,327 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>fix imd command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>fix imd command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="fix-imd-command"> <span id="index-0"></span><h1>fix imd command<a class="headerlink" href="#fix-imd-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>fix ID group-ID imd trate port keyword values ... </pre></div> </div> <ul class="simple"> <li>ID, group-ID are documented in <a class="reference internal" href="fix.html"><em>fix</em></a> command</li> <li>imd = style name of this fix command</li> <li>port = port number on which the fix listens for an IMD client</li> <li>keyword = <em>unwrap</em> or <em>fscale</em> or <em>trate</em></li> </ul> <pre class="literal-block"> <em>unwrap</em> arg = <em>on</em> or <em>off</em> - off = coordinates are wrapped back into the principal unit cell (default) - on = "unwrapped" coordinates using the image flags used - <em>fscale</em> arg = factor - factor = floating point number to scale IMD forces (default: 1.0) - <em>trate</em> arg = transmission rate of coordinate data sets (default: 1) - <em>nowait</em> arg = <em>on</em> or <em>off</em> - off = LAMMPS waits to be connected to an IMD client before continuing (default) - on = LAMMPS listens for an IMD client, but continues with the run + off = coordinates are wrapped back into the principal unit cell (default) + on = "unwrapped" coordinates using the image flags used +<em>fscale</em> arg = factor + factor = floating point number to scale IMD forces (default: 1.0) +<em>trate</em> arg = transmission rate of coordinate data sets (default: 1) +<em>nowait</em> arg = <em>on</em> or <em>off</em> + off = LAMMPS waits to be connected to an IMD client before continuing (default) + on = LAMMPS listens for an IMD client, but continues with the run </pre> </div> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>fix vmd all imd 5678 fix comm all imd 8888 trate 5 unwrap on fscale 10.0 </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>This fix implements the “Interactive MD” (IMD) protocol which allows realtime visualization and manipulation of MD simulations through the IMD protocol, as initially implemented in VMD and NAMD. Specifically it allows LAMMPS to connect an IMD client, for example the <a class="reference external" href="http://www.ks.uiuc.edu/Research/vmd">VMD visualization program</a>, so that it can monitor the progress of the simulation and interactively apply forces to selected atoms.</p> <p>If LAMMPS is compiled with the preprocessor flag -DLAMMPS_ASYNC_IMD then fix imd will use POSIX threads to spawn a IMD communication thread on MPI rank 0 in order to offload data reading and writing from the main execution thread and potentially lower the inferred latencies for slow communication links. This feature has only been tested under linux.</p> <p>There are example scripts for using this package with LAMMPS in examples/USER/imd. Additional examples and a driver for use with the Novint Falcon game controller as haptic device can be found at: <a class="reference external" href="http://sites.google.com/site/akohlmey/software/vrpn-icms">http://sites.google.com/site/akohlmey/software/vrpn-icms</a>.</p> <p>The source code for this fix includes code developed by the Theoretical and Computational Biophysics Group in the Beckman Institute for Advanced Science and Technology at the University of Illinois at Urbana-Champaign. We thank them for providing a software interface that allows codes like LAMMPS to hook to <a class="reference external" href="http://www.ks.uiuc.edu/Research/vmd">VMD</a>.</p> <p>Upon initialization of the fix, it will open a communication port on the node with MPI task 0 and wait for an incoming connection. As soon as an IMD client is connected, the simulation will continue and the fix will send the current coordinates of the fix’s group to the IMD client at every trate MD step. When using r-RESPA, trate applies to the steps of the outmost RESPA level. During a run with an active IMD connection also the IMD client can request to apply forces to selected atoms of the fix group.</p> <p>The port number selected must be an available network port number. On many machines, port numbers < 1024 are reserved for accounts with system manager privilege and specific applications. If multiple imd fixes would be active at the same time, each needs to use a different port number.</p> <p>The <em>nowait</em> keyword controls the behavior of the fix when no IMD client is connected. With the default setting of <em>off</em>, LAMMPS will wait until a connection is made before continuing with the execution. Setting <em>nowait</em> to <em>on</em> will have the LAMMPS code be ready to connect to a client, but continue with the simulation. This can for example be used to monitor the progress of an ongoing calculation without the need to be permanently connected or having to download a trajectory file.</p> <p>The <em>trate</em> keyword allows to select how often the coordinate data is sent to the IMD client. It can also be changed on request of the IMD client through an IMD protocol message. The <em>unwrap</em> keyword allows to send “unwrapped” coordinates to the IMD client that undo the wrapping back of coordinates into the principle unit cell, as done by default in LAMMPS. The <em>fscale</em> keyword allows to apply a scaling factor to forces transmitted by the IMD client. The IMD protocols stipulates that forces are transferred in kcal/mol/angstrom under the assumption that coordinates are given in angstrom. For LAMMPS runs with different units or as a measure to tweak the forces generated by the manipulation of the IMD client, this option allows to make adjustments.</p> <p>To connect VMD to a listening LAMMPS simulation on the same machine with fix imd enabled, one needs to start VMD and load a coordinate or topology file that matches the fix group. When the VMD command prompts appears, one types the command line:</p> <div class="highlight-python"><div class="highlight"><pre>imd connect localhost 5678 </pre></div> </div> <p>This assumes that <em>fix imd</em> was started with 5678 as a port number for the IMD protocol.</p> <p>The steps to do interactive manipulation of a running simulation in VMD are the following:</p> <p>In the Mouse menu of the VMD Main window, select “Mouse -> Force -> Atom”. You may alternately select “Residue”, or “Fragment” to apply forces to whole residues or fragments. Your mouse can now be used to apply forces to your simulation. Click on an atom, residue, or fragment and drag to apply a force. Click quickly without moving the mouse to turn the force off. You can also use a variety of 3D position trackers to apply forces to your simulation. Game controllers or haptic devices with force-feedback such as the Novint Falcon or Sensable PHANTOM allow you to feel the resistance due to inertia or interactions with neighbors that the atoms experience you are trying to move, as if they were real objects. See the <a class="reference external" href="http://www.ks.uiuc.edu/Research/vmd/imd/">VMD IMD Homepage</a> and the <a class="reference external" href="http://sites.google.com/site/akohlmey/software/vrpn-icms">VRPN-ICMS Homepage</a> for more details.</p> <p>If IMD control messages are received, a line of text describing the message and its effect will be printed to the LAMMPS output screen, if screen output is active.</p> </div> <div class="section" id="restart-fix-modify-output-run-start-stop-minimize-info"> <h2>Restart, fix_modify, output, run start/stop, minimize info<a class="headerlink" href="#restart-fix-modify-output-run-start-stop-minimize-info" title="Permalink to this headline">¶</a></h2> <p>No information about this fix is written to <a class="reference internal" href="restart.html"><em>binary restart files</em></a>. None of the <a class="reference internal" href="fix_modify.html"><em>fix_modify</em></a> options are relevant to this fix. No global scalar or vector or per-atom quantities are stored by this fix for access by various <a class="reference internal" href="Section_howto.html#howto-15"><span>output commands</span></a>. No parameter of this fix can be used with the <em>start/stop</em> keywords of the <a class="reference internal" href="run.html"><em>run</em></a> command. This fix is not invoked during <a class="reference internal" href="minimize.html"><em>energy minimization</em></a>.</p> </div> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <p>This fix is part of the USER-MISC package. It is only enabled if LAMMPS was built with that package. See the <a class="reference internal" href="Section_start.html#start-3"><span>Making LAMMPS</span></a> section for more info.</p> <p>When used in combination with VMD, a topology or coordinate file has to be loaded, which matches (in number and ordering of atoms) the group the fix is applied to. The fix internally sorts atom IDs by ascending integer value; in VMD (and thus the IMD protocol) those will be assigned 0-based consecutive index numbers.</p> <p>When using multiple active IMD connections at the same time, each needs to use a different port number.</p> <p><strong>Related commands:</strong> none</p> <p><strong>Default:</strong> none</p> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/fix_indent.html b/doc/fix_indent.html index 625ea18f1..3fdfac0f9 100644 --- a/doc/fix_indent.html +++ b/doc/fix_indent.html @@ -1,377 +1,377 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>fix indent command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>fix indent command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="fix-indent-command"> <span id="index-0"></span><h1>fix indent command<a class="headerlink" href="#fix-indent-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>fix ID group-ID indent K keyword values ... </pre></div> </div> <ul class="simple"> <li>ID, group-ID are documented in <a class="reference internal" href="fix.html"><em>fix</em></a> command</li> <li>indent = style name of this fix command</li> <li>K = force constant for indenter surface (force/distance^2 units)</li> <li>one or more keyword/value pairs may be appended</li> <li>keyword = <em>sphere</em> or <em>cylinder</em> or <em>plane</em> or <em>side</em> or <em>units</em></li> </ul> <pre class="literal-block"> <em>sphere</em> args = x y z R - x,y,z = initial position of center of indenter (distance units) - R = sphere radius of indenter (distance units) - any of x,y,z,R can be a variable (see below) - <em>cylinder</em> args = dim c1 c2 R - dim = <em>x</em> or <em>y</em> or <em>z</em> = axis of cylinder - c1,c2 = coords of cylinder axis in other 2 dimensions (distance units) - R = cylinder radius of indenter (distance units) - any of c1,c2,R can be a variable (see below) - <em>plane</em> args = dim pos side - dim = <em>x</em> or <em>y</em> or <em>z</em> = plane perpendicular to this dimension - pos = position of plane in dimension x, y, or z (distance units) - pos can be a variable (see below) - side = <em>lo</em> or <em>hi</em> - <em>side</em> value = <em>in</em> or <em>out</em> - <em>in</em> = the indenter acts on particles inside the sphere or cylinder - <em>out</em> = the indenter acts on particles outside the sphere or cylinder - <em>units</em> value = <em>lattice</em> or <em>box</em> - lattice = the geometry is defined in lattice units - box = the geometry is defined in simulation box units + x,y,z = initial position of center of indenter (distance units) + R = sphere radius of indenter (distance units) + any of x,y,z,R can be a variable (see below) +<em>cylinder</em> args = dim c1 c2 R + dim = <em>x</em> or <em>y</em> or <em>z</em> = axis of cylinder + c1,c2 = coords of cylinder axis in other 2 dimensions (distance units) + R = cylinder radius of indenter (distance units) + any of c1,c2,R can be a variable (see below) +<em>plane</em> args = dim pos side + dim = <em>x</em> or <em>y</em> or <em>z</em> = plane perpendicular to this dimension + pos = position of plane in dimension x, y, or z (distance units) + pos can be a variable (see below) + side = <em>lo</em> or <em>hi</em> +<em>side</em> value = <em>in</em> or <em>out</em> + <em>in</em> = the indenter acts on particles inside the sphere or cylinder + <em>out</em> = the indenter acts on particles outside the sphere or cylinder +<em>units</em> value = <em>lattice</em> or <em>box</em> + lattice = the geometry is defined in lattice units + box = the geometry is defined in simulation box units </pre> </div> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>fix 1 all indent 10.0 sphere 0.0 0.0 15.0 3.0 fix 1 all indent 10.0 sphere v_x v_y 0.0 v_radius side in fix 2 flow indent 10.0 cylinder z 0.0 0.0 10.0 units box </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>Insert an indenter within a simulation box. The indenter repels all atoms that touch it, so it can be used to push into a material or as an obstacle in a flow. Or it can be used as a constraining wall around a simulation; see the discussion of the <em>side</em> keyword below.</p> <p>The indenter can either be spherical or cylindrical or planar. You must set one of those 3 keywords.</p> <p>A spherical indenter exerts a force of magnitude</p> <div class="highlight-python"><div class="highlight"><pre><span class="n">F</span><span class="p">(</span><span class="n">r</span><span class="p">)</span> <span class="o">=</span> <span class="o">-</span> <span class="n">K</span> <span class="p">(</span><span class="n">r</span> <span class="o">-</span> <span class="n">R</span><span class="p">)</span><span class="o">^</span><span class="mi">2</span> </pre></div> </div> <p>on each atom where <em>K</em> is the specified force constant, <em>r</em> is the distance from the atom to the center of the indenter, and <em>R</em> is the radius of the indenter. The force is repulsive and F(r) = 0 for <em>r</em> > <em>R</em>.</p> <p>A cylindrical indenter exerts the same force, except that <em>r</em> is the distance from the atom to the center axis of the cylinder. The cylinder extends infinitely along its axis.</p> <p>Spherical and cylindrical indenters account for periodic boundaries in two ways. First, the center point of a spherical indenter (x,y,z) or axis of a cylindrical indenter (c1,c2) is remapped back into the simulation box, if the box is periodic in a particular dimension. This occurs every timestep if the indenter geometry is specified with a variable (see below), e.g. it is moving over time. Second, the calculation of distance to the indenter center or axis accounts for periodic boundaries. Both of these mean that an indenter can effectively move through and straddle one or more periodic boundaries.</p> <p>A planar indenter is really an axis-aligned infinite-extent wall exerting the same force on atoms in the system, where <em>R</em> is the position of the plane and <em>r-R</em> is the distance from the plane. If the <em>side</em> parameter of the plane is specified as <em>lo</em> then it will indent from the lo end of the simulation box, meaning that atoms with a coordinate less than the plane’s current position will be pushed towards the hi end of the box and atoms with a coordinate higher than the plane’s current position will feel no force. Vice versa if <em>side</em> is specified as <em>hi</em>.</p> <p>Any of the 4 quantities defining a spherical indenter’s geometry can be specified as an equal-style <a class="reference internal" href="variable.html"><em>variable</em></a>, namely <em>x</em>, <em>y</em>, <em>z</em>, or <em>R</em>. Similarly, for a cylindrical indenter, any of <em>c1</em>, <em>c2</em>, or <em>R</em>, can be a variable. For a planar indenter, <em>pos</em> can be a variable. If the value is a variable, it should be specified as v_name, where name is the variable name. In this case, the variable will be evaluated each timestep, and its value used to define the indenter geometry.</p> <p>Note that equal-style variables can specify formulas with various mathematical functions, and include <a class="reference internal" href="thermo_style.html"><em>thermo_style</em></a> command keywords for the simulation box parameters and timestep and elapsed time. Thus it is easy to specify indenter properties that change as a function of time or span consecutive runs in a continuous fashion. For the latter, see the <em>start</em> and <em>stop</em> keywords of the <a class="reference internal" href="run.html"><em>run</em></a> command and the <em>elaplong</em> keyword of <a class="reference internal" href="thermo_style.html"><em>thermo_style custom</em></a> for details.</p> <p>For example, if a spherical indenter’s x-position is specfied as v_x, then this variable definition will keep it’s center at a relative position in the simulation box, 1/4 of the way from the left edge to the right edge, even if the box size changes:</p> <div class="highlight-python"><div class="highlight"><pre>variable x equal "xlo + 0.25*lx" </pre></div> </div> <p>Similarly, either of these variable definitions will move the indenter from an initial position at 2.5 at a constant velocity of 5:</p> <div class="highlight-python"><div class="highlight"><pre>variable x equal "2.5 + 5*elaplong*dt" variable x equal vdisplace(2.5,5) </pre></div> </div> <p>If a spherical indenter’s radius is specified as v_r, then these variable definitions will grow the size of the indenter at a specfied rate.</p> <div class="highlight-python"><div class="highlight"><pre>variable r0 equal 0.0 variable rate equal 1.0 variable r equal "v_r0 + step*dt*v_rate" </pre></div> </div> <p>If the <em>side</em> keyword is specified as <em>out</em>, which is the default, then particles outside the indenter are pushded away from its outer surface, as described above. This only applies to spherical or cylindrical indenters. If the <em>side</em> keyword is specified as <em>in</em>, the action of the indenter is reversed. Particles inside the indenter are pushed away from its inner surface. In other words, the indenter is now a containing wall that traps the particles inside it. If the radius shrinks over time, it will squeeze the particles.</p> <p>The <em>units</em> keyword determines the meaning of the distance units used to define the indenter geometry. A <em>box</em> value selects standard distance units as defined by the <a class="reference internal" href="units.html"><em>units</em></a> command, e.g. Angstroms for units = real or metal. A <em>lattice</em> value means the distance units are in lattice spacings. The <a class="reference internal" href="lattice.html"><em>lattice</em></a> command must have been previously used to define the lattice spacing. The (x,y,z) coords of the indenter position are scaled by the x,y,z lattice spacings respectively. The radius of a spherical or cylindrical indenter is scaled by the x lattice spacing.</p> <p>Note that the units keyword only affects indenter geometry parameters specified directly with numbers, not those specified as variables. In the latter case, you should use the <em>xlat</em>, <em>ylat</em>, <em>zlat</em> keywords of the <a class="reference internal" href="thermo_style.html"><em>thermo_style</em></a> command if you want to include lattice spacings in a variable formula.</p> <p>The force constant <em>K</em> is not affected by the <em>units</em> keyword. It is always in force/distance^2 units where force and distance are defined by the <a class="reference internal" href="units.html"><em>units</em></a> command. If you wish K to be scaled by the lattice spacing, you can define K with a variable whose formula contains <em>xlat</em>, <em>ylat</em>, <em>zlat</em> keywords of the <a class="reference internal" href="thermo_style.html"><em>thermo_style</em></a> command, e.g.</p> <div class="highlight-python"><div class="highlight"><pre>variable k equal 100.0/xlat/xlat fix 1 all indent $k sphere ... </pre></div> </div> </div> <div class="section" id="restart-fix-modify-output-run-start-stop-minimize-info"> <h2>Restart, fix_modify, output, run start/stop, minimize info<a class="headerlink" href="#restart-fix-modify-output-run-start-stop-minimize-info" title="Permalink to this headline">¶</a></h2> <p>No information about this fix is written to <a class="reference internal" href="restart.html"><em>binary restart files</em></a>.</p> <p>The <a class="reference internal" href="fix_modify.html"><em>fix_modify</em></a> <em>energy</em> option is supported by this fix to add the energy of interaction between atoms and the indenter to the system’s potential energy as part of <a class="reference internal" href="thermo_style.html"><em>thermodynamic output</em></a>. The energy of each particle interacting with the indenter is K/3 (r - R)^3.</p> <p>This fix computes a global scalar energy and a global 3-vector of forces (on the indenter), which can be accessed by various <a class="reference internal" href="Section_howto.html#howto-15"><span>output commands</span></a>. The scalar and vector values calculated by this fix are “extensive”.</p> <p>The forces due to this fix are imposed during an energy minimization, invoked by the <a class="reference internal" href="minimize.html"><em>minimize</em></a> command. Note that if you define the indenter geometry with a variable using a time-dependent formula, LAMMPS uses the iteration count in the minimizer as the timestep. But it is almost certainly a bad idea to have the indenter change its position or size during a minimization. LAMMPS does not check if you have done this.</p> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">If you want the atom/indenter interaction energy to be included in the total potential energy of the system (the quantity being minimized), you must enable the <a class="reference internal" href="fix_modify.html"><em>fix_modify</em></a> <em>energy</em> option for this fix.</p> </div> </div> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <blockquote> <div>none</div></blockquote> <p><strong>Related commands:</strong> none</p> </div> <div class="section" id="default"> <h2>Default<a class="headerlink" href="#default" title="Permalink to this headline">¶</a></h2> <p>The option defaults are side = out and units = lattice.</p> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/fix_langevin.html b/doc/fix_langevin.html index 82b6ef3a0..f61783c1d 100644 --- a/doc/fix_langevin.html +++ b/doc/fix_langevin.html @@ -1,490 +1,490 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>fix langevin command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>fix langevin command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="fix-langevin-command"> <span id="index-0"></span><h1>fix langevin command<a class="headerlink" href="#fix-langevin-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="fix-langevin-kk-command"> <h1>fix langevin/kk command<a class="headerlink" href="#fix-langevin-kk-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>fix ID group-ID langevin Tstart Tstop damp seed keyword values ... </pre></div> </div> <ul class="simple"> <li>ID, group-ID are documented in <a class="reference internal" href="fix.html"><em>fix</em></a> command</li> <li>langevin = style name of this fix command</li> <li>Tstart,Tstop = desired temperature at start/end of run (temperature units)</li> <li>Tstart can be a variable (see below)</li> <li>damp = damping parameter (time units)</li> <li>seed = random number seed to use for white noise (positive integer)</li> <li>zero or more keyword/value pairs may be appended</li> <li>keyword = <em>angmom</em> or <em>omega</em> or <em>scale</em> or <em>tally</em> or <em>zero</em></li> </ul> <pre class="literal-block"> <em>angmom</em> value = <em>no</em> or scale - <em>no</em> = do not thermostat rotational degrees of freedom via the angular momentum - factor = do thermostat rotational degrees of freedom via the angular momentum and apply numeric factor as discussed below - <em>gjf</em> value = <em>no</em> or <em>yes</em> - <em>no</em> = use standard formulation - <em>yes</em> = use Gronbech-Jensen/Farago formulation - <em>omega</em> value = <em>no</em> or <em>yes</em> - <em>no</em> = do not thermostat rotational degrees of freedom via the angular velocity - <em>yes</em> = do thermostat rotational degrees of freedom via the angular velocity - <em>scale</em> values = type ratio - type = atom type (1-N) - ratio = factor by which to scale the damping coefficient - <em>tally</em> value = <em>no</em> or <em>yes</em> - <em>no</em> = do not tally the energy added/subtracted to atoms - <em>yes</em> = do tally the energy added/subtracted to atoms - <em>zero</em> value = <em>no</em> or <em>yes</em> - <em>no</em> = do not set total random force to zero - <em>yes</em> = set total random force to zero + <em>no</em> = do not thermostat rotational degrees of freedom via the angular momentum + factor = do thermostat rotational degrees of freedom via the angular momentum and apply numeric factor as discussed below +<em>gjf</em> value = <em>no</em> or <em>yes</em> + <em>no</em> = use standard formulation + <em>yes</em> = use Gronbech-Jensen/Farago formulation +<em>omega</em> value = <em>no</em> or <em>yes</em> + <em>no</em> = do not thermostat rotational degrees of freedom via the angular velocity + <em>yes</em> = do thermostat rotational degrees of freedom via the angular velocity +<em>scale</em> values = type ratio + type = atom type (1-N) + ratio = factor by which to scale the damping coefficient +<em>tally</em> value = <em>no</em> or <em>yes</em> + <em>no</em> = do not tally the energy added/subtracted to atoms + <em>yes</em> = do tally the energy added/subtracted to atoms +<em>zero</em> value = <em>no</em> or <em>yes</em> + <em>no</em> = do not set total random force to zero + <em>yes</em> = set total random force to zero </pre> </div> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>fix 3 boundary langevin 1.0 1.0 1000.0 699483 fix 1 all langevin 1.0 1.1 100.0 48279 scale 3 1.5 fix 1 all langevin 1.0 1.1 100.0 48279 angmom 3.333 </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>Apply a Langevin thermostat as described in <a class="reference internal" href="fix_langevin_eff.html#schneider"><span>(Schneider)</span></a> to a group of atoms which models an interaction with a background implicit solvent. Used with <a class="reference internal" href="fix_nve.html"><em>fix nve</em></a>, this command performs Brownian dynamics (BD), since the total force on each atom will have the form:</p> <div class="highlight-python"><div class="highlight"><pre>F = Fc + Ff + Fr Ff = - (m / damp) v Fr is proportional to sqrt(Kb T m / (dt damp)) </pre></div> </div> <p>Fc is the conservative force computed via the usual inter-particle interactions (<a class="reference internal" href="pair_style.html"><em>pair_style</em></a>, <a class="reference internal" href="bond_style.html"><em>bond_style</em></a>, etc).</p> <p>The Ff and Fr terms are added by this fix on a per-particle basis. See the <a class="reference internal" href="pair_dpd.html"><em>pair_style dpd/tstat</em></a> command for a thermostatting option that adds similar terms on a pairwise basis to pairs of interacting particles.</p> <p>Ff is a frictional drag or viscous damping term proportional to the particle’s velocity. The proportionality constant for each atom is computed as m/damp, where m is the mass of the particle and damp is the damping factor specified by the user.</p> <p>Fr is a force due to solvent atoms at a temperature T randomly bumping into the particle. As derived from the fluctuation/dissipation theorem, its magnitude as shown above is proportional to sqrt(Kb T m / dt damp), where Kb is the Boltzmann constant, T is the desired temperature, m is the mass of the particle, dt is the timestep size, and damp is the damping factor. Random numbers are used to randomize the direction and magnitude of this force as described in <a class="reference internal" href="fix_langevin_eff.html#dunweg"><span>(Dunweg)</span></a>, where a uniform random number is used (instead of a Gaussian random number) for speed.</p> <p>Note that unless you use the <em>omega</em> or <em>angmom</em> keywords, the thermostat effect of this fix is applied to only the translational degrees of freedom for the particles, which is an important consideration for finite-size particles, which have rotational degrees of freedom, are being thermostatted. The translational degrees of freedom can also have a bias velocity removed from them before thermostatting takes place; see the description below.</p> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">Unlike the <a class="reference internal" href="fix_nh.html"><em>fix nvt</em></a> command which performs Nose/Hoover thermostatting AND time integration, this fix does NOT perform time integration. It only modifies forces to effect thermostatting. Thus you must use a separate time integration fix, like <a class="reference internal" href="fix_nve.html"><em>fix nve</em></a> to actually update the velocities and positions of atoms using the modified forces. Likewise, this fix should not normally be used on atoms that also have their temperature controlled by another fix - e.g. by <a class="reference internal" href="fix_nh.html"><em>fix nvt</em></a> or <a class="reference internal" href="fix_temp_rescale.html"><em>fix temp/rescale</em></a> commands.</p> </div> <p>See <a class="reference internal" href="Section_howto.html#howto-16"><span>this howto section</span></a> of the manual for a discussion of different ways to compute temperature and perform thermostatting.</p> <p>The desired temperature at each timestep is a ramped value during the run from <em>Tstart</em> to <em>Tstop</em>.</p> <p><em>Tstart</em> can be specified as an equal-style or atom-style <a class="reference internal" href="variable.html"><em>variable</em></a>. In this case, the <em>Tstop</em> setting is ignored. If the value is a variable, it should be specified as v_name, where name is the variable name. In this case, the variable will be evaluated each timestep, and its value used to determine the target temperature.</p> <p>Equal-style variables can specify formulas with various mathematical functions, and include <a class="reference internal" href="thermo_style.html"><em>thermo_style</em></a> command keywords for the simulation box parameters and timestep and elapsed time. Thus it is easy to specify a time-dependent temperature.</p> <p>Atom-style variables can specify the same formulas as equal-style variables but can also include per-atom values, such as atom coordinates. Thus it is easy to specify a spatially-dependent temperature with optional time-dependence as well.</p> <p>Like other fixes that perform thermostatting, this fix can be used with <a class="reference internal" href="compute.html"><em>compute commands</em></a> that remove a “bias” from the atom velocities. E.g. removing the center-of-mass velocity from a group of atoms or removing the x-component of velocity from the calculation. This is not done by default, but only if the <a class="reference internal" href="fix_modify.html"><em>fix_modify</em></a> command is used to assign a temperature compute to this fix that includes such a bias term. See the doc pages for individual <a class="reference internal" href="compute.html"><em>compute commands</em></a> to determine which ones include a bias. In this case, the thermostat works in the following manner: bias is removed from each atom, thermostatting is performed on the remaining thermal degrees of freedom, and the bias is added back in.</p> <p>The <em>damp</em> parameter is specified in time units and determines how rapidly the temperature is relaxed. For example, a value of 100.0 means to relax the temperature in a timespan of (roughly) 100 time units (tau or fmsec or psec - see the <a class="reference internal" href="units.html"><em>units</em></a> command). The damp factor can be thought of as inversely related to the viscosity of the solvent. I.e. a small relaxation time implies a hi-viscosity solvent and vice versa. See the discussion about gamma and viscosity in the documentation for the <a class="reference internal" href="fix_viscous.html"><em>fix viscous</em></a> command for more details.</p> <p>The random # <em>seed</em> must be a positive integer. A Marsaglia random number generator is used. Each processor uses the input seed to generate its own unique seed and its own stream of random numbers. Thus the dynamics of the system will not be identical on two runs on different numbers of processors.</p> <hr class="docutils" /> <p>The keyword/value option pairs are used in the following ways.</p> <p>The keyword <em>angmom</em> and <em>omega</em> keywords enable thermostatting of rotational degrees of freedom in addition to the usual translational degrees of freedom. This can only be done for finite-size particles.</p> <p>A simulation using atom_style sphere defines an omega for finite-size spheres. A simulation using atom_style ellipsoid defines a finite size and shape for aspherical particles and an angular momentum. The Langevin formulas for thermostatting the rotational degrees of freedom are the same as those above, where force is replaced by torque, m is replaced by the moment of inertia I, and v is replaced by omega (which is derived from the angular momentum in the case of aspherical particles).</p> <p>The rotational temperature of the particles can be monitored by the <a class="reference internal" href="compute_temp_sphere.html"><em>compute temp/sphere</em></a> and <a class="reference internal" href="compute_temp_asphere.html"><em>compute temp/asphere</em></a> commands with their rotate options.</p> <p>For the <em>omega</em> keyword there is also a scale factor of 10.0/3.0 that is applied as a multiplier on the Ff (damping) term in the equation above and of sqrt(10.0/3.0) as a multiplier on the Fr term. This does not affect the thermostatting behaviour of the Langevin formalism but insures that the randomized rotational diffusivity of spherical particles is correct.</p> <p>For the <em>angmom</em> keyword a similar scale factor is needed which is 10.0/3.0 for spherical particles, but is anisotropic for aspherical particles (e.g. ellipsoids). Currently LAMMPS only applies an isotropic scale factor, and you can choose its magnitude as the specified value of the <em>angmom</em> keyword. If your aspherical particles are (nearly) spherical than a value of 10.0/3.0 = 3.333 is a good choice. If they are highly aspherical, a value of 1.0 is as good a choice as any, since the effects on rotational diffusivity of the particles will be incorrect regardless. Note that for any reasonable scale factor, the thermostatting effect of the <em>angmom</em> keyword on the rotational temperature of the aspherical particles should still be valid.</p> <p>The keyword <em>scale</em> allows the damp factor to be scaled up or down by the specified factor for atoms of that type. This can be useful when different atom types have different sizes or masses. It can be used multiple times to adjust damp for several atom types. Note that specifying a ratio of 2 increases the relaxation time which is equivalent to the solvent’s viscosity acting on particles with 1/2 the diameter. This is the opposite effect of scale factors used by the <a class="reference internal" href="fix_viscous.html"><em>fix viscous</em></a> command, since the damp factor in fix <em>langevin</em> is inversely related to the gamma factor in fix <em>viscous</em>. Also note that the damping factor in fix <em>langevin</em> includes the particle mass in Ff, unlike fix <em>viscous</em>. Thus the mass and size of different atom types should be accounted for in the choice of ratio values.</p> <p>The keyword <em>tally</em> enables the calculation of the cumulative energy added/subtracted to the atoms as they are thermostatted. Effectively it is the energy exchanged between the infinite thermal reservoir and 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.</p> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">this accumulated energy does NOT include kinetic energy removed by the <em>zero</em> flag. LAMMPS will print a warning when both options are active.</p> </div> <p>The keyword <em>zero</em> 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 applies a small random force to the entire system, and the center-of-mass of the system undergoes a slow random walk. If the keyword <em>zero</em> is set to <em>yes</em>, the total random force is set exactly to zero by subtracting off an equal part of it from each atom in the group. As a result, the center-of-mass of a system with zero initial momentum will not drift over time.</p> <p>The keyword <em>gjf</em> can be used to run the <a class="reference internal" href="#gronbech-jensen"><span>Gronbech-Jensen/Farago</span></a> time-discretization of the Langevin model. As described in the papers cited below, the purpose of this method is to enable longer timesteps to be used (up to the numerical stability limit of the integrator), while still producing the correct Boltzmann distribution of atom positions. It is implemented within LAMMPS, by changing how the the random force is applied so that it is composed of the average of two random forces representing half-contributions from the previous and current time intervals.</p> <p>In common with all methods based on Verlet integration, the discretized velocities generated by this method in conjunction with velocity-Verlet time integration are not exactly conjugate to the positions. As a result the temperature (computed from the discretized velocities) will be systematically lower than the target temperature, by a small amount which grows with the timestep. Nonetheless, the distribution of atom positions will still be consistent with the target temperature.</p> <p>As an example of using the <em>gjf</em> keyword, for molecules containing C-H bonds, configurational properties generated with dt = 2.5 fs and tdamp = 100 fs are indistinguishable from dt = 0.5 fs. Because the velocity distribution systematically decreases with increasing timestep, the method should not be used to generate properties that depend on the velocity distribution, such as the velocity autocorrelation function (VACF). In this example, the velocity distribution at dt = 2.5fs generates an average temperature of 220 K, instead of 300 K.</p> <hr class="docutils" /> <p>Styles with a <em>cuda</em>, <em>gpu</em>, <em>intel</em>, <em>kk</em>, <em>omp</em>, or <em>opt</em> suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available hardware, as discussed in <a class="reference internal" href="Section_accelerate.html"><em>Section_accelerate</em></a> of the manual. The accelerated styles take the same arguments and should produce the same results, except for round-off and precision issues.</p> <p>These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if LAMMPS was built with those packages. See the <a class="reference internal" href="Section_start.html#start-3"><span>Making LAMMPS</span></a> section for more info.</p> <p>You can specify the accelerated styles explicitly in your input script by including their suffix, or you can use the <a class="reference internal" href="Section_start.html#start-7"><span>-suffix command-line switch</span></a> when you invoke LAMMPS, or you can use the <a class="reference internal" href="suffix.html"><em>suffix</em></a> command in your input script.</p> <p>See <a class="reference internal" href="Section_accelerate.html"><em>Section_accelerate</em></a> of the manual for more instructions on how to use the accelerated styles effectively.</p> </div> <hr class="docutils" /> <div class="section" id="restart-fix-modify-output-run-start-stop-minimize-info"> <h2>Restart, fix_modify, output, run start/stop, minimize info<a class="headerlink" href="#restart-fix-modify-output-run-start-stop-minimize-info" title="Permalink to this headline">¶</a></h2> <p>No information about this fix is written to <a class="reference internal" href="restart.html"><em>binary restart files</em></a>. Because the state of the random number generator is not saved in restart files, this means you cannot do “exact” restarts with this fix, where the simulation continues on the same as if no restart had taken place. However, in a statistical sense, a restarted simulation should produce the same behavior.</p> <p>The <a class="reference internal" href="fix_modify.html"><em>fix_modify</em></a> <em>temp</em> option is supported by this fix. You can use it to assign a temperature <a class="reference internal" href="compute.html"><em>compute</em></a> you have defined to this fix which will be used in its thermostatting procedure, as described above. For consistency, the group used by this fix and by the compute should be the same.</p> <p>The <a class="reference internal" href="fix_modify.html"><em>fix_modify</em></a> <em>energy</em> option is supported by this fix to add the energy change induced by Langevin thermostatting to the system’s potential energy as part of <a class="reference internal" href="thermo_style.html"><em>thermodynamic output</em></a>. Note that use of this option requires setting the <em>tally</em> keyword to <em>yes</em>.</p> <p>This fix computes a global scalar which can be accessed by various <a class="reference internal" href="Section_howto.html#howto-15"><span>output commands</span></a>. The scalar is the cummulative energy change due to this fix. The scalar value calculated by this fix is “extensive”. Note that calculation of this quantity requires setting the <em>tally</em> keyword to <em>yes</em>.</p> <p>This fix can ramp its target temperature over multiple runs, using the <em>start</em> and <em>stop</em> keywords of the <a class="reference internal" href="run.html"><em>run</em></a> command. See the <a class="reference internal" href="run.html"><em>run</em></a> command for details of how to do this.</p> <p>This fix is not invoked during <a class="reference internal" href="minimize.html"><em>energy minimization</em></a>.</p> </div> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <blockquote> <div>none</div></blockquote> </div> <div class="section" id="related-commands"> <h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2> <p><a class="reference internal" href="fix_nh.html"><em>fix nvt</em></a>, <a class="reference internal" href="fix_temp_rescale.html"><em>fix temp/rescale</em></a>, <a class="reference internal" href="fix_viscous.html"><em>fix viscous</em></a>, <a class="reference internal" href="fix_nh.html"><em>fix nvt</em></a>, <a class="reference internal" href="pair_dpd.html"><em>pair_style dpd/tstat</em></a></p> </div> <div class="section" id="default"> <h2>Default<a class="headerlink" href="#default" title="Permalink to this headline">¶</a></h2> <p>The option defaults are angmom = no, omega = no, scale = 1.0 for all types, tally = no, zero = no, gjf = no.</p> <hr class="docutils" /> <p id="dunweg"><strong>(Dunweg)</strong> Dunweg and Paul, Int J of Modern Physics C, 2, 817-27 (1991).</p> <p id="schneider"><strong>(Schneider)</strong> Schneider and Stoll, Phys Rev B, 17, 1302 (1978).</p> <p id="gronbech-jensen"><strong>(Gronbech-Jensen)</strong> Gronbech-Jensen and Farago, Mol Phys, 111, 983 (2013); Gronbech-Jensen, Hayre, and Farago, Comp Phys Comm, 185, 524 (2014)</p> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/fix_langevin_drude.html b/doc/fix_langevin_drude.html index b181e2717..9929070af 100644 --- a/doc/fix_langevin_drude.html +++ b/doc/fix_langevin_drude.html @@ -1,434 +1,434 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>fix langevin/drude command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>fix langevin/drude command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="fix-langevin-drude-command"> <span id="index-0"></span><h1>fix langevin/drude command<a class="headerlink" href="#fix-langevin-drude-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>fix ID group-ID langevin/drude Tcom damp_com seed_com Tdrude damp_drude seed_drude keyword values ... </pre></div> </div> <ul class="simple"> <li>ID, group-ID are documented in <a class="reference internal" href="fix.html"><em>fix</em></a> command</li> <li>langevin/drude = style name of this fix command</li> <li>Tcom = desired temperature of the centers of mass (temperature units)</li> <li>damp_com = damping parameter for the thermostat on centers of mass (time units)</li> <li>seed_com = random number seed to use for white noise of the thermostat on centers of mass (positive integer)</li> <li>Tdrude = desired temperature of the Drude oscillators (temperature units)</li> <li>damp_drude = damping parameter for the thermostat on Drude oscillators (time units)</li> <li>seed_drude = random number seed to use for white noise of the thermostat on Drude oscillators (positive integer)</li> <li>zero or more keyword/value pairs may be appended</li> <li>keyword = <em>zero</em></li> </ul> <pre class="literal-block"> <em>zero</em> value = <em>no</em> or <em>yes</em> - <em>no</em> = do not set total random force on centers of mass to zero - <em>yes</em> = set total random force on centers of mass to zero + <em>no</em> = do not set total random force on centers of mass to zero + <em>yes</em> = set total random force on centers of mass to zero </pre> </div> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>fix 3 all langevin/drude 300.0 100.0 19377 1.0 20.0 83451 fix 1 all langevin/drude 298.15 100.0 19377 5.0 10.0 83451 zero yes </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>Apply two Langevin thermostats as described in <a class="reference internal" href="tutorial_drude.html#jiang"><span>(Jiang)</span></a> for thermalizing the reduced degrees of freedom of Drude oscillators. This link describes how to use the <a class="reference internal" href="tutorial_drude.html"><em>thermalized Drude oscillator model</em></a> in LAMMPS and polarizable models in LAMMPS are discussed in <a class="reference internal" href="Section_howto.html#howto-25"><span>this Section</span></a>.</p> <p>Drude oscillators are a way to simulate polarizables atoms, by splitting them into a core and a Drude particle bound by a harmonic bond. The thermalization works by transforming the particles degrees of freedom by these equations. In these equations upper case denotes atomic or center of mass values and lower case denotes Drude particle or dipole values. Primes denote the transformed (reduced) values, while bare letters denote the original values.</p> <p>Velocities: begin{equation} V’ = frac {M, V + m, v} {M’} end{equation} begin{equation} v’ = v - V end{equation} Masses: begin{equation} M’ = M + m end{equation} begin{equation} m’ = frac {M, m } {M’} end{equation} The Langevin forces are computed as begin{equation} F’ = - frac {M’} {mathtt{damp_com}}, V’ + F_r’ end{equation} begin{equation} f’ = - frac {m’} {mathtt{damp_drude}}, v’ + f_r’ end{equation} (F_r’) is a random force proportional to (sqrt { frac {2, k_B mathtt{Tcom}, m’}</p> <blockquote> <div><blockquote> <div>{mathrm dt, mathtt{damp_com} }</div></blockquote> <p>} ).</p> </div></blockquote> <p>(f_r’) is a random force proportional to (sqrt { frac {2, k_B mathtt{Tdrude}, m’}</p> <blockquote> <div><blockquote> <div>{mathrm dt, mathtt{damp_drude} }</div></blockquote> <p>} ).</p> </div></blockquote> <p>Then the real forces acting on the particles are computed from the inverse transform: begin{equation} F = frac M {M’}, F’ - f’ end{equation} begin{equation} f = frac m {M’}, F’ + f’ end{equation}</p> <p>This fix also thermostates non-polarizable atoms in the group at temperature <em>Tcom</em>, as if they had a massless Drude partner. The Drude particles themselves need not be in the group. The center of mass and the dipole are thermostated iff the core atom is in the group.</p> <p>Note that the thermostat effect of this fix is applied to only the translational degrees of freedom of the particles, which is an important consideration if finite-size particles, which have rotational degrees of freedom, are being thermostated. The translational degrees of freedom can also have a bias velocity removed from them before thermostating takes place; see the description below.</p> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">Like the <a class="reference internal" href="fix_langevin.html"><em>fix langevin</em></a> command, this fix does NOT perform time integration. It only modifies forces to effect thermostating. Thus you must use a separate time integration fix, like <a class="reference internal" href="fix_nve.html"><em>fix nve</em></a> or <a class="reference internal" href="fix_nh.html"><em>fix nph</em></a> to actually update the velocities and positions of atoms using the modified forces. Likewise, this fix should not normally be used on atoms that also have their temperature controlled by another fix - e.g. by <a class="reference internal" href="fix_nh.html"><em>fix nvt</em></a> or <a class="reference internal" href="fix_temp_rescale.html"><em>fix temp/rescale</em></a> commands.</p> </div> <p>See <a class="reference internal" href="Section_howto.html#howto-16"><span>this howto section</span></a> of the manual for a discussion of different ways to compute temperature and perform thermostating.</p> <hr class="docutils" /> <p>This fix requires each atom know whether it is a Drude particle or not. You must therefore use the <a class="reference internal" href="fix_drude.html"><em>fix drude</em></a> command to specify the Drude status of each atom type.</p> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">only the Drude core atoms need to be in the group specified for this fix. A Drude electron will be transformed together with its cores even if it is not itself in the group. It is safe to include Drude electrons or non-polarizable atoms in the group. The non-polarizable atoms will simply not be thermostatted as if they had a massless Drude partner (electron).</p> </div> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">Ghost atoms need to know their velocity for this fix to act correctly. You must use the <a class="reference internal" href="comm_modify.html"><em>comm_modify</em></a> command to enable this, e.g.</p> </div> <div class="highlight-python"><div class="highlight"><pre>comm_modify vel yes </pre></div> </div> <hr class="docutils" /> <p><em>Tcom</em> is the target temperature of the centers of mass, which would be used to thermostate the non-polarizable atoms. <em>Tdrude</em> is the (normally low) target temperature of the core-Drude particle pairs (dipoles). <em>Tcom</em> and <em>Tdrude</em> can be specified as an equal-style <a class="reference internal" href="variable.html"><em>variable</em></a>. If the value is a variable, it should be specified as v_name, where name is the variable name. In this case, the variable will be evaluated each timestep, and its value used to determine the target temperature.</p> <p>Equal-style variables can specify formulas with various mathematical functions, and include <a class="reference internal" href="thermo_style.html"><em>thermo_style</em></a> command keywords for the simulation box parameters and timestep and elapsed time. Thus it is easy to specify a time-dependent temperature.</p> <p>Like other fixes that perform thermostating, this fix can be used with <a class="reference internal" href="compute.html"><em>compute commands</em></a> that remove a “bias” from the atom velocities. E.g. removing the center-of-mass velocity from a group of atoms. This is not done by default, but only if the <a class="reference internal" href="fix_modify.html"><em>fix_modify</em></a> command is used to assign a temperature compute to this fix that includes such a bias term. See the doc pages for individual <a class="reference internal" href="compute.html"><em>compute commands</em></a> to determine which ones include a bias. In this case, the thermostat works in the following manner: bias is removed from each atom, thermostating is performed on the remaining thermal degrees of freedom, and the bias is added back in. NOTE: this feature has not been tested.</p> <p>Note: The temperature thermostating the core-Drude particle pairs should be chosen low enough, so as to mimic as closely as possible the self-consistent minimization. It must however be high enough, so that the dipoles can follow the local electric field exerted by the neighbouring atoms. The optimal value probably depends on the temperature of the centers of mass and on the mass of the Drude particles.</p> <p><em>damp_com</em> is the characteristic time for reaching thermal equilibrium of the centers of mass. For example, a value of 100.0 means to relax the temperature of the centers of mass in a timespan of (roughly) 100 time units (tau or fmsec or psec - see the <a class="reference internal" href="units.html"><em>units</em></a> command). <em>damp_drude</em> is the characteristic time for reaching thermal equilibrium of the dipoles. It is typically a few timesteps.</p> <p>The number <em>seed_com</em> and <em>seed_drude</em> are positive integers. They set the seeds of the Marsaglia random number generators used for generating the random forces on centers of mass and on the dipoles. Each processor uses the input seed to generate its own unique seed and its own stream of random numbers. Thus the dynamics of the system will not be identical on two runs on different numbers of processors.</p> <p>The keyword <em>zero</em> can be used to eliminate drift due to the thermostat on centers of mass. Because the random forces on different centers of mass are independent, they do not sum exactly to zero. As a result, this fix applies a small random force to the entire system, and the momentum of the total center of mass of the system undergoes a slow random walk. If the keyword <em>zero</em> is set to <em>yes</em>, the total random force on the centers of mass is set exactly to zero by subtracting off an equal part of it from each center of mass in the group. As a result, the total center of mass of a system with zero initial momentum will not drift over time.</p> <p>The actual temperatures of cores and Drude particles, in center-of-mass and relatice coordinates, respectively, can be calculated using the <a class="reference internal" href="compute_temp_drude.html"><em>compute temp/drude</em></a> command.</p> <hr class="docutils" /> <p>Usage example for rigid bodies in the NPT ensemble:</p> <div class="highlight-python"><div class="highlight"><pre>comm_modify vel yes fix TEMP all langevin/drude 300. 100. 1256 1. 20. 13977 zero yes fix NPH ATOMS rigid/nph/small molecule iso 1. 1. 500. fix NVE DRUDES nve thermo_style custom step cpu etotal ke pe ebond ecoul elong press vol temp c_TATOM c_TDRUDE f_TEMP[1] f_TEMP[2] </pre></div> </div> <p>Comments:</p> <ul class="simple"> <li>Drude particles should not be in the rigid group, otherwise the Drude</li> <li>oscillators will be frozen and the system will lose its</li> <li>polarizability. <em>zero yes</em> avoids a drift of the center of mass of</li> <li>the system, but is a bit slower. use two different random seeds to</li> <li>avoid unphysical correlations. temperature is controlled by the fix</li> <li><em>langevin/drude</em>, so the time-integration fixes do not thermostate.</li> <li>don’t forget to time-integrate both cores and Drude particles.</li> <li>pressure is time-integrated only once by using <em>nve</em> for Drude</li> <li>particles and <em>nph</em> for atoms/cores (or vice versa). Do not use <em>nph</em></li> <li>for both. contrary to the alternative thermostating using Nose-Hoover</li> <li>thermostat fix <em>npt</em> and fix <em>drude/transform</em>, the <em>fix_modify</em></li> <li>command is not required here, because the fix <em>nph</em> computes the</li> <li>global pressure even if its group is <em>ATOMS</em>. This is what we want. If</li> <li>we thermostated <em>ATOMS</em> using <em>npt</em>, the pressure should be the global</li> <li>one, but the temperature should be only that of the cores. That’s why</li> <li>the command <em>fix_modify</em> should be called in that case. f_TEMP[1]</li> <li>and f_TEMP[2] contain the reduced temperatures of the cores/atoms</li> <li>and of the Drude particles (see below). They should be 300. and 1. on</li> <li>average here.</li> </ul> </div> <hr class="docutils" /> <div class="section" id="restart-fix-modify-output-run-start-stop-minimize-info"> <h2>Restart, fix_modify, output, run start/stop, minimize info<a class="headerlink" href="#restart-fix-modify-output-run-start-stop-minimize-info" title="Permalink to this headline">¶</a></h2> <p>No information about this fix is written to <a class="reference internal" href="restart.html"><em>binary restart files</em></a>. Because the state of the random number generator is not saved in restart files, this means you cannot do “exact” restarts with this fix, where the simulation continues on the same as if no restart had taken place. However, in a statistical sense, a restarted simulation should produce the same behavior.</p> <p>The <a class="reference internal" href="fix_modify.html"><em>fix_modify</em></a> <em>temp</em> option is supported by this fix. You can use it to assign a temperature <a class="reference internal" href="compute.html"><em>compute</em></a> you have defined to this fix which will be used in its thermostating procedure, as described above. For consistency, the group used by the compute should include the group of this fix and the Drude particles.</p> <p>This fix is not invoked during <a class="reference internal" href="minimize.html"><em>energy minimization</em></a>.</p> </div> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <blockquote> <div>none</div></blockquote> </div> <div class="section" id="related-commands"> <h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2> <p><a class="reference internal" href="fix_langevin.html"><em>fix langevin</em></a>, <a class="reference internal" href="fix_drude.html"><em>fix drude</em></a>, <a class="reference internal" href="fix_drude_transform.html"><em>fix drude/transform</em></a>, <a class="reference internal" href="compute_temp_drude.html"><em>compute temp/drude</em></a>, <a class="reference internal" href="pair_thole.html"><em>pair_style thole</em></a></p> </div> <div class="section" id="default"> <h2>Default<a class="headerlink" href="#default" title="Permalink to this headline">¶</a></h2> <p>The option defaults are zero = no.</p> <hr class="docutils" /> <p id="jiang"><strong>(Jiang)</strong> Jiang, Hardy, Phillips, MacKerell, Schulten, and Roux, J Phys Chem Lett, 2, 87-92 (2011).</p> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/fix_langevin_eff.html b/doc/fix_langevin_eff.html index 8b06af1be..a46ea6eab 100644 --- a/doc/fix_langevin_eff.html +++ b/doc/fix_langevin_eff.html @@ -1,290 +1,290 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>fix langevin/eff command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>fix langevin/eff command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="fix-langevin-eff-command"> <span id="index-0"></span><h1>fix langevin/eff command<a class="headerlink" href="#fix-langevin-eff-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>fix ID group-ID langevin/eff Tstart Tstop damp seed keyword values ... </pre></div> </div> <ul class="simple"> <li>ID, group-ID are documented in <a class="reference internal" href="fix.html"><em>fix</em></a> command</li> <li>langevin/eff = style name of this fix command</li> <li>Tstart,Tstop = desired temperature at start/end of run (temperature units)</li> <li>damp = damping parameter (time units)</li> <li>seed = random number seed to use for white noise (positive integer)</li> <li>zero or more keyword/value pairs may be appended</li> </ul> <pre class="literal-block"> keyword = <em>scale</em> or <em>tally</em> or <em>zero</em> <em>scale</em> values = type ratio type = atom type (1-N) ratio = factor by which to scale the damping coefficient <em>tally</em> values = <em>no</em> or <em>yes</em> <em>no</em> = do not tally the energy added/subtracted to atoms <em>yes</em> = do tally the energy added/subtracted to atoms </pre> <pre class="literal-block"> <em>zero</em> value = <em>no</em> or <em>yes</em> - <em>no</em> = do not set total random force to zero - <em>yes</em> = set total random force to zero + <em>no</em> = do not set total random force to zero + <em>yes</em> = set total random force to zero </pre> </div> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>fix 3 boundary langevin/eff 1.0 1.0 10.0 699483 fix 1 all langevin/eff 1.0 1.1 10.0 48279 scale 3 1.5 </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>Apply a Langevin thermostat as described in <a class="reference internal" href="#schneider"><span>(Schneider)</span></a> to a group of nuclei and electrons in the <a class="reference internal" href="pair_eff.html"><em>electron force field</em></a> model. Used with <a class="reference internal" href="fix_nve_eff.html"><em>fix nve/eff</em></a>, this command performs Brownian dynamics (BD), since the total force on each atom will have the form:</p> <div class="highlight-python"><div class="highlight"><pre>F = Fc + Ff + Fr Ff = - (m / damp) v Fr is proportional to sqrt(Kb T m / (dt damp)) </pre></div> </div> <p>Fc is the conservative force computed via the usual inter-particle interactions (<a class="reference internal" href="pair_style.html"><em>pair_style</em></a>).</p> <p>The Ff and Fr terms are added by this fix on a per-particle basis.</p> <p>The operation of this fix is exactly like that described by the <a class="reference internal" href="fix_langevin.html"><em>fix langevin</em></a> command, except that the thermostatting is also applied to the radial electron velocity for electron particles.</p> </div> <div class="section" id="restart-fix-modify-output-run-start-stop-minimize-info"> <h2>Restart, fix_modify, output, run start/stop, minimize info<a class="headerlink" href="#restart-fix-modify-output-run-start-stop-minimize-info" title="Permalink to this headline">¶</a></h2> <p>No information about this fix is written to <a class="reference internal" href="restart.html"><em>binary restart files</em></a>. Because the state of the random number generator is not saved in restart files, this means you cannot do “exact” restarts with this fix, where the simulation continues on the same as if no restart had taken place. However, in a statistical sense, a restarted simulation should produce the same behavior.</p> <p>The <a class="reference internal" href="fix_modify.html"><em>fix_modify</em></a> <em>temp</em> option is supported by this fix. You can use it to assign a temperature <a class="reference internal" href="compute.html"><em>compute</em></a> you have defined to this fix which will be used in its thermostatting procedure, as described above. For consistency, the group used by this fix and by the compute should be the same.</p> <p>The <a class="reference internal" href="fix_modify.html"><em>fix_modify</em></a> <em>energy</em> option is supported by this fix to add the energy change induced by Langevin thermostatting to the system’s potential energy as part of <a class="reference internal" href="thermo_style.html"><em>thermodynamic output</em></a>. Note that use of this option requires setting the <em>tally</em> keyword to <em>yes</em>.</p> <p>This fix computes a global scalar which can be accessed by various <a class="reference internal" href="Section_howto.html#howto-15"><span>output commands</span></a>. The scalar is the cummulative energy change due to this fix. The scalar value calculated by this fix is “extensive”. Note that calculation of this quantity requires setting the <em>tally</em> keyword to <em>yes</em>.</p> <p>This fix can ramp its target temperature over multiple runs, using the <em>start</em> and <em>stop</em> keywords of the <a class="reference internal" href="run.html"><em>run</em></a> command. See the <a class="reference internal" href="run.html"><em>run</em></a> command for details of how to do this.</p> <p>This fix is not invoked during <a class="reference internal" href="minimize.html"><em>energy minimization</em></a>.</p> </div> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <blockquote> <div>none</div></blockquote> <p>This fix is part of the USER-EFF package. It is only enabled if LAMMPS was built with that package. See the <a class="reference internal" href="Section_start.html#start-3"><span>Making LAMMPS</span></a> section for more info.</p> </div> <div class="section" id="related-commands"> <h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2> <p><a class="reference internal" href="fix_langevin.html"><em>fix langevin</em></a></p> </div> <div class="section" id="default"> <h2>Default<a class="headerlink" href="#default" title="Permalink to this headline">¶</a></h2> <p>The option defaults are scale = 1.0 for all types and tally = no.</p> <hr class="docutils" /> <p id="dunweg"><strong>(Dunweg)</strong> Dunweg and Paul, Int J of Modern Physics C, 2, 817-27 (1991).</p> <p id="schneider"><strong>(Schneider)</strong> Schneider and Stoll, Phys Rev B, 17, 1302 (1978).</p> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/fix_lb_fluid.html b/doc/fix_lb_fluid.html index 563c6d687..c38a83961 100644 --- a/doc/fix_lb_fluid.html +++ b/doc/fix_lb_fluid.html @@ -1,498 +1,498 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>fix lb/fluid command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>fix lb/fluid command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="fix-lb-fluid-command"> <span id="index-0"></span><h1>fix lb/fluid command<a class="headerlink" href="#fix-lb-fluid-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>fix ID group-ID lb/fluid nevery LBtype viscosity density keyword values ... </pre></div> </div> <ul class="simple"> <li>ID, group-ID are documented in <a class="reference internal" href="fix.html"><em>fix</em></a> command</li> <li>lb/fluid = style name of this fix command</li> <li>nevery = update the lattice-Boltzmann fluid every this many timesteps</li> <li>LBtype = 1 to use the standard finite difference LB integrator, 2 to use the LB integrator of <a class="reference internal" href="#ollila"><span>Ollila et al.</span></a></li> <li>viscosity = the fluid viscosity (units of mass/(time*length)).</li> <li>density = the fluid density.</li> <li>zero or more keyword/value pairs may be appended</li> <li>keyword = <em>setArea</em> or <em>setGamma</em> or <em>scaleGamma</em> or <em>dx</em> or <em>dm</em> or <em>a0</em> or <em>noise</em> or <em>calcforce</em> or <em>trilinear</em> or <em>D3Q19</em> or <em>read_restart</em> or <em>write_restart</em> or <em>zwall_velocity</em> or <em>bodyforce</em> or <em>printfluid</em></li> </ul> <pre class="literal-block"> <em>setArea</em> values = type node_area - type = atom type (1-N) - node_area = portion of the surface area of the composite object associated with the particular atom type (used when the force coupling constant is set by default). - <em>setGamma</em> values = gamma - gamma = user set value for the force coupling constant. - <em>scaleGamma</em> values = type gammaFactor - type = atom type (1-N) - gammaFactor = factor to scale the <em>setGamma</em> gamma value by, for the specified atom type. - <em>dx</em> values = dx_LB = the lattice spacing. - <em>dm</em> values = dm_LB = the lattice-Boltzmann mass unit. - <em>a0</em> values = a_0_real = the square of the speed of sound in the fluid. - <em>noise</em> values = Temperature seed - Temperature = fluid temperature. - seed = random number generator seed (positive integer) - <em>calcforce</em> values = N forcegroup-ID - N = output the force and torque every N timesteps - forcegroup-ID = ID of the particle group to calculate the force and torque of - <em>trilinear</em> values = none (used to switch from the default Peskin interpolation stencil to the trilinear stencil). - <em>D3Q19</em> values = none (used to switch from the default D3Q15, 15 velocity lattice, to the D3Q19, 19 velocity lattice). - <em>read_restart</em> values = restart file = name of the restart file to use to restart a fluid run. - <em>write_restart</em> values = N = write a restart file every N MD timesteps. - <em>zwall_velocity</em> values = velocity_bottom velocity_top = velocities along the y-direction of the bottom and top walls (located at z=zmin and z=zmax). - <em>bodyforce</em> values = bodyforcex bodyforcey bodyforcez = the x,y and z components of a constant body force added to the fluid. - <em>printfluid</em> values = N = print the fluid density and velocity at each grid point every N timesteps. + type = atom type (1-N) + node_area = portion of the surface area of the composite object associated with the particular atom type (used when the force coupling constant is set by default). +<em>setGamma</em> values = gamma + gamma = user set value for the force coupling constant. +<em>scaleGamma</em> values = type gammaFactor + type = atom type (1-N) + gammaFactor = factor to scale the <em>setGamma</em> gamma value by, for the specified atom type. +<em>dx</em> values = dx_LB = the lattice spacing. +<em>dm</em> values = dm_LB = the lattice-Boltzmann mass unit. +<em>a0</em> values = a_0_real = the square of the speed of sound in the fluid. +<em>noise</em> values = Temperature seed + Temperature = fluid temperature. + seed = random number generator seed (positive integer) +<em>calcforce</em> values = N forcegroup-ID + N = output the force and torque every N timesteps + forcegroup-ID = ID of the particle group to calculate the force and torque of +<em>trilinear</em> values = none (used to switch from the default Peskin interpolation stencil to the trilinear stencil). +<em>D3Q19</em> values = none (used to switch from the default D3Q15, 15 velocity lattice, to the D3Q19, 19 velocity lattice). +<em>read_restart</em> values = restart file = name of the restart file to use to restart a fluid run. +<em>write_restart</em> values = N = write a restart file every N MD timesteps. +<em>zwall_velocity</em> values = velocity_bottom velocity_top = velocities along the y-direction of the bottom and top walls (located at z=zmin and z=zmax). +<em>bodyforce</em> values = bodyforcex bodyforcey bodyforcez = the x,y and z components of a constant body force added to the fluid. +<em>printfluid</em> values = N = print the fluid density and velocity at each grid point every N timesteps. </pre> </div> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>fix 1 all lb/fluid 1 2 1.0 1.0 setGamma 13.0 dx 4.0 dm 10.0 calcforce sphere1 fix 1 all lb/fluid 1 1 1.0 0.0009982071 setArea 1 1.144592082 dx 2.0 dm 0.3 trilinear noise 300.0 8979873 </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>Implement a lattice-Boltzmann fluid on a uniform mesh covering the LAMMPS simulation domain. The MD particles described by <em>group-ID</em> apply a velocity dependent force to the fluid.</p> <p>The lattice-Boltzmann algorithm solves for the fluid motion governed by the Navier Stokes equations,</p> <img alt="_images/fix_lb_fluid_navierstokes.jpg" class="align-center" src="_images/fix_lb_fluid_navierstokes.jpg" /> <p>with,</p> <img alt="_images/fix_lb_fluid_viscosity.jpg" class="align-center" src="_images/fix_lb_fluid_viscosity.jpg" /> <p>where rho is the fluid density, u is the local fluid velocity, sigma is the stress tensor, F is a local external force, and eta and Lambda are the shear and bulk viscosities respectively. Here, we have implemented</p> <img alt="_images/fix_lb_fluid_stress.jpg" class="align-center" src="_images/fix_lb_fluid_stress.jpg" /> <p>with a_0 set to 1/3 (dx/dt)^2 by default.</p> <p>The algorithm involves tracking the time evolution of a set of partial distribution functions which evolve according to a velocity discretized version of the Boltzmann equation,</p> <img alt="_images/fix_lb_fluid_boltzmann.jpg" class="align-center" src="_images/fix_lb_fluid_boltzmann.jpg" /> <p>where the first term on the right hand side represents a single time relaxation towards the equilibrium distribution function, and tau is a parameter physically related to the viscosity. On a technical note, we have implemented a 15 velocity model (D3Q15) as default; however, the user can switch to a 19 velocity model (D3Q19) through the use of the <em>D3Q19</em> keyword. This fix provides the user with the choice of two algorithms to solve this equation, through the specification of the keyword <em>LBtype</em>. If <em>LBtype</em> is set equal to 1, the standard finite difference LB integrator is used. If <em>LBtype</em> is set equal to 2, the algorithm of <a class="reference internal" href="#ollila"><span>Ollila et al.</span></a> is used.</p> <p>Physical variables are then defined in terms of moments of the distribution functions,</p> <img alt="_images/fix_lb_fluid_properties.jpg" class="align-center" src="_images/fix_lb_fluid_properties.jpg" /> <p>Full details of the lattice-Boltzmann algorithm used can be found in <a class="reference internal" href="fix_lb_viscous.html#mackay"><span>Mackay et al.</span></a>.</p> <p>The fluid is coupled to the MD particles described by <em>group-ID</em> through a velocity dependent force. The contribution to the fluid force on a given lattice mesh site j due to MD particle alpha is calculated as:</p> <img alt="_images/fix_lb_fluid_fluidforce.jpg" class="align-center" src="_images/fix_lb_fluid_fluidforce.jpg" /> <p>where v_n is the velocity of the MD particle, u_f is the fluid velocity interpolated to the particle location, and gamma is the force coupling constant. Zeta is a weight assigned to the grid point, obtained by distributing the particle to the nearest lattice sites. For this, the user has the choice between a trilinear stencil, which provides a support of 8 lattice sites, or the immersed boundary method Peskin stencil, which provides a support of 64 lattice sites. While the Peskin stencil is seen to provide more stable results, the trilinear stencil may be better suited for simulation of objects close to walls, due to its smaller support. Therefore, by default, the Peskin stencil is used; however the user may switch to the trilinear stencil by specifying the keyword, <em>trilinear</em>.</p> <p>By default, the force coupling constant, gamma, is calculated according to</p> <img alt="_images/fix_lb_fluid_gammadefault.jpg" class="align-center" src="_images/fix_lb_fluid_gammadefault.jpg" /> <p>Here, m_v is the mass of the MD particle, m_u is a representative fluid mass at the particle location, and dt_collision is a collision time, chosen such that tau/dt_collision = 1 (see <a class="reference internal" href="#mackay2"><span>Mackay and Denniston</span></a> for full details). In order to calculate m_u, the fluid density is interpolated to the MD particle location, and multiplied by a volume, node_area*dx_lb, where node_area represents the portion of the surface area of the composite object associated with a given MD particle. By default, node_area is set equal to dx_lb*dx_lb; however specific values for given atom types can be set using the <em>setArea</em> keyword.</p> <p>The user also has the option of specifying their own value for the force coupling constant, for all the MD particles associated with the fix, through the use of the <em>setGamma</em> keyword. This may be useful when modelling porous particles. See <a class="reference internal" href="fix_lb_viscous.html#mackay"><span>Mackay et al.</span></a> for a detailed description of the method by which the user can choose an appropriate gamma value.</p> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">while this fix applies the force of the particles on the fluid, it does not apply the force of the fluid to the particles. When the force coupling constant is set using the default method, there is only one option to include this hydrodynamic force on the particles, and that is through the use of the <a class="reference internal" href="fix_lb_viscous.html"><em>lb/viscous</em></a> fix. This fix adds the hydrodynamic force to the total force acting on the particles, after which any of the built-in LAMMPS integrators can be used to integrate the particle motion. However, if the user specifies their own value for the force coupling constant, as mentioned in <a class="reference internal" href="fix_lb_viscous.html#mackay"><span>Mackay et al.</span></a>, the built-in LAMMPS integrators may prove to be unstable. Therefore, we have included our own integrators <a class="reference internal" href="fix_lb_rigid_pc_sphere.html"><em>fix lb/rigid/pc/sphere</em></a>, and <a class="reference internal" href="fix_lb_pc.html"><em>fix lb/pc</em></a>, to solve for the particle motion in these cases. These integrators should not be used with the <a class="reference internal" href="fix_lb_viscous.html"><em>lb/viscous</em></a> fix, as they add hydrodynamic forces to the particles directly. In addition, they can not be used if the force coupling constant has been set the default way.</p> </div> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">if the force coupling constant is set using the default method, and the <a class="reference internal" href="fix_lb_viscous.html"><em>lb/viscous</em></a> fix is NOT used to add the hydrodynamic force to the total force acting on the particles, this physically corresponds to a situation in which an infinitely massive particle is moving through the fluid (since collisions between the particle and the fluid do not act to change the particle’s velocity). Therefore, the user should set the mass of the particle to be significantly larger than the mass of the fluid at the particle location, in order to approximate an infinitely massive particle (see the dragforce test run for an example).</p> </div> <hr class="docutils" /> <p>Inside the fix, parameters are scaled by the lattice-Boltzmann timestep, dt, grid spacing, dx, and mass unit, dm. dt is set equal to (nevery*dt_MD), where dt_MD is the MD timestep. By default, dm is set equal to 1.0, and dx is chosen so that tau/(dt) = (3*eta*dt)/(rho*dx^2) is approximately equal to 1. However, the user has the option of specifying their own values for dm, and dx, by using the optional keywords <em>dm</em>, and <em>dx</em> respectively.</p> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">Care must be taken when choosing both a value for dx, and a simulation domain size. This fix uses the same subdivision of the simulation domain among processors as the main LAMMPS program. In order to uniformly cover the simulation domain with lattice sites, the lengths of the individual LAMMPS subdomains must all be evenly divisible by dx. If the simulation domain size is cubic, with equal lengths in all dimensions, and the default value for dx is used, this will automatically be satisfied.</p> </div> <p>Physical parameters describing the fluid are specified through <em>viscosity</em>, <em>density</em>, and <em>a0</em>. If the force coupling constant is set the default way, the surface area associated with the MD particles is specified using the <em>setArea</em> keyword. If the user chooses to specify a value for the force coupling constant, this is set using the <em>setGamma</em> keyword. These parameters should all be given in terms of the mass, distance, and time units chosen for the main LAMMPS run, as they are scaled by the LB timestep, lattice spacing, and mass unit, inside the fix.</p> <hr class="docutils" /> <p>The <em>setArea</em> keyword allows the user to associate a surface area with a given atom type. For example if a spherical composite object of radius R is represented as a spherical shell of N evenly distributed MD particles, all of the same type, the surface area per particle associated with that atom type should be set equal to 4*pi*R^2/N. This keyword should only be used if the force coupling constant, gamma, is set the default way.</p> <p>The <em>setGamma</em> keyword allows the user to specify their own value for the force coupling constant, gamma, instead of using the default value.</p> <p>The <em>scaleGamma</em> keyword should be used in conjunction with the <em>setGamma</em> keyword, when the user wishes to specify different gamma values for different atom types. This keyword allows the user to scale the <em>setGamma</em> gamma value by a factor, gammaFactor, for a given atom type.</p> <p>The <em>dx</em> keyword allows the user to specify a value for the LB grid spacing.</p> <p>The <em>dm</em> keyword allows the user to specify the LB mass unit.</p> <p>If the <em>a0</em> keyword is used, the value specified is used for the square of the speed of sound in the fluid. If this keyword is not present, the speed of sound squared is set equal to (1/3)*(dx/dt)^2. Setting a0 > (dx/dt)^2 is not allowed, as this may lead to instabilities.</p> <p>If the <em>noise</em> keyword is used, followed by a a positive temperature value, and a positive integer random number seed, a thermal lattice-Boltzmann algorithm is used. If <em>LBtype</em> is set equal to 1 (i.e. the standard LB integrator is chosen), the thermal LB algorithm of <a class="reference internal" href="#adhikari"><span>Adhikari et al.</span></a> is used; however if <em>LBtype</em> is set equal to 2 both the LB integrator, and thermal LB algorithm described in <a class="reference internal" href="#ollila"><span>Ollila et al.</span></a> are used.</p> <p>If the <em>calcforce</em> keyword is used, both the fluid force and torque acting on the specified particle group are printed to the screen every N timesteps.</p> <p>If the keyword <em>trilinear</em> is used, the trilinear stencil is used to interpolate the particle nodes onto the fluid mesh. By default, the immersed boundary method, Peskin stencil is used. Both of these interpolation methods are described in <a class="reference internal" href="fix_lb_viscous.html#mackay"><span>Mackay et al.</span></a>.</p> <p>If the keyword <em>D3Q19</em> is used, the 19 velocity (D3Q19) lattice is used by the lattice-Boltzmann algorithm. By default, the 15 velocity (D3Q15) lattice is used.</p> <p>If the keyword <em>write_restart</em> is used, followed by a positive integer, N, a binary restart file is printed every N LB timesteps. This restart file only contains information about the fluid. Therefore, a LAMMPS restart file should also be written in order to print out full details of the simulation.</p> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">When a large number of lattice grid points are used, the restart files may become quite large.</p> </div> <p>In order to restart the fluid portion of the simulation, the keyword <em>read_restart</em> is specified, followed by the name of the binary lb_fluid restart file to be used.</p> <p>If the <em>zwall_velocity</em> keyword is used y-velocities are assigned to the lower and upper walls. This keyword requires the presence of walls in the z-direction. This is set by assigning fixed boundary conditions in the z-direction. If fixed boundary conditions are present in the z-direction, and this keyword is not used, the walls are assumed to be stationary.</p> <p>If the <em>bodyforce</em> keyword is used, a constant body force is added to the fluid, defined by it’s x, y and z components.</p> <p>If the <em>printfluid</em> keyword is used, followed by a positive integer, N, the fluid densities and velocities at each lattice site are printed to the screen every N timesteps.</p> <hr class="docutils" /> <p>For further details, as well as descriptions and results of several test runs, see <a class="reference internal" href="fix_lb_viscous.html#mackay"><span>Mackay et al.</span></a>. Please include a citation to this paper if the lb_fluid fix is used in work contributing to published research.</p> </div> <hr class="docutils" /> <div class="section" id="restart-fix-modify-output-run-start-stop-minimize-info"> <h2>Restart, fix_modify, output, run start/stop, minimize info<a class="headerlink" href="#restart-fix-modify-output-run-start-stop-minimize-info" title="Permalink to this headline">¶</a></h2> <p>Due to the large size of the fluid data, this fix writes it’s own binary restart files, if requested, independent of the main LAMMPS <a class="reference internal" href="restart.html"><em>binary restart files</em></a>; no information about <em>lb_fluid</em> is written to the main LAMMPS <a class="reference internal" href="restart.html"><em>binary restart files</em></a>.</p> <p>None of the <a class="reference internal" href="fix_modify.html"><em>fix_modify</em></a> options are relevant to this fix. No global or per-atom quantities are stored by this fix for access by various <span class="xref std std-ref">output commands</span>. No parameter of this fix can be used with the <em>start/stop</em> keywords of the <a class="reference internal" href="run.html"><em>run</em></a> command. This fix is not invoked during <a class="reference internal" href="minimize.html"><em>energy minimization</em></a>.</p> </div> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <p>This fix is part of the USER-LB package. It is only enabled if LAMMPS was built with that package. See the <a class="reference internal" href="Section_start.html#start-3"><span>Making LAMMPS</span></a> section for more info.</p> <p>This fix can only be used with an orthogonal simulation domain.</p> <p>Walls have only been implemented in the z-direction. Therefore, the boundary conditions, as specified via the main LAMMPS boundary command must be periodic for x and y, and either fixed or periodic for z. Shrink-wrapped boundary conditions are not permitted with this fix.</p> <p>This fix must be used before any of <a class="reference internal" href="fix_lb_viscous.html"><em>fix lb/viscous</em></a>, <a class="reference internal" href="fix_lb_momentum.html"><em>fix lb/momentum</em></a>, <a class="reference internal" href="fix_lb_rigid_pc_sphere.html"><em>fix lb/rigid/pc/sphere</em></a>, and/ or <a class="reference internal" href="fix_lb_pc.html"><em>fix lb/pc</em></a> , as the fluid needs to be initialized before any of these routines try to access its properties. In addition, in order for the hydrodynamic forces to be added to the particles, this fix must be used in conjunction with the <a class="reference internal" href="fix_lb_viscous.html"><em>lb/viscous</em></a> fix if the force coupling constant is set by default, or either the <a class="reference internal" href="fix_lb_viscous.html"><em>lb/viscous</em></a> fix or one of the <a class="reference internal" href="fix_lb_rigid_pc_sphere.html"><em>lb/rigid/pc/sphere</em></a> or <a class="reference internal" href="fix_lb_pc.html"><em>lb/pc</em></a> integrators, if the user chooses to specifiy their own value for the force coupling constant.</p> </div> <div class="section" id="related-commands"> <h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2> <p><a class="reference internal" href="fix_lb_viscous.html"><em>fix lb/viscous</em></a>, <a class="reference internal" href="fix_lb_momentum.html"><em>fix lb/momentum</em></a>, <a class="reference internal" href="fix_lb_rigid_pc_sphere.html"><em>fix lb/rigid/pc/sphere</em></a>, <a class="reference internal" href="fix_lb_pc.html"><em>fix lb/pc</em></a></p> </div> <div class="section" id="default"> <h2>Default<a class="headerlink" href="#default" title="Permalink to this headline">¶</a></h2> <p>By default, the force coupling constant is set according to</p> <img alt="_images/fix_lb_fluid_gammadefault.jpg" class="align-center" src="_images/fix_lb_fluid_gammadefault.jpg" /> <p>and an area of dx_lb^2 per node, used to calculate the fluid mass at the particle node location, is assumed.</p> <p>dx is chosen such that tau/(delta t_LB) = (3 eta dt_LB)/(rho dx_lb^2) is approximately equal to 1. dm is set equal to 1.0. a0 is set equal to (1/3)*(dx_lb/dt_lb)^2. The Peskin stencil is used as the default interpolation method. The D3Q15 lattice is used for the lattice-Boltzmann algorithm. If walls are present, they are assumed to be stationary.</p> <hr class="docutils" /> <p id="ollila"><strong>(Ollila et al.)</strong> Ollila, S.T.T., Denniston, C., Karttunen, M., and Ala-Nissila, T., Fluctuating lattice-Boltzmann model for complex fluids, J. Chem. Phys. 134 (2011) 064902.</p> <p id="mackay"><strong>(Mackay et al.)</strong> Mackay, F. E., Ollila, S.T.T., and Denniston, C., Hydrodynamic Forces Implemented into LAMMPS through a lattice-Boltzmann fluid, Computer Physics Communications 184 (2013) 2021-2031.</p> <p id="mackay2"><strong>(Mackay and Denniston)</strong> Mackay, F. E., and Denniston, C., Coupling MD particles to a lattice-Boltzmann fluid through the use of conservative forces, J. Comput. Phys. 237 (2013) 289-298.</p> <p id="adhikari"><strong>(Adhikari et al.)</strong> Adhikari, R., Stratford, K., Cates, M. E., and Wagner, A. J., Fluctuating lattice Boltzmann, Europhys. Lett. 71 (2005) 473-479.</p> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/fix_lb_momentum.html b/doc/fix_lb_momentum.html index 59b26145f..548f4c521 100644 --- a/doc/fix_lb_momentum.html +++ b/doc/fix_lb_momentum.html @@ -1,259 +1,259 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>fix lb/momentum command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>fix lb/momentum command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="fix-lb-momentum-command"> <span id="index-0"></span><h1>fix lb/momentum command<a class="headerlink" href="#fix-lb-momentum-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>fix ID group-ID lb/momentum nevery keyword values ... </pre></div> </div> <ul class="simple"> <li>ID, group-ID are documented in the <a class="reference internal" href="fix.html"><em>fix</em></a> command</li> <li>lb/momentum = style name of this fix command</li> <li>nevery = adjust the momentum every this many timesteps</li> <li>zero or more keyword/value pairs may be appended</li> <li>keyword = <em>linear</em></li> </ul> <pre class="literal-block"> <em>linear</em> values = xflag yflag zflag - xflag,yflag,zflag = 0/1 to exclude/include each dimension. + xflag,yflag,zflag = 0/1 to exclude/include each dimension. </pre> </div> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>fix 1 sphere lb/momentum fix 1 all lb/momentum linear 1 1 0 </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>This fix is based on the <a class="reference internal" href="fix_momentum.html"><em>fix momentum</em></a> command, and was created to be used in place of that command, when a lattice-Boltzmann fluid is present.</p> <p>Zero the total linear momentum of the system, including both the atoms specified by group-ID and the lattice-Boltzmann fluid every nevery timesteps. This is accomplished by adjusting the particle velocities and the fluid velocities at each lattice site.</p> <div class="admonition note"> <p class="first admonition-title">Note</p> <p class="last">This fix only considers the linear momentum of the system.</p> </div> <p>By default, the subtraction is performed for each dimension. This can be changed by specifying the keyword <em>linear</em>, along with a set of three flags set to 0/1 in order to exclude/ include the corresponding dimension.</p> </div> <div class="section" id="restart-fix-modify-output-run-start-stop-minimize-info"> <h2>Restart, fix_modify, output, run start/stop, minimize info<a class="headerlink" href="#restart-fix-modify-output-run-start-stop-minimize-info" title="Permalink to this headline">¶</a></h2> <p>No information about this fix is written to <a class="reference internal" href="restart.html"><em>binary restart files</em></a>. None of the <a class="reference internal" href="fix_modify.html"><em>fix_modify</em></a> options are relevant to this fix. No global or per-atom quantities are stored by this fix for access by various <span class="xref std std-ref">output commands</span>. No parameter of this fix can be used with the <em>start/stop</em> keywords of the <a class="reference internal" href="run.html"><em>run</em></a> command. This fix is not invoked during <a class="reference internal" href="minimize.html"><em>energy minimization</em></a>.</p> </div> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <p>Can only be used if a lattice-Boltzmann fluid has been created via the <a class="reference internal" href="fix_lb_fluid.html"><em>fix lb/fluid</em></a> command, and must come after this command.</p> <p>This fix is part of the USER-LB package. It is only enabled if LAMMPS was built with that package. See the <a class="reference internal" href="Section_start.html#start-3"><span>Making LAMMPS</span></a> section for more info.</p> </div> <div class="section" id="related-commands"> <h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2> <p><a class="reference internal" href="fix_momentum.html"><em>fix momentum</em></a>, <a class="reference internal" href="fix_lb_fluid.html"><em>fix lb/fluid</em></a></p> </div> <div class="section" id="default"> <h2>Default<a class="headerlink" href="#default" title="Permalink to this headline">¶</a></h2> <p>Zeros the total system linear momentum in each dimension.</p> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/fix_lb_rigid_pc_sphere.html b/doc/fix_lb_rigid_pc_sphere.html index 711ec2554..13848ce4d 100644 --- a/doc/fix_lb_rigid_pc_sphere.html +++ b/doc/fix_lb_rigid_pc_sphere.html @@ -1,329 +1,329 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>fix lb/rigid/pc/sphere command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>fix lb/rigid/pc/sphere command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="fix-lb-rigid-pc-sphere-command"> <span id="index-0"></span><h1>fix lb/rigid/pc/sphere command<a class="headerlink" href="#fix-lb-rigid-pc-sphere-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>fix ID group-ID lb/rigid/pc/sphere bodystyle args keyword values ... </pre></div> </div> <ul> <li><p class="first">ID, group-ID are documented in <a class="reference internal" href="fix.html"><em>fix</em></a> command</p> </li> <li><p class="first">lb/rigid/pc/sphere = style name of this fix command</p> </li> <li><p class="first">bodystyle = <em>single</em> or <em>molecule</em> or <em>group</em></p> </li> <li><dl class="first docutils"> <dt><em>single</em> args = none</dt> <dd><p class="first"><em>molecule</em> args = none <em>group</em> args = N groupID1 groupID2 ...</p> <blockquote class="last"> <div><p>N = # of groups</p> </div></blockquote> </dd> </dl> <p>zero or more keyword/value pairs may be appended</p> </li> <li><p class="first">keyword = <em>force</em> or <em>torque</em> or <em>innerNodes</em></p> </li> </ul> <pre class="literal-block"> <em>force</em> values = M xflag yflag zflag - M = which rigid body from 1-Nbody (see asterisk form below) - xflag,yflag,zflag = off/on if component of center-of-mass force is active - <em>torque</em> values = M xflag yflag zflag - M = which rigid body from 1-Nbody (see asterisk form below) - xflag,yflag,zflag = off/on if component of center-of-mass torque is active - <em>innerNodes</em> values = innergroup-ID - innergroup-ID = ID of the atom group which does not experience a hydrodynamic force from the lattice-Boltzmann fluid + M = which rigid body from 1-Nbody (see asterisk form below) + xflag,yflag,zflag = off/on if component of center-of-mass force is active +<em>torque</em> values = M xflag yflag zflag + M = which rigid body from 1-Nbody (see asterisk form below) + xflag,yflag,zflag = off/on if component of center-of-mass torque is active +<em>innerNodes</em> values = innergroup-ID + innergroup-ID = ID of the atom group which does not experience a hydrodynamic force from the lattice-Boltzmann fluid </pre> </div> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>fix 1 spheres lb/rigid/pc/sphere fix 1 all lb/rigid/pc/sphere force 1 0 0 innerNodes ForceAtoms </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>This fix is based on the <a class="reference internal" href="fix_rigid.html"><em>fix rigid</em></a> command, and was created to be used in place of that fix, to integrate the equations of motion of spherical rigid bodies when a lattice-Boltzmann fluid is present with a user-specified value of the force-coupling constant. The fix uses the integration algorithm described in <a class="reference internal" href="fix_lb_viscous.html#mackay"><span>Mackay et al.</span></a> to update the positions, velocities, and orientations of a set of spherical rigid bodies experiencing velocity dependent hydrodynamic forces. The spherical bodies are assumed to rotate as solid, uniform density spheres, with moments of inertia calculated using the combined sum of the masses of all the constituent particles (which are assumed to be point particles).</p> <hr class="docutils" /> <p>By default, all of the atoms that this fix acts on experience a hydrodynamic force due to the presence of the lattice-Boltzmann fluid. However, the <em>innerNodes</em> keyword allows the user to specify atoms belonging to a rigid object which do not interact with the lattice-Boltzmann fluid (i.e. these atoms do not feel a hydrodynamic force from the lattice-Boltzmann fluid). This can be used to distinguish between atoms on the surface of a non-porous object, and those on the inside.</p> <p>This feature can be used, for example, when implementing a hard sphere interaction between two spherical objects. Instead of interactions occurring between the particles on the surfaces of the two spheres, it is desirable simply to place an atom at the center of each sphere, which does not contribute to the hydrodynamic force, and have these central atoms interact with one another.</p> <hr class="docutils" /> <p>Apart from the features described above, this fix is very similar to the rigid fix (although it includes fewer optional arguments, and assumes the constituent atoms are point particles); see <a class="reference internal" href="fix_rigid.html"><em>fix_rigid</em></a> for a complete documentation.</p> </div> <div class="section" id="restart-fix-modify-output-run-start-stop-minimize-info"> <h2>Restart, fix_modify, output, run start/stop, minimize info<a class="headerlink" href="#restart-fix-modify-output-run-start-stop-minimize-info" title="Permalink to this headline">¶</a></h2> <p>No information about the <em>rigid</em> and <em>rigid/nve</em> fixes are written to <a class="reference internal" href="restart.html"><em>binary restart files</em></a>.</p> <p>Similar to the <a class="reference internal" href="fix_rigid.html"><em>fix_rigid</em></a> command: &quot; The rigid fix computes a global scalar which can be accessed by various <a class="reference internal" href="Section_howto.html#howto-15"><span>output commands</span></a>. The scalar value calculated by these fixes is “intensive”. The scalar is the current temperature of the collection of rigid bodies. This is averaged over all rigid bodies and their translational and rotational degrees of freedom. The translational energy of a rigid body is 1/2 m v^2, where m = total mass of the body and v = the velocity of its center of mass. The rotational energy of a rigid body is 1/2 I w^2, where I = the moment of inertia tensor of the body and w = its angular velocity. Degrees of freedom constrained by the <em>force</em> and <em>torque</em> keywords are removed from this calculation.&quot;</p> <p>&quot;All of these fixes compute a global array of values which can be accessed by various <a class="reference internal" href="Section_howto.html#howto-15"><span>output commands</span></a>. The number of rows in the array is equal to the number of rigid bodies. The number of columns is 15. Thus for each rigid body, 15 values are stored: the xyz coords of the center of mass (COM), the xyz components of the COM velocity, the xyz components of the force acting on the COM, the xyz components of the torque acting on the COM, and the xyz image flags of the COM, which have the same meaning as image flags for atom positions (see the “dump” command). The force and torque values in the array are not affected by the <em>force</em> and <em>torque</em> keywords in the fix rigid command; they reflect values before any changes are made by those keywords.</p> <p>The ordering of the rigid bodies (by row in the array) is as follows. For the <em>single</em> keyword there is just one rigid body. For the <em>molecule</em> keyword, the bodies are ordered by ascending molecule ID. For the <em>group</em> keyword, the list of group IDs determines the ordering of bodies.</p> <p>The array values calculated by these fixes are “intensive”, meaning they are independent of the number of atoms in the simulation.</p> <p>No parameter of these fixes can be used with the <em>start/stop</em> keywords of the <a class="reference internal" href="run.html"><em>run</em></a> command. These fixes are not invoked during <a class="reference internal" href="minimize.html"><em>energy minimization</em></a>. &quot;</p> </div> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <p>This fix is part of the USER-LB package. It is only enabled if LAMMPS was built with that package. See the <a class="reference internal" href="Section_start.html#start-3"><span>Making LAMMPS</span></a> section for more info.</p> <p>Can only be used if a lattice-Boltzmann fluid has been created via the <a class="reference internal" href="fix_lb_fluid.html"><em>fix lb/fluid</em></a> command, and must come after this command. Should only be used if the force coupling constant used in <a class="reference internal" href="fix_lb_fluid.html"><em>fix lb/fluid</em></a> has been set by the user; this integration fix cannot be used if the force coupling constant is set by default.</p> </div> <div class="section" id="related-commands"> <h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2> <p><a class="reference internal" href="fix_lb_fluid.html"><em>fix lb/fluid</em></a>, <a class="reference internal" href="fix_lb_pc.html"><em>fix lb/pc</em></a></p> </div> <div class="section" id="default"> <h2>Default<a class="headerlink" href="#default" title="Permalink to this headline">¶</a></h2> <p>The defaults are force * on on on, and torque * on on on.</p> <hr class="docutils" /> <p id="mackay"><strong>(Mackay et al.)</strong> Mackay, F. E., Ollila, S.T.T., and Denniston, C., Hydrodynamic Forces Implemented into LAMMPS through a lattice-Boltzmann fluid, Computer Physics Communications 184 (2013) 2021-2031.</p> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/fix_modify.html b/doc/fix_modify.html index d1ea58b55..c312f598d 100644 --- a/doc/fix_modify.html +++ b/doc/fix_modify.html @@ -1,260 +1,260 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>fix_modify command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>fix_modify command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="fix-modify-command"> <span id="index-0"></span><h1>fix_modify command<a class="headerlink" href="#fix-modify-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>fix_modify fix-ID keyword value ... </pre></div> </div> <ul class="simple"> <li>fix-ID = ID of the fix to modify</li> <li>one or more keyword/value pairs may be appended</li> <li>keyword = <em>temp</em> or <em>press</em> or <em>energy</em></li> </ul> <pre class="literal-block"> <em>temp</em> value = compute ID that calculates a temperature - <em>press</em> value = compute ID that calculates a pressure - <em>energy</em> value = <em>yes</em> or <em>no</em> +<em>press</em> value = compute ID that calculates a pressure +<em>energy</em> value = <em>yes</em> or <em>no</em> </pre> </div> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>fix_modify 3 temp myTemp press myPress fix_modify 1 energy yes </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>Modify one or more parameters of a previously defined fix. Only specific fix styles support specific parameters. See the doc pages for individual fix commands for info on which ones support which fix_modify parameters.</p> <p>The <em>temp</em> keyword is used to determine how a fix computes temperature. The specified compute ID must have been previously defined by the user via the <a class="reference internal" href="compute.html"><em>compute</em></a> command and it must be a style of compute that calculates a temperature. All fixes that compute temperatures define their own compute by default, as described in their documentation. Thus this option allows the user to override the default method for computing T.</p> <p>The <em>press</em> keyword is used to determine how a fix computes pressure. The specified compute ID must have been previously defined by the user via the <a class="reference internal" href="compute.html"><em>compute</em></a> command and it must be a style of compute that calculates a pressure. All fixes that compute pressures define their own compute by default, as described in their documentation. Thus this option allows the user to override the default method for computing P.</p> <p>For fixes that calculate a contribution to the potential energy of the system, the <em>energy</em> keyword will include that contribution in thermodynamic output of potential energy. See the <a class="reference internal" href="thermo_style.html"><em>thermo_style</em></a> command for info on how potential energy is output. The contribution by itself can be printed by using the keyword f_ID in the thermo_style custom command, where ID is the fix-ID of the appropriate fix. Note that you must use this setting for a fix if you are using it when performing an <a class="reference internal" href="minimize.html"><em>energy minimization</em></a> and if you want the energy and forces it produces to be part of the optimization criteria.</p> </div> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <blockquote> <div>none</div></blockquote> </div> <div class="section" id="related-commands"> <h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2> <p><a class="reference internal" href="fix.html"><em>fix</em></a>, <a class="reference internal" href="compute_temp.html"><em>compute temp</em></a>, <a class="reference internal" href="compute_pressure.html"><em>compute pressure</em></a>, <a class="reference internal" href="thermo_style.html"><em>thermo_style</em></a></p> </div> <div class="section" id="default"> <h2>Default<a class="headerlink" href="#default" title="Permalink to this headline">¶</a></h2> <p>The option defaults are temp = ID defined by fix, press = ID defined by fix, energy = no.</p> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/fix_momentum.html b/doc/fix_momentum.html index 4f65a9396..570163e68 100644 --- a/doc/fix_momentum.html +++ b/doc/fix_momentum.html @@ -1,261 +1,261 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>fix momentum command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>fix momentum command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="fix-momentum-command"> <span id="index-0"></span><h1>fix momentum command<a class="headerlink" href="#fix-momentum-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>fix ID group-ID momentum N keyword values ... </pre></div> </div> <ul class="simple"> <li>ID, group-ID are documented in <a class="reference internal" href="fix.html"><em>fix</em></a> command</li> <li>momentum = style name of this fix command</li> <li>N = adjust the momentum every this many timesteps one or more keyword/value pairs may be appended</li> <li>keyword = <em>linear</em> or <em>angular</em> or <em>rescale</em></li> </ul> <pre class="literal-block"> <em>linear</em> values = xflag yflag zflag - xflag,yflag,zflag = 0/1 to exclude/include each dimension - <em>angular</em> values = none + xflag,yflag,zflag = 0/1 to exclude/include each dimension +<em>angular</em> values = none </pre> <pre class="literal-block"> <em>rescale</em> values = none </pre> </div> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>fix 1 all momentum 1 linear 1 1 0 fix 1 all momentum 1 linear 1 1 1 rescale fix 1 all momentum 100 linear 1 1 1 angular </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>Zero the linear and/or angular momentum of the group of atoms every N timesteps by adjusting the velocities of the atoms. One (or both) of the <em>linear</em> or <em>angular</em> keywords must be specified.</p> <p>If the <em>linear</em> keyword is used, the linear momentum is zeroed by subtracting the center-of-mass velocity of the group from each atom. This does not change the relative velocity of any pair of atoms. One or more dimensions can be excluded from this operation by setting the corresponding flag to 0.</p> <p>If the <em>angular</em> keyword is used, the angular momentum is zeroed by subtracting a rotational component from each atom.</p> <p>This command can be used to insure the entire collection of atoms (or a subset of them) does not drift or rotate during the simulation due to random perturbations (e.g. <a class="reference internal" href="fix_langevin.html"><em>fix langevin</em></a> thermostatting).</p> <p>The <em>rescale</em> keyword enables conserving the kinetic energy of the group of atoms by rescaling the velocities after the momentum was removed.</p> <p>Note that the <a class="reference internal" href="velocity.html"><em>velocity</em></a> command can be used to create initial velocities with zero aggregate linear and/or angular momentum.</p> </div> <div class="section" id="restart-fix-modify-output-run-start-stop-minimize-info"> <h2>Restart, fix_modify, output, run start/stop, minimize info<a class="headerlink" href="#restart-fix-modify-output-run-start-stop-minimize-info" title="Permalink to this headline">¶</a></h2> <p>No information about this fix is written to <a class="reference internal" href="restart.html"><em>binary restart files</em></a>. None of the <a class="reference internal" href="fix_modify.html"><em>fix_modify</em></a> options are relevant to this fix. No global or per-atom quantities are stored by this fix for access by various <a class="reference internal" href="Section_howto.html#howto-15"><span>output commands</span></a>. No parameter of this fix can be used with the <em>start/stop</em> keywords of the <a class="reference internal" href="run.html"><em>run</em></a> command. This fix is not invoked during <a class="reference internal" href="minimize.html"><em>energy minimization</em></a>.</p> </div> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <blockquote> <div>none</div></blockquote> </div> <div class="section" id="related-commands"> <h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2> <p><a class="reference internal" href="fix_recenter.html"><em>fix recenter</em></a>, <a class="reference internal" href="velocity.html"><em>velocity</em></a></p> <p><strong>Default:</strong> none</p> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/fix_move.html b/doc/fix_move.html index 70ddaa89e..980af0410 100644 --- a/doc/fix_move.html +++ b/doc/fix_move.html @@ -1,404 +1,404 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>fix move command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>fix move command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="fix-move-command"> <span id="index-0"></span><h1>fix move command<a class="headerlink" href="#fix-move-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>fix ID group-ID move style args keyword values ... </pre></div> </div> <ul class="simple"> <li>ID, group-ID are documented in <a class="reference internal" href="fix.html"><em>fix</em></a> command</li> <li>move = style name of this fix command</li> <li>style = <em>linear</em> or <em>wiggle</em> or <em>rotate</em> or <em>variable</em></li> </ul> <pre class="literal-block"> <em>linear</em> args = Vx Vy Vz - Vx,Vy,Vz = components of velocity vector (velocity units), any component can be specified as NULL - <em>wiggle</em> args = Ax Ay Az period - Ax,Ay,Az = components of amplitude vector (distance units), any component can be specified as NULL - period = period of oscillation (time units) - <em>rotate</em> args = Px Py Pz Rx Ry Rz period - Px,Py,Pz = origin point of axis of rotation (distance units) - Rx,Ry,Rz = axis of rotation vector - period = period of rotation (time units) - <em>variable</em> args = v_dx v_dy v_dz v_vx v_vy v_vz - v_dx,v_dy,v_dz = 3 variable names that calculate x,y,z displacement as function of time, any component can be specified as NULL - v_vx,v_vy,v_vz = 3 variable names that calculate x,y,z velocity as function of time, any component can be specified as NULL + Vx,Vy,Vz = components of velocity vector (velocity units), any component can be specified as NULL +<em>wiggle</em> args = Ax Ay Az period + Ax,Ay,Az = components of amplitude vector (distance units), any component can be specified as NULL + period = period of oscillation (time units) +<em>rotate</em> args = Px Py Pz Rx Ry Rz period + Px,Py,Pz = origin point of axis of rotation (distance units) + Rx,Ry,Rz = axis of rotation vector + period = period of rotation (time units) +<em>variable</em> args = v_dx v_dy v_dz v_vx v_vy v_vz + v_dx,v_dy,v_dz = 3 variable names that calculate x,y,z displacement as function of time, any component can be specified as NULL + v_vx,v_vy,v_vz = 3 variable names that calculate x,y,z velocity as function of time, any component can be specified as NULL </pre> <ul class="simple"> <li>zero or more keyword/value pairs may be appended</li> <li>keyword = <em>units</em></li> </ul> <pre class="literal-block"> <em>units</em> value = <em>box</em> or <em>lattice</em> </pre> </div> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>fix 1 boundary move wiggle 3.0 0.0 0.0 1.0 units box fix 2 boundary move rotate 0.0 0.0 0.0 0.0 0.0 1.0 5.0 fix 2 boundary move variable v_myx v_myy NULL v_VX v_VY NULL </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>Perform updates of position and velocity for atoms in the group each timestep using the specified settings or formulas, without regard to forces on the atoms. This can be useful for boundary or other atoms, whose movement can influence nearby atoms.</p> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">The atoms affected by this fix should not normally be time integrated by other fixes (e.g. <a class="reference internal" href="fix_nve.html"><em>fix nve</em></a>, <a class="reference internal" href="fix_nh.html"><em>fix nvt</em></a>), since that will change their positions and velocities twice.</p> </div> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">As atoms move due to this fix, they will pass thru 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 <a class="reference internal" href="fix_nve.html"><em>fix nve</em></a> command). It is up to you to decide whether periodic boundaries are appropriate with the kind of atom motion you are prescribing with this fix.</p> </div> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">As dicsussed below, atoms are moved relative to their initial position at the time the fix is specified. These initial coordinates are stored by the fix in “unwrapped” form, by using the image flags associated with each atom. See the <a class="reference internal" href="dump.html"><em>dump custom</em></a> command for a discussion of “unwrapped” coordinates. See the Atoms section of the <a class="reference internal" href="read_data.html"><em>read_data</em></a> command for a discussion of image flags and how they are set for each atom. You can reset the image flags (e.g. to 0) before invoking this fix by using the <a class="reference internal" href="set.html"><em>set image</em></a> command.</p> </div> <hr class="docutils" /> <p>The <em>linear</em> style moves atoms at a constant velocity, so that their position <em>X</em> = (x,y,z) as a function of time is given in vector notation as</p> <div class="highlight-python"><div class="highlight"><pre><span class="n">X</span><span class="p">(</span><span class="n">t</span><span class="p">)</span> <span class="o">=</span> <span class="n">X0</span> <span class="o">+</span> <span class="n">V</span> <span class="o">*</span> <span class="n">delta</span> </pre></div> </div> <p>where <em>X0</em> = (x0,y0,z0) is their position at the time the fix is specified, <em>V</em> is the specified velocity vector with components (Vx,Vy,Vz), and <em>delta</em> is the time elapsed since the fix was specified. This style also sets the velocity of each atom to V = (Vx,Vy,Vz). If any of the velocity components is specified as NULL, then the position and velocity of that component is time integrated the same as the <a class="reference internal" href="fix_nve.html"><em>fix nve</em></a> command would perform, using the corresponding force component on the atom.</p> <p>Note that the <em>linear</em> style is identical to using the <em>variable</em> style with an <a class="reference internal" href="variable.html"><em>equal-style variable</em></a> that uses the vdisplace() function. E.g.</p> <div class="highlight-python"><div class="highlight"><pre>variable V equal 10.0 variable x equal vdisplace(0.0,$V) fix 1 boundary move variable v_x NULL NULL v_V NULL NULL </pre></div> </div> <p>The <em>wiggle</em> style moves atoms in an oscillatory fashion, so that their position <em>X</em> = (x,y,z) as a function of time is given in vector notation as</p> <div class="highlight-python"><div class="highlight"><pre>X(t) = X0 + A sin(omega*delta) </pre></div> </div> <p>where <em>X0</em> = (x0,y0,z0) is their position at the time the fix is specified, <em>A</em> is the specified amplitude vector with components (Ax,Ay,Az), <em>omega</em> is 2 PI / <em>period</em>, and <em>delta</em> is the time elapsed since the fix was specified. This style also sets the velocity of each atom to the time derivative of this expression. If any of the amplitude components is specified as NULL, then the position and velocity of that component is time integrated the same as the <a class="reference internal" href="fix_nve.html"><em>fix nve</em></a> command would perform, using the corresponding force component on the atom.</p> <p>Note that the <em>wiggle</em> style is identical to using the <em>variable</em> style with <a class="reference internal" href="variable.html"><em>equal-style variables</em></a> that use the swiggle() and cwiggle() functions. E.g.</p> <div class="highlight-python"><div class="highlight"><pre>variable A equal 10.0 variable T equal 5.0 variable omega equal 2.0*PI/$T variable x equal swiggle(0.0,$A,$T) 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></div> </div> <p>The <em>rotate</em> style rotates atoms around a rotation axis <em>R</em> = (Rx,Ry,Rz) that goes thru a point <em>P</em> = (Px,Py,Pz). The <em>period</em> of the rotation is also specified. This style also sets the velocity of each atom to (omega cross Rperp) where omega is its angular velocity around the rotation axis and Rperp is a perpendicular vector from the rotation axis to the atom. If the defined <a class="reference internal" href="atom_style.html"><em>atom_style</em></a> assigns an angular velocity to each atom, then each atom’s angular velocity is also set to omega. Note that the direction of rotation for the atoms around the rotation axis is consistent with the right-hand rule: if your right-hand’s thumb points along <em>R</em>, then your fingers wrap around the axis in the direction of rotation.</p> <p>The <em>variable</em> style allows the position and velocity components of each atom to be set by formulas specified via the <a class="reference internal" href="variable.html"><em>variable</em></a> command. Each of the 6 variables is specified as an argument to the fix as v_name, where name is the variable name that is defined elsewhere in the input script.</p> <p>Each variable must be of either the <em>equal</em> or <em>atom</em> style. <em>Equal</em>-style variables compute a single numeric quantity, that can be a function of the timestep as well as of other simulation values. <em>Atom</em>-style variables compute a numeric quantity for each atom, that can be a function per-atom quantities, such as the atom’s position, as well as of the timestep and other simulation values. Note that this fix stores the original coordinates of each atom (see note below) so that per-atom quantity can be used in an atom-style variable formula. See the <a class="reference internal" href="variable.html"><em>variable</em></a> command for details.</p> <p>The first 3 variables (v_dx,v_dy,v_dz) specified for the <em>variable</em> style are used to calculate a displacement from the atom’s original position at the time the fix was specified. The second 3 variables (v_vx,v_vy,v_vz) specified are used to compute a velocity for each atom.</p> <p>Any of the 6 variables can be specified as NULL. If both the displacement and velocity variables for a particular x,y,z component are specified as NULL, then the position and velocity of that component is time integrated the same as the <a class="reference internal" href="fix_nve.html"><em>fix nve</em></a> command would perform, using the corresponding force component on the atom. If only the velocity variable for a component is specified as NULL, then the displacement variable will be used to set the position of the atom, and its velocity component will not be changed. If only the displacement variable for a component is specified as NULL, then the velocity variable will be used to set the velocity of the atom, and the position of the atom will be time integrated using that velocity.</p> <p>The <em>units</em> keyword determines the meaning of the distance units used to define the <em>linear</em> velocity and <em>wiggle</em> amplitude and <em>rotate</em> origin. This setting is ignored for the <em>variable</em> style. A <em>box</em> value selects standard units as defined by the <a class="reference internal" href="units.html"><em>units</em></a> command, e.g. velocity in Angstroms/fmsec and amplitude and position in Angstroms for units = real. A <em>lattice</em> value means the velocity units are in lattice spacings per time and the amplitude and position are in lattice spacings. The <a class="reference internal" href="lattice.html"><em>lattice</em></a> command must have been previously used to define the lattice spacing. Each of these 3 quantities may be dependent on the x,y,z dimension, since the lattice spacings can be different in x,y,z.</p> </div> <hr class="docutils" /> <div class="section" id="restart-fix-modify-output-run-start-stop-minimize-info"> <h2>Restart, fix_modify, output, run start/stop, minimize info<a class="headerlink" href="#restart-fix-modify-output-run-start-stop-minimize-info" title="Permalink to this headline">¶</a></h2> <p>This fix writes the original coordinates of moving atoms to <a class="reference internal" href="restart.html"><em>binary restart files</em></a>, as well as the initial timestep, so that the motion can be continuous in a restarted simulation. See the <a class="reference internal" href="read_restart.html"><em>read_restart</em></a> command for info on how to re-specify a fix in an input script that reads a restart file, so that the operation of the fix continues in an uninterrupted fashion.</p> <p>IMPORTANNT NOTE: Because the move positions are a function of the current timestep and the initial timestep, you cannot reset the timestep to a different value after reading a restart file, if you expect a fix move command to work in an uninterrupted fashion.</p> <p>None of the <a class="reference internal" href="fix_modify.html"><em>fix_modify</em></a> options are relevant to this fix.</p> <p>This fix produces a per-atom array which can be accessed by various <a class="reference internal" href="Section_howto.html#howto-15"><span>output commands</span></a>. The number of columns for each atom is 3, and the columns store the original unwrapped x,y,z coords of each atom. The per-atom values can be accessed on any timestep.</p> <p>No parameter of this fix can be used with the <em>start/stop</em> keywords of the <a class="reference internal" href="run.html"><em>run</em></a> command. This fix is not invoked during <a class="reference internal" href="minimize.html"><em>energy minimization</em></a>.</p> <p>For <a class="reference internal" href="run_style.html"><em>rRESPA time integration</em></a>, this fix adjusts the position and velocity of atoms on the outermost rRESPA level.</p> </div> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <blockquote> <div>none</div></blockquote> </div> <div class="section" id="related-commands"> <h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2> <p><a class="reference internal" href="fix_nve.html"><em>fix nve</em></a>, <a class="reference internal" href="displace_atoms.html"><em>displace_atoms</em></a></p> <p><strong>Default:</strong> none</p> <p>The option default is units = lattice.</p> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/fix_msst.html b/doc/fix_msst.html index f79a08858..fcc8cc863 100644 --- a/doc/fix_msst.html +++ b/doc/fix_msst.html @@ -1,329 +1,329 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>fix msst command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>fix msst command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="fix-msst-command"> <span id="index-0"></span><h1>fix msst command<a class="headerlink" href="#fix-msst-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>fix ID group-ID msst dir shockvel keyword value ... </pre></div> </div> <ul class="simple"> <li>ID, group-ID are documented in <a class="reference internal" href="fix.html"><em>fix</em></a> command</li> <li>msst = style name of this fix</li> <li>dir = <em>x</em> or <em>y</em> or <em>z</em></li> <li>shockvel = shock velocity (strictly positive, distance/time units)</li> <li>zero or more keyword value pairs may be appended</li> <li>keyword = <em>q</em> or <em>mu</em> or <em>p0</em> or <em>v0</em> or <em>e0</em> or <em>tscale</em></li> </ul> <pre class="literal-block"> <em>q</em> value = cell mass-like parameter (mass^2/distance^4 units) - <em>mu</em> value = artificial viscosity (mass/length/time units) - <em>p0</em> value = initial pressure in the shock equations (pressure units) - <em>v0</em> value = initial simulation cell volume in the shock equations (distance^3 units) - <em>e0</em> value = initial total energy (energy units) - <em>tscale</em> value = reduction in initial temperature (unitless fraction between 0.0 and 1.0) +<em>mu</em> value = artificial viscosity (mass/length/time units) +<em>p0</em> value = initial pressure in the shock equations (pressure units) +<em>v0</em> value = initial simulation cell volume in the shock equations (distance^3 units) +<em>e0</em> value = initial total energy (energy units) +<em>tscale</em> value = reduction in initial temperature (unitless fraction between 0.0 and 1.0) </pre> </div> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>fix 1 all msst y 100.0 q 1.0e5 mu 1.0e5 fix 2 all msst z 50.0 q 1.0e4 mu 1.0e4 v0 4.3419e+03 p0 3.7797e+03 e0 -9.72360e+02 tscale 0.01 </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>This command performs the Multi-Scale Shock Technique (MSST) integration to update positions and velocities each timestep to mimic a compressive shock wave passing over the system. See <a class="reference internal" href="#reed"><span>(Reed)</span></a> for a detailed description of this method. The MSST varies the cell volume and temperature in such a way as to restrain the system to the shock Hugoniot and the Rayleigh line. These restraints correspond to the macroscopic conservation laws dictated by a shock front. <em>shockvel</em> determines the steady shock velocity that will be simulated.</p> <p>To perform a simulation, choose a value of <em>q</em> that provides volume compression on the timescale of 100 fs to 1 ps. If the volume is not compressing, either the shock speed is chosen to be below the material sound speed or <em>p0</em> has been chosen inaccurately. Volume compression at the start can be sped up by using a non-zero value of <em>tscale</em>. Use the smallest value of <em>tscale</em> that results in compression.</p> <p>Under some special high-symmetry conditions, the pressure (volume) and/or temperature of the system may oscillate for many cycles even with an appropriate choice of mass-like parameter <em>q</em>. Such oscillations have physical significance in some cases. The optional <em>mu</em> keyword adds an artificial viscosity that helps break the system symmetry to equilibrate to the shock Hugoniot and Rayleigh line more rapidly in such cases.</p> <p><em>tscale</em> is a factor between 0 and 1 that determines what fraction of thermal kinetic energy is converted to compressive strain kinetic energy at the start of the simulation. Setting this parameter to a non-zero value may assist in compression at the start of simulations where it is slow to occur.</p> <p>If keywords <em>e0</em>, <em>p0</em>,or <em>v0</em> are not supplied, these quantities will be calculated on the first step, after the energy specified by <em>tscale</em> is removed. The value of <em>e0</em> is not used in the dynamical equations, but is used in calculating the deviation from the Hugoniot.</p> <p>Values of shockvel less than a critical value determined by the material response will not have compressive solutions. This will be reflected in lack of significant change of the volume in the MSST.</p> <p>For all pressure styles, the simulation box stays orthogonal in shape. Parrinello-Rahman boundary conditions (tilted box) are supported by LAMMPS, but are not implemented for MSST.</p> <p>This fix computes a temperature and pressure each timestep. To do this, the fix creates its own computes of style “temp” and “pressure”, as if these commands had been issued:</p> <div class="highlight-python"><div class="highlight"><pre>compute fix-ID_temp group-ID temp compute fix-ID_press group-ID pressure fix-ID_temp </pre></div> </div> <p>See the <a class="reference internal" href="compute_temp.html"><em>compute temp</em></a> and <a class="reference internal" href="compute_pressure.html"><em>compute pressure</em></a> commands for details. Note that the IDs of the new computes are the fix-ID + underscore + “temp” or fix_ID + underscore + “press”. The group for the new computes is “all”.</p> </div> <div class="section" id="restart-fix-modify-output-run-start-stop-minimize-info"> <h2>Restart, fix_modify, output, run start/stop, minimize info<a class="headerlink" href="#restart-fix-modify-output-run-start-stop-minimize-info" title="Permalink to this headline">¶</a></h2> <p>This fix writes the state of all internal variables to <a class="reference internal" href="restart.html"><em>binary restart files</em></a>. See the <a class="reference internal" href="read_restart.html"><em>read_restart</em></a> command for info on how to re-specify a fix in an input script that reads a restart file, so that the operation of the fix continues in an uninterrupted fashion.</p> <p>The progress of the MSST can be monitored by printing the global scalar and global vector quantities computed by the fix.</p> <p>The scalar is the cumulative energy change due to the fix. This is also the energy added to the potential energy by the <a class="reference internal" href="fix_modify.html"><em>fix_modify</em></a> <em>energy</em> command. With this command, the thermo keyword <em>etotal</em> prints the conserved quantity of the MSST dynamic equations. This can be used to test if the MD timestep is sufficiently small for accurate integration of the dynamic equations. See also <a class="reference internal" href="thermo_style.html"><em>thermo_style</em></a> command.</p> <p>The global vector contains four values in this order:</p> <p>[<em>dhugoniot</em>, <em>drayleigh</em>, <em>lagrangian_speed</em>, <em>lagrangian_position</em>]</p> <ol class="arabic simple"> <li><em>dhugoniot</em> is the departure from the Hugoniot (temperature units).</li> <li><em>drayleigh</em> is the departure from the Rayleigh line (pressure units).</li> <li><em>lagrangian_speed</em> is the laboratory-frame Lagrangian speed (particle velocity) of the computational cell (velocity units).</li> <li><em>lagrangian_position</em> is the computational cell position in the reference frame moving at the shock speed. This is usually a good estimate of distance of the computational cell behind the shock front.</li> </ol> <p>To print these quantities to the log file with descriptive column headers, the following LAMMPS commands are suggested:</p> <div class="highlight-python"><div class="highlight"><pre>fix msst all msst z fix_modify msst energy yes variable dhug equal f_msst[1] variable dray equal f_msst[2] variable lgr_vel equal f_msst[3] variable lgr_pos equal f_msst[4] thermo_style custom step temp ke pe lz pzz etotal v_dhug v_dray v_lgr_vel v_lgr_pos f_msst </pre></div> </div> <p>These fixes compute a global scalar and a global vector of 4 quantities, which can be accessed by various <a class="reference internal" href="Section_howto.html#howto-15"><span>output commands</span></a>. The scalar values calculated by this fix are “extensive”; the vector values are “intensive”.</p> </div> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <p>This fix style is part of the SHOCK package. It is only enabled if LAMMPS was built with that package. See the <a class="reference internal" href="Section_start.html#start-3"><span>Making LAMMPS</span></a> section for more info.</p> <p>All cell dimensions must be periodic. This fix can not be used with a triclinic cell. The MSST fix has been tested only for the group-ID all.</p> </div> <div class="section" id="related-commands"> <h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2> <p><a class="reference internal" href="fix_nphug.html"><em>fix nphug</em></a>, <a class="reference internal" href="fix_deform.html"><em>fix deform</em></a></p> </div> <div class="section" id="default"> <h2>Default<a class="headerlink" href="#default" title="Permalink to this headline">¶</a></h2> <p>The keyword defaults are q = 10, mu = 0, tscale = 0.01. p0, v0, and e0 are calculated on the first step.</p> <hr class="docutils" /> <p id="reed"><strong>(Reed)</strong> Reed, Fried, and Joannopoulos, Phys. Rev. Lett., 90, 235503 (2003).</p> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/fix_nve_sphere.html b/doc/fix_nve_sphere.html index 5af499e48..ddb58d6d5 100644 --- a/doc/fix_nve_sphere.html +++ b/doc/fix_nve_sphere.html @@ -1,273 +1,273 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>fix nve/sphere command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>fix nve/sphere command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="fix-nve-sphere-command"> <span id="index-0"></span><h1>fix nve/sphere command<a class="headerlink" href="#fix-nve-sphere-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="fix-nve-sphere-omp-command"> <h1>fix nve/sphere/omp command<a class="headerlink" href="#fix-nve-sphere-omp-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>fix ID group-ID nve/sphere </pre></div> </div> <ul class="simple"> <li>ID, group-ID are documented in <a class="reference internal" href="fix.html"><em>fix</em></a> command</li> <li>nve/sphere = style name of this fix command</li> <li>zero or more keyword/value pairs may be appended</li> <li>keyword = <em>update</em></li> </ul> <pre class="literal-block"> <em>update</em> value = <em>dipole</em> - dipole = update orientation of dipole moment during integration + dipole = update orientation of dipole moment during integration </pre> </div> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>fix 1 all nve/sphere fix 1 all nve/sphere update dipole </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>Perform constant NVE integration to update position, velocity, and angular velocity for finite-size spherical particles in the group each timestep. V is volume; E is energy. This creates a system trajectory consistent with the microcanonical ensemble.</p> <p>This fix differs from the <a class="reference internal" href="fix_nve.html"><em>fix nve</em></a> command, which assumes point particles and only updates their position and velocity.</p> <p>If the <em>update</em> keyword is used with the <em>dipole</em> value, then the orientation of the dipole moment of each particle is also updated during the time integration. This option should be used for models where a dipole moment is assigned to particles via use of the <a class="reference internal" href="atom_style.html"><em>atom_style dipole</em></a> command.</p> <hr class="docutils" /> <p>Styles with a <em>cuda</em>, <em>gpu</em>, <em>intel</em>, <em>kk</em>, <em>omp</em>, or <em>opt</em> suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available hardware, as discussed in <a class="reference internal" href="Section_accelerate.html"><em>Section_accelerate</em></a> of the manual. The accelerated styles take the same arguments and should produce the same results, except for round-off and precision issues.</p> <p>These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if LAMMPS was built with those packages. See the <a class="reference internal" href="Section_start.html#start-3"><span>Making LAMMPS</span></a> section for more info.</p> <p>You can specify the accelerated styles explicitly in your input script by including their suffix, or you can use the <a class="reference internal" href="Section_start.html#start-7"><span>-suffix command-line switch</span></a> when you invoke LAMMPS, or you can use the <a class="reference internal" href="suffix.html"><em>suffix</em></a> command in your input script.</p> <p>See <a class="reference internal" href="Section_accelerate.html"><em>Section_accelerate</em></a> of the manual for more instructions on how to use the accelerated styles effectively.</p> </div> <hr class="docutils" /> <div class="section" id="restart-fix-modify-output-run-start-stop-minimize-info"> <h2>Restart, fix_modify, output, run start/stop, minimize info<a class="headerlink" href="#restart-fix-modify-output-run-start-stop-minimize-info" title="Permalink to this headline">¶</a></h2> <p>No information about this fix is written to <a class="reference internal" href="restart.html"><em>binary restart files</em></a>. None of the <a class="reference internal" href="fix_modify.html"><em>fix_modify</em></a> options are relevant to this fix. No global or per-atom quantities are stored by this fix for access by various <a class="reference internal" href="Section_howto.html#howto-15"><span>output commands</span></a>. No parameter of this fix can be used with the <em>start/stop</em> keywords of the <a class="reference internal" href="run.html"><em>run</em></a> command. This fix is not invoked during <a class="reference internal" href="minimize.html"><em>energy minimization</em></a>.</p> </div> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <p>This fix requires that atoms store torque and angular velocity (omega) and a radius as defined by the <a class="reference internal" href="atom_style.html"><em>atom_style sphere</em></a> command. If the <em>dipole</em> keyword is used, then they must also store a dipole moment as defined by the <a class="reference internal" href="atom_style.html"><em>atom_style dipole</em></a> command.</p> <p>All particles in the group must be finite-size spheres. They cannot be point particles.</p> </div> <div class="section" id="related-commands"> <h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2> <p><a class="reference internal" href="fix_nve.html"><em>fix nve</em></a>, <a class="reference internal" href="fix_nve_asphere.html"><em>fix nve/asphere</em></a></p> <p><strong>Default:</strong> none</p> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/fix_orient_fcc.html b/doc/fix_orient_fcc.html index fa445260e..02e899a6a 100644 --- a/doc/fix_orient_fcc.html +++ b/doc/fix_orient_fcc.html @@ -1,345 +1,345 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>fix orient/fcc command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>fix orient/fcc command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="fix-orient-fcc-command"> <span id="index-0"></span><h1>fix orient/fcc command<a class="headerlink" href="#fix-orient-fcc-command" title="Permalink to this headline">¶</a></h1> <div class="highlight-python"><div class="highlight"><pre>fix ID group-ID orient/fcc nstats dir alat dE cutlo cuthi file0 file1 </pre></div> </div> <ul class="simple"> <li>ID, group-ID are documented in <a class="reference internal" href="fix.html"><em>fix</em></a> command</li> <li>nstats = print stats every this many steps, 0 = never</li> <li>dir = 0/1 for which crystal is used as reference</li> <li>alat = fcc cubic lattice constant (distance units)</li> <li>dE = energy added to each atom (energy units)</li> <li>cutlo,cuthi = values between 0.0 and 1.0, cutlo < cuthi</li> <li>file0,file1 = files that specify orientation of each grain</li> </ul> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>fix gb all orient/fcc 0 1 4.032008 0.001 0.25 0.75 xi.vec chi.vec </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>The fix applies an orientation-dependent force to atoms near a planar grain boundary which can be used to induce grain boundary migration (in the direction perpendicular to the grain boundary plane). The motivation and explanation of this force and its application are described in <a class="reference internal" href="#janssens"><span>(Janssens)</span></a>. The force is only applied to atoms in the fix group.</p> <p>The basic idea is that atoms in one grain (on one side of the boundary) have a potential energy dE added to them. Atoms in the other grain have 0.0 potential energy added. Atoms near the boundary (whose neighbor environment is intermediate between the two grain orientations) have an energy between 0.0 and dE added. This creates an effective driving force to reduce the potential energy of atoms near the boundary by pushing them towards one of the grain orientations. For dir = 1 and dE > 0, the boundary will thus move so that the grain described by file0 grows and the grain described by file1 shrinks. Thus this fix is designed for simulations of two-grain systems, either with one grain boundary and free surfaces parallel to the boundary, or a system with periodic boundary conditions and two equal and opposite grain boundaries. In either case, the entire system can displace during the simulation, and such motion should be accounted for in measuring the grain boundary velocity.</p> <p>The potential energy added to atom I is given by these formulas</p> <img alt="_images/fix_orient_fcc.jpg" class="align-center" src="_images/fix_orient_fcc.jpg" /> <p>which are fully explained in <a class="reference internal" href="#janssens"><span>(Janssens)</span></a>. The order parameter Xi for atom I in equation (1) is a sum over the 12 nearest neighbors of atom I. Rj is the vector from atom I to its neighbor J, and RIj is a vector in the reference (perfect) crystal. That is, if dir = 0/1, then RIj is a vector to an atom coord from file 0/1. Equation (2) gives the expected value of the order parameter XiIJ in the other grain. Hi and lo cutoffs are defined in equations (3) and (4), using the input parameters <em>cutlo</em> and <em>cuthi</em> as thresholds to avoid adding grain boundary energy when the deviation in the order parameter from 0 or 1 is small (e.g. due to thermal fluctuations in a perfect crystal). The added potential energy Ui for atom I is given in equation (6) where it is interpolated between 0 and dE using the two threshold Xi values and the Wi value of equation (5).</p> <p>The derivative of this energy expression gives the force on each atom which thus depends on the orientation of its neighbors relative to the 2 grain orientations. Only atoms near the grain boundary feel a net force which tends to drive them to one of the two grain orientations.</p> <p>In equation (1), the reference vector used for each neighbor is the reference vector closest to the actual neighbor position. This means it is possible two different neighbors will use the same reference vector. In such cases, the atom in question is far from a perfect orientation and will likely receive the full dE addition, so the effect of duplicate reference vector usage is small.</p> <p>The <em>dir</em> parameter determines which grain wants to grow at the expense of the other. A value of 0 means the first grain will shrink; a value of 1 means it will grow. This assumes that <em>dE</em> is positive. The reverse will be true if <em>dE</em> is negative.</p> <p>The <em>alat</em> parameter is the cubic lattice constant for the fcc material and is only used to compute a cutoff distance of 1.57 * alat / sqrt(2) for finding the 12 nearest neighbors of each atom (which should be valid for an fcc crystal). A longer/shorter cutoff can be imposed by adjusting <em>alat</em>. If a particular atom has less than 12 neighbors within the cutoff, the order parameter of equation (1) is effectively multiplied by 12 divided by the actual number of neighbors within the cutoff.</p> <p>The <em>dE</em> parameter is the maximum amount of additional energy added to each atom in the grain which wants to shrink.</p> <p>The <em>cutlo</em> and <em>cuthi</em> parameters are used to reduce the force added to bulk atoms in each grain far away from the boundary. An atom in the bulk surrounded by neighbors at the ideal grain orientation would compute an order parameter of 0 or 1 and have no force added. However, thermal vibrations in the solid will cause the order parameters to be greater than 0 or less than 1. The cutoff parameters mask this effect, allowing forces to only be added to atoms with order-parameters between the cutoff values.</p> <p><em>File0</em> and <em>file1</em> are filenames for the two grains which each contain 6 vectors (6 lines with 3 values per line) which specify the grain orientations. Each vector is a displacement from a central atom (0,0,0) to a nearest neighbor atom in an fcc lattice at the proper orientation. The vector lengths should all be identical since an fcc lattice has a coordination number of 12. Only 6 are listed due to symmetry, so the list must include one from each pair of equal-and-opposite neighbors. A pair of orientation files for a Sigma=5 tilt boundary are show below.</p> </div> <div class="section" id="restart-fix-modify-output-run-start-stop-minimize-info"> <h2>Restart, fix_modify, output, run start/stop, minimize info<a class="headerlink" href="#restart-fix-modify-output-run-start-stop-minimize-info" title="Permalink to this headline">¶</a></h2> <p>No information about this fix is written to <a class="reference internal" href="restart.html"><em>binary restart files</em></a>.</p> <p>The <a class="reference internal" href="fix_modify.html"><em>fix_modify</em></a> <em>energy</em> option is supported by this fix to add the potential energy of atom interactions with the grain boundary driving force to the system’s potential energy as part of <a class="reference internal" href="thermo_style.html"><em>thermodynamic output</em></a>.</p> <p>This fix calculates a global scalar which can be accessed by various <a class="reference internal" href="Section_howto.html#howto-15"><span>output commands</span></a>. The scalar is the potential energy change due to this fix. The scalar value calculated by this fix is “extensive”.</p> <p>This fix also calculates a per-atom array which can be accessed by various <a class="reference internal" href="Section_howto.html#howto-15"><span>output commands</span></a>. The array stores the order parameter Xi and normalized order parameter (0 to 1) for each atom. The per-atom values can be accessed on any timestep.</p> <p>No parameter of this fix can be used with the <em>start/stop</em> keywords of the <a class="reference internal" href="run.html"><em>run</em></a> command. This fix is not invoked during <a class="reference internal" href="minimize.html"><em>energy minimization</em></a>.</p> </div> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <p>This fix is part of the MISC package. It is only enabled if LAMMPS was built with that package. See the <a class="reference internal" href="Section_start.html#start-3"><span>Making LAMMPS</span></a> section for more info.</p> <p>This fix should only be used with fcc lattices.</p> </div> <div class="section" id="related-commands"> <h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2> <p><a class="reference internal" href="fix_modify.html"><em>fix_modify</em></a></p> <p><strong>Default:</strong> none</p> <hr class="docutils" /> <p id="janssens"><strong>(Janssens)</strong> Janssens, Olmsted, Holm, Foiles, Plimpton, Derlet, Nature Materials, 5, 124-127 (2006).</p> <hr class="docutils" /> <p>For illustration purposes, here are example files that specify a Sigma=5 <100> tilt boundary. This is for a lattice constant of 3.5706 Angs.</p> <p>file0:</p> -<div class="highlight-python"><div class="highlight"><pre>0.798410432046075 1.785300000000000 1.596820864092150 - -0.798410432046075 1.785300000000000 -1.596820864092150 - 2.395231296138225 0.000000000000000 0.798410432046075 - 0.798410432046075 0.000000000000000 -2.395231296138225 - 1.596820864092150 1.785300000000000 -0.798410432046075 - 1.596820864092150 -1.785300000000000 -0.798410432046075 +<div class="highlight-python"><div class="highlight"><pre> 0.798410432046075 1.785300000000000 1.596820864092150 +-0.798410432046075 1.785300000000000 -1.596820864092150 + 2.395231296138225 0.000000000000000 0.798410432046075 + 0.798410432046075 0.000000000000000 -2.395231296138225 + 1.596820864092150 1.785300000000000 -0.798410432046075 + 1.596820864092150 -1.785300000000000 -0.798410432046075 </pre></div> </div> <p>file1:</p> <div class="highlight-python"><div class="highlight"><pre>-0.798410432046075 1.785300000000000 1.596820864092150 - 0.798410432046075 1.785300000000000 -1.596820864092150 - 0.798410432046075 0.000000000000000 2.395231296138225 - 2.395231296138225 0.000000000000000 -0.798410432046075 - 1.596820864092150 1.785300000000000 0.798410432046075 - 1.596820864092150 -1.785300000000000 0.798410432046075 + 0.798410432046075 1.785300000000000 -1.596820864092150 + 0.798410432046075 0.000000000000000 2.395231296138225 + 2.395231296138225 0.000000000000000 -0.798410432046075 + 1.596820864092150 1.785300000000000 0.798410432046075 + 1.596820864092150 -1.785300000000000 0.798410432046075 </pre></div> </div> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/fix_phonon.html b/doc/fix_phonon.html index c68c69714..241ade145 100644 --- a/doc/fix_phonon.html +++ b/doc/fix_phonon.html @@ -1,353 +1,353 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>fix phonon command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>fix phonon command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="fix-phonon-command"> <span id="index-0"></span><h1>fix phonon command<a class="headerlink" href="#fix-phonon-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>fix ID group-ID phonon N Noutput Nwait map_file prefix keyword values ... </pre></div> </div> <ul class="simple"> <li>ID, group-ID are documented in <a class="reference internal" href="fix.html"><em>fix</em></a> command</li> <li>phonon = style name of this fix command</li> <li>N = measure the Green’s function every this many timesteps</li> <li>Noutput = output the dynamical matrix every this many measurements</li> <li>Nwait = wait this many timesteps before measuring</li> <li>map_file = <em>file</em> or <em>GAMMA</em></li> </ul> <pre class="literal-block"> <em>file</em> is the file that contains the mapping info between atom ID and the lattice indices. </pre> <pre class="literal-block"> <em>GAMMA</em> flags to treate the whole simulation box as a unit cell, so that the mapping - info can be generated internally. In this case, dynamical matrix at only the gamma-point - will/can be evaluated. +info can be generated internally. In this case, dynamical matrix at only the gamma-point +will/can be evaluated. </pre> <ul class="simple"> <li>prefix = prefix for output files</li> <li>one or none keyword/value pairs may be appended</li> <li>keyword = <em>sysdim</em> or <em>nasr</em></li> </ul> <pre class="literal-block"> <em>sysdim</em> value = d - d = dimension of the system, usually the same as the MD model dimension - <em>nasr</em> value = n - n = number of iterations to enforce the acoustic sum rule + d = dimension of the system, usually the same as the MD model dimension +<em>nasr</em> value = n + n = number of iterations to enforce the acoustic sum rule </pre> </div> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>fix 1 all phonon 20 5000 200000 map.in LJ1D sysdim 1 fix 1 all phonon 20 5000 200000 map.in EAM3D fix 1 all phonon 10 5000 500000 GAMMA EAM0D nasr 100 </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>Calculate the dynamical matrix from molecular dynamics simulations based on fluctuation-dissipation theory for a group of atoms.</p> <p>Consider a crystal with <em>N</em> unit cells in three dimensions labelled <em>l = (l<sub>1</sub>,l<sub>2</sub>,l<sub>3</sub>)</em> where <em>l<sub>i</sub></em> are integers. Each unit cell is defined by three linearly independent vectors <a href="#id1"><span class="problematic" id="id2">**</span></a>a**<sub>1</sub>, <a href="#id3"><span class="problematic" id="id4">**</span></a>a**<sub>2</sub>, <a href="#id5"><span class="problematic" id="id6">**</span></a>a**<sub>3</sub> forming a parallelipiped, containing <em>K</em> basis atoms labelled <em>k</em>.</p> <p>Based on fluctuation-dissipation theory, the force constant coefficients of the system in reciprocal space are given by (<a class="reference internal" href="#campana"><span>Campa&ntilde;&aacute;</span></a> , <a class="reference internal" href="#kong"><span>Kong</span></a>) <center><b>&Phi;</b><sub>k&alpha;,k’&beta;</sub>(<b>q</b>) = k<sub>B</sub>T <b>G</b><sup>-1</sup><sub>k&alpha;,k’&beta;</sub>(<b>q</b>),</center></p> <p>where <strong>G</strong> is the Green’s functions coefficients given by</p> <center><b>G</b><sub>kα,k'β</sub>(<b>q</b>) = <<b>u</b><sub>kα</sub>(<b>q</b>)•<b>u</b><sub>k'β</sub><sup>*</sup>(<b>q</b>)>,</center><p>where <...> denotes the ensemble average, and <center>**u**<sub>k&alpha;</sub>(<b>q</b>) = &sum;<sub>l</sub> <b>u</b><sub>lk&alpha;</sub> exp(i**qr**<sub>l</sub>)</center></p> <p>is the &alpha; component of the atomic displacement for the <em>k*th atom in the unit cell in reciprocal space at **q*</em>. In practice, the Green’s functions coefficients can also be measured according to the following formula,</p> <center><b>G</b><sub>kα,k'β</sub>(<b>q</b>) = <<b>R</b><sub>kα</sub>(<b>q</b>)•<b>R</b><sup>*</sup><sub>k'β</sub>(<b>q</b>)> - <<b>R</b>><sub>kα</sub>(<b>q</b>)•<<b>R</b>><sup>*</sup><sub>k'β</sub>(<b>q</b>), </center><p>where <strong>R</strong> is the instantaneous positions of atoms, and <<strong>R</strong>> is the averaged atomic positions. It gives essentially the same results as the displacement method and is easier to implement in an MD code.</p> <p>Once the force constant matrix is known, the dynamical matrix <strong>D</strong> can then be obtained by</p> <center><b>D</b><sub>kα, k'β</sub>(<b>q</b>) = (m<sub>k</sub>m<sub>k'</sub>)<sup>-1/2</sup> <b>Φ</b><sub>kα,k'β</sub>(<b>q</b>)</center><p>whose eigenvalues are exactly the phonon frequencies at <strong>q</strong>.</p> <p>This fix uses positions of atoms in the specified group and calculates two-point correlations. To achieve this. the positions of the atoms are examined every <em>Nevery</em> steps and are Fourier-transformed into reciprocal space, where the averaging process and correlation computation is then done. After every <em>Noutput</em> measurements, the matrix <strong>G**(**q</strong>) is calculated and inverted to obtain the elastic stiffness coefficients. The dynamical matrices are then constructed and written to <em>prefix</em>.bin.timestep files in binary format and to the file <em>prefix</em>.log for each wavevector <strong>q</strong>.</p> <p>A detailed description of this method can be found in (<a class="reference internal" href="#kong2011"><span>Kong2011</span></a>).</p> <p>The <em>sysdim</em> keyword is optional. If specified with a value smaller than the dimensionality of the LAMMPS simulation, its value is used for the dynamical matrix calculation. For example, using LAMMPS ot model a 2D or 3D system, the phonon dispersion of a 1D atomic chain can be computed using <em>sysdim</em> = 1.</p> <p>The <em>nasr</em> keyword is optional. An iterative procedure is employed to enforce the acoustic sum rule on &Phi; at &Gamma;, and the number provided by keyword <em>nasr</em> gives the total number of iterations. For a system whose unit cell has only one atom, <em>nasr</em> = 1 is sufficient; for other systems, <em>nasr</em> = 10 is typically sufficient.</p> <p>The <em>map_file</em> contains the mapping information between the lattice indices and the atom IDs, which tells the code which atom sits at which lattice point; the lattice indices start from 0. An auxiliary code, <a class="reference external" href="http://code.google.com/p/latgen">latgen</a>, can be employed to generate the compatible map file for various crystals.</p> <p>In case one simulates an aperiodic system, where the whole simulation box is treated as a unit cell, one can set <em>map_file</em> as <em>GAMMA</em>, so that the mapping info will be generated internally and a file is not needed. In this case, the dynamical matrix at only the gamma-point will/can be evaluated. Please keep in mind that fix-phonon is designed for cyrstals, it will be inefficient and even degrade the performance of lammps in case the unit cell is too large.</p> <p>The calculated dynamical matrix elements are written out in <a class="reference internal" href="units.html"><em>energy/distance^2/mass</em></a> units. The coordinates for <em>q</em> points in the log file is in the units of the basis vectors of the corresponding reciprocal lattice.</p> </div> <div class="section" id="restart-fix-modify-output-run-start-stop-minimize-info"> <h2>Restart, fix_modify, output, run start/stop, minimize info<a class="headerlink" href="#restart-fix-modify-output-run-start-stop-minimize-info" title="Permalink to this headline">¶</a></h2> <p>No information about this fix is written to <a class="reference internal" href="restart.html"><em>binary restart files</em></a>.</p> <p>The <a class="reference internal" href="fix_modify.html"><em>fix_modify</em></a> <em>temp</em> option is supported by this fix. You can use it to change the temperature compute from thermo_temp to the one that reflects the true temperature of atoms in the group.</p> <p>No global scalar or vector or per-atom quantities are stored by this fix for access by various <span class="xref std std-ref">output commands</span>.</p> <p>Instead, this fix outputs its initialization information (including mapping information) and the calculated dynamical matrices to the file <em>prefix</em>.log, with the specified <em>prefix</em>. The dynamical matrices are also written to files <em>prefix</em>.bin.timestep in binary format. These can be read by the post-processing tool in tools/phonon to compute the phonon density of states and/or phonon dispersion curves.</p> <p>No parameter of this fix can be used with the <em>start/stop</em> keywords of the <a class="reference internal" href="run.html"><em>run</em></a> command.</p> <p>This fix is not invoked during <a class="reference internal" href="minimize.html"><em>energy minimization</em></a>.</p> </div> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <p>This fix assumes a crystalline system with periodical lattice. The temperature of the system should not exceed the melting temperature to keep the system in its solid state.</p> <p>This fix is part of the USER-PHONON package. It is only enabled if LAMMPS was built with that package. See the <a class="reference internal" href="Section_start.html#start-3"><span>Making LAMMPS</span></a> section for more info.</p> <p>This fix requires LAMMPS be built with an FFT library. See the <a class="reference internal" href="Section_start.html#start-2"><span>Making LAMMPS</span></a> section for more info.</p> </div> <div class="section" id="related-commands"> <h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2> <p><a class="reference internal" href="compute_msd.html"><em>compute msd</em></a></p> </div> <div class="section" id="default"> <h2>Default<a class="headerlink" href="#default" title="Permalink to this headline">¶</a></h2> <p>The option defaults are sysdim = the same dimemsion as specified by the <a class="reference external" href="dimension">dimension</a> command, and nasr = 20.</p> <hr class="docutils" /> <p id="campana"><strong>(Campa&ntilde;&aacute;)</strong> C. Campa&ntilde;&aacute; and M. H. M&uuml;ser, <em>Practical Green’s function approach to the simulation of elastic semi-infinite solids</em>, <a class="reference external" href="http://dx.doi.org/10.1103/PhysRevB.74.075420">Phys. Rev. B [74], 075420 (2006)</a></p> <p id="kong"><strong>(Kong)</strong> L.T. Kong, G. Bartels, C. Campa&ntilde;&aacute;, C. Denniston, and Martin H. M&uuml;ser, <em>Implementation of Green’s function molecular dynamics: An extension to LAMMPS</em>, <a class="reference external" href="http://dx.doi.org/10.1016/j.cpc.2008.12.035">Computer Physics Communications [180](6):1004-1010 (2009).</a></p> <p>L.T. Kong, C. Denniston, and Martin H. M&uuml;ser, <em>An improved version of the Green’s function molecular dynamics method</em>, <a class="reference external" href="http://dx.doi.org/10.1016/j.cpc.2010.10.006">Computer Physics Communications [182](2):540-541 (2011).</a></p> <p id="kong2011"><strong>(Kong2011)</strong> L.T. Kong, <em>Phonon dispersion measured directly from molecular dynamics simulations</em>, <a class="reference external" href="http://dx.doi.org/10.1016/j.cpc.2011.04.019">Computer Physics Communications [182](10):2201-2207, (2011).</a></p> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/fix_pimd.html b/doc/fix_pimd.html index fb32b38d1..1abbf4009 100644 --- a/doc/fix_pimd.html +++ b/doc/fix_pimd.html @@ -1,346 +1,346 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>fix pimd command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>fix pimd command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="fix-pimd-command"> <span id="index-0"></span><h1>fix pimd command<a class="headerlink" href="#fix-pimd-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>fix ID group-ID pimd keyword value ... </pre></div> </div> <ul class="simple"> <li>ID, group-ID are documented in <a class="reference internal" href="fix.html"><em>fix</em></a> command</li> <li>pimd = style name of this fix command</li> <li>zero or more keyword/value pairs may be appended</li> <li>keyword = <em>method</em> or <em>fmass</em> or <em>sp</em> or <em>temp</em> or <em>nhc</em></li> </ul> <pre class="literal-block"> <em>method</em> value = <em>pimd</em> or <em>nmpimd</em> or <em>cmd</em> - <em>fmass</em> value = scaling factor on mass - <em>sp</em> value = scaling factor on Planck constant - <em>temp</em> value = temperature (temperarate units) - <em>nhc</em> value = Nc = number of chains in Nose-Hoover thermostat +<em>fmass</em> value = scaling factor on mass +<em>sp</em> value = scaling factor on Planck constant +<em>temp</em> value = temperature (temperarate units) +<em>nhc</em> value = Nc = number of chains in Nose-Hoover thermostat </pre> </div> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>fix 1 all pimd method nmpimd fmass 1.0 sp 2.0 temp 300.0 nhc 4 </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>This command performs quantum molecular dynamics simulations based on the Feynman path integral to include effects of tunneling and zero-point motion. In this formalism, the isomorphism of a quantum partition function for the original system to a classical partition function for a ring-polymer system is exploited, to efficiently sample configurations from the canonical ensemble <a class="reference internal" href="#feynman"><span>(Feynman)</span></a>. The classical partition function and its components are given by the following equations:</p> <img alt="_images/fix_pimd.jpg" class="align-center" src="_images/fix_pimd.jpg" /> <p>The interested user is referred to any of the numerous references on this methodology, but briefly, each quantum particle in a path integral simulation is represented by a ring-polymer of P quasi-beads, labeled from 1 to P. During the simulation, each quasi-bead interacts with beads on the other ring-polymers with the same imaginary time index (the second term in the effective potential above). The quasi-beads also interact with the two neighboring quasi-beads through the spring potential in imaginary-time space (first term in effective potential). To sample the canonical ensemble, a Nose-Hoover massive chain thermostat is applied <a class="reference internal" href="run_style.html#tuckerman"><span>(Tuckerman)</span></a>. With the massive chain algorithm, a chain of NH thermostats is coupled to each degree of freedom for each quasi-bead. The keyword <em>temp</em> sets the target temperature for the system and the keyword <em>nhc</em> sets the number <em>Nc</em> of thermostats in each chain. For example, for a simulation of N particles with P beads in each ring-polymer, the total number of NH thermostats would be 3 x N x P x Nc.</p> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">This fix implements a complete velocity-verlet integrator combined with NH massive chain thermostat, so no other time integration fix should be used.</p> </div> <p>The <em>method</em> keyword determines what style of PIMD is performed. A value of <em>pimd</em> is standard PIMD. A value of <em>nmpimd</em> is for normal-mode PIMD. A value of <em>cmd</em> is for centroid molecular dynamics (CMD). The difference between the styles is as follows.</p> <p>In standard PIMD, the value used for a bead’s fictitious mass is arbitrary. A common choice is to use Mi = m/P, which results in the mass of the entire ring-polymer being equal to the real quantum particle. But it can be difficult to efficiently integrate the equations of motion for the stiff harmonic interactions in the ring polymers.</p> <p>A useful way to resolve this issue is to integrate the equations of motion in a normal mode representation, using Normal Mode Path-Integral Molecular Dynamics (NMPIMD) <a class="reference internal" href="#cao1"><span>(Cao1)</span></a>. In NMPIMD, the NH chains are attached to each normal mode of the ring-polymer and the fictitious mass of each mode is chosen as Mk = the eigenvalue of the Kth normal mode for k > 0. The k = 0 mode, referred to as the zero-frequency mode or centroid, corresponds to overall translation of the ring-polymer and is assigned the mass of the real particle.</p> <p>Motion of the centroid can be effectively uncoupled from the other normal modes by scaling the fictitious masses to achieve a partial adiabatic separation. This is called a Centroid Molecular Dynamics (CMD) approximation <a class="reference internal" href="#cao2"><span>(Cao2)</span></a>. The time-evolution (and resulting dynamics) of the quantum particles can be used to obtain centroid time correlation functions, which can be further used to obtain the true quantum correlation function for the original system. The CMD method also uses normal modes to evolve the system, except only the k > 0 modes are thermostatted, not the centroid degrees of freedom.</p> <p>The keyword <em>fmass</em> sets a further scaling factor for the fictitious masses of beads, which can be used for the Partial Adiabatic CMD <a class="reference internal" href="#hone"><span>(Hone)</span></a>, or to be set as P, which results in the fictitious masses to be equal to the real particle masses.</p> <p>The keyword <em>sp</em> is a scaling factor on Planck’s constant, which can be useful for debugging or other purposes. The default value of 1.0 is appropriate for most situations.</p> <p>The PIMD algorithm in LAMMPS is implemented as a hyper-parallel scheme as described in <a class="reference internal" href="#calhoun"><span>(Calhoun)</span></a>. In LAMMPS this is done by using <a class="reference internal" href="Section_howto.html#howto-5"><span>multi-replica feature</span></a> in LAMMPS, where each quasi-particle system is stored and simulated on a separate partition of processors. The following diagram illustrates this approach. The original system with 2 ring polymers is shown in red. Since each ring has 4 quasi-beads (imaginary time slices), there are 4 replicas of the system, each running on one of the 4 partitions of processors. Each replica (shown in green) owns one quasi-bead in each ring.</p> <img alt="_images/pimd.jpg" class="align-center" src="_images/pimd.jpg" /> <p>To run a PIMD simulation with M quasi-beads in each ring polymer using N MPI tasks for each partition’s domain-decomposition, you would use P = MxN processors (cores) and run the simulation as follows:</p> <div class="highlight-python"><div class="highlight"><pre>mpirun -np P lmp_mpi -partition MxN -in script </pre></div> </div> <p>Note that in the LAMMPS input script for a multi-partition simulation, it is often very useful to define a <a class="reference internal" href="variable.html"><em>uloop-style variable</em></a> such as</p> <div class="highlight-python"><div class="highlight"><pre>variable ibead uloop M pad </pre></div> </div> <p>where M is the number of quasi-beads (partitions) used in the calculation. The uloop variable can then be used to manage I/O related tasks for each of the partitions, e.g.</p> <div class="highlight-python"><div class="highlight"><pre>dump dcd all dcd 10 system_${ibead}.dcd restart 1000 system_${ibead}.restart1 system_${ibead}.restart2 read_restart system_${ibead}.restart2 </pre></div> </div> </div> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <p>This fix is part of the USER-MISC package. It is only enabled if LAMMPS was built with that package. See the <a class="reference internal" href="Section_start.html#start-3"><span>Making LAMMPS</span></a> section for more info.</p> <p>A PIMD simulation can be initialized with a single data file read via the <a class="reference internal" href="read_data.html"><em>read_data</em></a> command. However, this means all quasi-beads in a ring polymer will have identical positions and velocities, resulting in identical trajectories for all quasi-beads. To avoid this, users can simply initialize velocities with different random number seeds assigned to each partition, as defined by the uloop variable, e.g.</p> <div class="highlight-python"><div class="highlight"><pre>velocity all create 300.0 1234${ibead} rot yes dist gaussian </pre></div> </div> </div> <div class="section" id="default"> <h2>Default<a class="headerlink" href="#default" title="Permalink to this headline">¶</a></h2> <p>The keyword defaults are method = pimd, fmass = 1.0, sp = 1.0, temp = 300.0, and nhc = 2.</p> <hr class="docutils" /> <p id="feynman"><strong>(Feynman)</strong> R. Feynman and A. Hibbs, Chapter 7, Quantum Mechanics and Path Integrals, McGraw-Hill, New York (1965).</p> <p id="tuckerman"><strong>(Tuckerman)</strong> M. Tuckerman and B. Berne, J Chem Phys, 99, 2796 (1993).</p> <p id="cao1"><strong>(Cao1)</strong> J. Cao and B. Berne, J Chem Phys, 99, 2902 (1993).</p> <p id="cao2"><strong>(Cao2)</strong> J. Cao and G. Voth, J Chem Phys, 100, 5093 (1994).</p> <p id="hone"><strong>(Hone)</strong> T. Hone, P. Rossky, G. Voth, J Chem Phys, 124, 154103 (2006).</p> <p id="calhoun"><strong>(Calhoun)</strong> A. Calhoun, M. Pavese, G. Voth, Chem Phys Letters, 262, 415 (1996).</p> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/fix_poems.html b/doc/fix_poems.html index ce7959118..86e21ba63 100644 --- a/doc/fix_poems.html +++ b/doc/fix_poems.html @@ -1,300 +1,300 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>fix poems — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>fix poems</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="fix-poems"> <h1>fix poems<a class="headerlink" href="#fix-poems" title="Permalink to this headline">¶</a></h1> <p>Syntax:</p> <div class="highlight-python"><div class="highlight"><pre>fix ID group-ID poems keyword values </pre></div> </div> <ul class="simple"> <li>ID, group-ID are documented in <a class="reference internal" href="fix.html"><em>fix</em></a> command</li> <li>poems = style name of this fix command</li> <li>keyword = <em>group</em> or <em>file</em> or <em>molecule</em></li> </ul> <pre class="literal-block"> <em>group</em> values = list of group IDs - <em>molecule</em> values = none - <em>file</em> values = filename +<em>molecule</em> values = none +<em>file</em> values = filename </pre> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>fix 3 fluid poems group clump1 clump2 clump3 fix 3 fluid poems file cluster.list </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>Treats one or more sets of atoms as coupled rigid bodies. This means that each timestep the total force and torque on each rigid body is computed and the coordinates and velocities of the atoms are updated so that the collection of bodies move as a coupled set. This can be useful for treating a large biomolecule as a collection of connected, coarse-grained particles.</p> <p>The coupling, associated motion constraints, and time integration is performed by the software package <a class="reference external" href="http://www.rpi.edu/~anderk5/lab">Parallelizable Open source Efficient Multibody Software (POEMS)</a> which computes the constrained rigid-body motion of articulated (jointed) multibody systems <a class="reference internal" href="#anderson"><span>(Anderson)</span></a>. POEMS was written and is distributed by Prof Kurt Anderson, his graduate student Rudranarayan Mukherjee, and other members of his group at Rensselaer Polytechnic Institute (RPI). Rudranarayan developed the LAMMPS/POEMS interface. For copyright information on POEMS and other details, please refer to the documents in the poems directory distributed with LAMMPS.</p> <p>This fix updates the positions and velocities of the rigid atoms with a constant-energy time integration, so you should not update the same atoms via other fixes (e.g. nve, nvt, npt, temp/rescale, langevin).</p> <p>Each body must have a non-degenerate inertia tensor, which means if must contain at least 3 non-collinear atoms. Which atoms are in which bodies can be defined via several options.</p> <p>For option <em>group</em>, each of the listed groups is treated as a rigid body. Note that only atoms that are also in the fix group are included in each rigid body.</p> <p>For option <em>molecule</em>, each set of atoms in the group with a different molecule ID is treated as a rigid body.</p> <p>For option <em>file</em>, sets of atoms are read from the specified file and each set is treated as a rigid body. Each line of the file specifies a rigid body in the following format:</p> <p>ID type atom1-ID atom2-ID atom3-ID ...</p> <p>ID as an integer from 1 to M (the number of rigid bodies). Type is any integer; it is not used by the fix poems command. The remaining arguments are IDs of atoms in the rigid body, each typically from 1 to N (the number of atoms in the system). Only atoms that are also in the fix group are included in each rigid body. Blank lines and lines that begin with ‘#’ are skipped.</p> <p>A connection between a pair of rigid bodies is inferred if one atom is common to both bodies. The POEMS solver treats that atom as a spherical joint with 3 degrees of freedom. Currently, a collection of bodies can only be connected by joints as a linear chain. The entire collection of rigid bodies can represent one or more chains. Other connection topologies (tree, ring) are not allowed, but will be added later. Note that if no joints exist, it is more efficient to use the <a class="reference internal" href="fix_rigid.html"><em>fix rigid</em></a> command to simulate the system.</p> <p>When the poems fix is defined, it will print out statistics on the total # of clusters, bodies, joints, atoms involved. A cluster in this context means a set of rigid bodies connected by joints.</p> <p>For computational efficiency, you should turn off pairwise and bond interactions within each rigid body, as they no longer contribute to the motion. The “neigh_modify exclude” and “delete_bonds” commands can be used to do this if each rigid body is a group.</p> <p>For computational efficiency, you should only define one fix poems which includes all the desired rigid bodies. LAMMPS will allow multiple poems fixes to be defined, but it is more expensive.</p> <p>The degrees-of-freedom removed by coupled rigid bodies are accounted for in temperature and pressure computations. Similarly, the rigid body contribution to the pressure virial is also accounted for. The latter is only correct if forces within the bodies have been turned off, and there is only a single fix poems defined.</p> </div> <div class="section" id="restart-fix-modify-output-run-start-stop-minimize-info"> <h2>Restart, fix_modify, output, run start/stop, minimize info<a class="headerlink" href="#restart-fix-modify-output-run-start-stop-minimize-info" title="Permalink to this headline">¶</a></h2> <p>No information about this fix is written to <a class="reference internal" href="restart.html"><em>binary restart files</em></a>. None of the <a class="reference internal" href="fix_modify.html"><em>fix_modify</em></a> options are relevant to this fix. No global or per-atom quantities are stored by this fix for access by various <a class="reference internal" href="Section_howto.html#howto-15"><span>output commands</span></a>. No parameter of this fix can be used with the <em>start/stop</em> keywords of the <a class="reference internal" href="run.html"><em>run</em></a> command. This fix is not invoked during <a class="reference internal" href="minimize.html"><em>energy minimization</em></a>.</p> </div> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <p>This fix is part of the POEMS package. It is only enabled if LAMMPS was built with that package, which also requires the POEMS library be built and linked with LAMMPS. See the <a class="reference internal" href="Section_start.html#start-3"><span>Making LAMMPS</span></a> section for more info.</p> </div> <div class="section" id="related-commands"> <h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2> <p><a class="reference internal" href="fix_rigid.html"><em>fix rigid</em></a>, <a class="reference internal" href="delete_bonds.html"><em>delete_bonds</em></a>, <a class="reference internal" href="neigh_modify.html"><em>neigh_modify</em></a> exclude</p> <p><strong>Default:</strong> none</p> <hr class="docutils" /> <p id="anderson"><strong>(Anderson)</strong> Anderson, Mukherjee, Critchley, Ziegler, and Lipton “POEMS: Parallelizable Open-source Efficient Multibody Software ”, Engineering With Computers (2006). (<a class="reference external" href="http://dx.doi.org/10.1007/s00366-006-0026-x">link to paper</a>)</p> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/fix_pour.html b/doc/fix_pour.html index 256b7043e..bd45d82aa 100644 --- a/doc/fix_pour.html +++ b/doc/fix_pour.html @@ -1,396 +1,396 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>fix pour command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>fix pour command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="fix-pour-command"> <span id="index-0"></span><h1>fix pour command<a class="headerlink" href="#fix-pour-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>fix ID group-ID pour N type seed keyword values ... </pre></div> </div> <ul class="simple"> <li>ID, group-ID are documented in <a class="reference internal" href="fix.html"><em>fix</em></a> command</li> <li>pour = style name of this fix command</li> <li>N = # of atoms to insert</li> <li>type = atom type to assign to inserted atoms (offset for molecule insertion)</li> <li>seed = random # seed (positive integer)</li> <li>one or more keyword/value pairs may be appended to args</li> <li>keyword = <em>region</em> or <em>diam</em> or <em>dens</em> or <em>vol</em> or <em>rate</em> or <em>vel</em> or <em>mol</em> or <em>rigid</em> or <em>shake</em></li> </ul> <pre class="literal-block"> <em>region</em> value = region-ID - region-ID = ID of region to use as insertion volume - <em>diam</em> values = dstyle args - dstyle = <em>one</em> or <em>range</em> or <em>poly</em> - <em>one</em> args = D - D = single diameter for inserted particles (distance units) - <em>range</em> args = Dlo Dhi - Dlo,Dhi = range of diameters for inserted particles (distance units) - <em>poly</em> args = Npoly D1 P1 D2 P2 ... - Npoly = # of (D,P) pairs - D1,D2,... = diameter for subset of inserted particles (distance units) - P1,P2,... = percentage of inserted particles with this diameter (0-1) - <em>vol</em> values = fraction Nattempt - fraction = desired volume fraction for filling insertion volume - Nattempt = max # of insertion attempts per atom - <em>rate</em> value = V - V = z velocity (3d) or y velocity (2d) at which - insertion volume moves (velocity units) - <em>vel</em> values (3d) = vxlo vxhi vylo vyhi vz - <em>vel</em> values (2d) = vxlo vxhi vy - vxlo,vxhi = range of x velocities for inserted particles (velocity units) - vylo,vyhi = range of y velocities for inserted particles (velocity units) - vz = z velocity (3d) assigned to inserted particles (velocity units) - vy = y velocity (2d) assigned to inserted particles (velocity units) - <em>mol</em> value = template-ID - template-ID = ID of molecule template specified in a separate <a class="reference internal" href="molecule.html"><em>molecule</em></a> command - <em>molfrac</em> values = f1 f2 ... fN - f1 to fN = relative probability of creating each of N molecules in template-ID - <em>rigid</em> value = fix-ID - fix-ID = ID of <a class="reference internal" href="fix_rigid.html"><em>fix rigid/small</em></a> command - <em>shake</em> value = fix-ID - fix-ID = ID of <a class="reference internal" href="fix_shake.html"><em>fix shake</em></a> command + region-ID = ID of region to use as insertion volume +<em>diam</em> values = dstyle args + dstyle = <em>one</em> or <em>range</em> or <em>poly</em> + <em>one</em> args = D + D = single diameter for inserted particles (distance units) + <em>range</em> args = Dlo Dhi + Dlo,Dhi = range of diameters for inserted particles (distance units) + <em>poly</em> args = Npoly D1 P1 D2 P2 ... + Npoly = # of (D,P) pairs + D1,D2,... = diameter for subset of inserted particles (distance units) + P1,P2,... = percentage of inserted particles with this diameter (0-1) +<em>vol</em> values = fraction Nattempt + fraction = desired volume fraction for filling insertion volume + Nattempt = max # of insertion attempts per atom +<em>rate</em> value = V + V = z velocity (3d) or y velocity (2d) at which + insertion volume moves (velocity units) +<em>vel</em> values (3d) = vxlo vxhi vylo vyhi vz +<em>vel</em> values (2d) = vxlo vxhi vy + vxlo,vxhi = range of x velocities for inserted particles (velocity units) + vylo,vyhi = range of y velocities for inserted particles (velocity units) + vz = z velocity (3d) assigned to inserted particles (velocity units) + vy = y velocity (2d) assigned to inserted particles (velocity units) +<em>mol</em> value = template-ID + template-ID = ID of molecule template specified in a separate <a class="reference internal" href="molecule.html"><em>molecule</em></a> command +<em>molfrac</em> values = f1 f2 ... fN + f1 to fN = relative probability of creating each of N molecules in template-ID +<em>rigid</em> value = fix-ID + fix-ID = ID of <a class="reference internal" href="fix_rigid.html"><em>fix rigid/small</em></a> command +<em>shake</em> value = fix-ID + fix-ID = ID of <a class="reference internal" href="fix_shake.html"><em>fix shake</em></a> command </pre> </div> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>fix 3 all pour 1000 2 29494 region myblock fix 2 all pour 10000 1 19985583 region disk vol 0.33 100 rate 1.0 diam range 0.9 1.1 fix 2 all pour 10000 1 19985583 region disk diam poly 2 0.7 0.4 1.5 0.6 fix ins all pour 500 1 4767548 vol 0.8 10 region slab mol object rigid myRigid </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>Insert finite-size particles or molecules into the simulation box every few timesteps within a specified region until N particles or molecules have been inserted. This is typically used to model the pouring of granular particles into a container under the influence of gravity. For the remainder of this doc page, a single inserted atom or molecule is referred to as a “particle”.</p> <p>If inserted particles are individual atoms, they are assigned the specified atom type. If they are molecules, the type of each atom in the inserted molecule is specified in the file read by the <a class="reference internal" href="molecule.html"><em>molecule</em></a> command, and those values are added to the specified atom type. E.g. if the file specifies atom types 1,2,3, and those are the atom types you want for inserted molecules, then specify <em>type</em> = 0. If you specify <em>type</em> = 2, the in the inserted molecule will have atom types 3,4,5.</p> <p>All atoms in the inserted particle are assigned to two groups: the default group “all” and the group specified in the fix pour command (which can also be “all”).</p> <p>This command must use the <em>region</em> keyword to define an insertion volume. The specified region must have been previously defined with a <a class="reference internal" href="region.html"><em>region</em></a> command. It must be of type <em>block</em> or a z-axis <em>cylinder</em> and must be defined with side = <em>in</em>. The cylinder style of region can only be used with 3d simulations.</p> <p>Individual atoms are inserted, unless the <em>mol</em> keyword is used. It specifies a <em>template-ID</em> previously defined using the <a class="reference internal" href="molecule.html"><em>molecule</em></a> command, which reads a file that defines the molecule. The coordinates, atom types, center-of-mass, moments of inertia, etc, as well as any bond/angle/etc and special neighbor information for the molecule can be specified in the molecule file. See the <a class="reference internal" href="molecule.html"><em>molecule</em></a> command for details. The only settings required to be in this file are the coordinates and types of atoms in the molecule.</p> <p>If the molecule template contains more than one molecule, the relative probability of depositing each molecule can be specified by the <em>molfrac</em> keyword. N relative probablities, each from 0.0 to 1.0, are specified, where N is the number of molecules in the template. Each time a molecule is inserted, a random number is used to sample from the list of relative probabilities. The N values must sum to 1.0.</p> <p>If you wish to insert molecules via the <em>mol</em> keyword, that will be treated as rigid bodies, use the <em>rigid</em> keyword, specifying as its value the ID of a separate <code class="xref doc docutils literal"><span class="pre">fix</span> <span class="pre">rigid/small</span></code> command which also appears in your input script.</p> <p>If you wish to insert molecules via the <em>mol</em> keyword, that will have their bonds or angles constrained via SHAKE, use the <em>shake</em> keyword, specifying as its value the ID of a separate <a class="reference internal" href="fix_shake.html"><em>fix shake</em></a> command which also appears in your input script.</p> <p>Each timestep particles are inserted, they are placed randomly inside the insertion volume so as to mimic a stream of poured particles. If they are molecules they are also oriented randomly. Each atom in the particle is tested for overlaps with existing particles, including effects due to periodic boundary conditions if applicable. If an overlap is detected, another random insertion attempt is made; see the <em>vol</em> keyword discussion below. The larger the volume of the insertion region, the more particles that can be inserted at any one timestep. Particles are inserted again after enough time has elapsed that the previously inserted particles fall out of the insertion volume under the influence of gravity. Insertions continue every so many timesteps until the desired # of particles has been inserted.</p> <p>All other keywords are optional with defaults as shown below.</p> <p>The <em>diam</em> option is only used when inserting atoms and specifes the diameters of inserted particles. There are 3 styles: <em>one</em>, <em>range</em>, or <em>poly</em>. For <em>one</em>, all particles will have diameter <em>D</em>. For <em>range</em>, the diameter of each particle will be chosen randomly and uniformly between the specified <em>Dlo</em> and <em>Dhi</em> bounds. For <em>poly</em>, a series of <em>Npoly</em> diameters is specified. For each diameter a percentage value from 0.0 to 1.0 is also specified. The <em>Npoly</em> percentages must sum to 1.0. For the example shown above with “diam 2 0.7 0.4 1.5 0.6”, all inserted particles will have a diameter of 0.7 or 1.5. 40% of the particles will be small; 60% will be large.</p> <p>Note that for molecule insertion, the diameters of individual atoms in the molecule can be specified in the file read by the <a class="reference internal" href="molecule.html"><em>molecule</em></a> command. If not specified, the diameter of each atom in the molecule has a default diameter of 1.0.</p> <p>The <em>dens</em> and <em>vel</em> options enable inserted particles to have a range of densities or xy velocities. The specific values for a particular inserted particle will be chosen randomly and uniformly between the specified bounds. The <em>vz</em> or <em>vy</em> value for option <em>vel</em> assigns a z-velocity (3d) or y-velocity (2d) to each inserted particle.</p> <p>The <em>vol</em> option specifies what volume fraction of the insertion volume will be filled with particles. For particles with a size specified by the <em>diam range</em> keyword, they are assumed to all be of maximum diamter <em>Dhi</em> for purposes of computing their contribution to the volume fraction.</p> <p>The higher the volume fraction value, the more particles are inserted each timestep. Since inserted particles cannot overlap, the maximum volume fraction should be no higher than about 0.6. Each timestep particles are inserted, LAMMPS will make up to a total of M tries to insert the new particles without overlaps, where M = # of inserted particles * Nattempt. If LAMMPS is unsuccessful at completing all insertions, it prints a warning.</p> <p>The <em>rate</em> option moves the insertion volume in the z direction (3d) or y direction (2d). This enables pouring particles from a successively higher height over time.</p> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">If you are monitoring the temperature of a system where the particle count is changing due to adding particles, you typically should use the <a class="reference internal" href="compute_modify.html"><em>compute_modify dynamic yes</em></a> command for the temperature compute you are using.</p> </div> </div> <hr class="docutils" /> <div class="section" id="restart-fix-modify-output-run-start-stop-minimize-info"> <h2>Restart, fix_modify, output, run start/stop, minimize info<a class="headerlink" href="#restart-fix-modify-output-run-start-stop-minimize-info" title="Permalink to this headline">¶</a></h2> <p>No information about this fix is written to <a class="reference internal" href="restart.html"><em>binary restart files</em></a>. This means you must be careful when restarting a pouring simulation, when the restart file was written in the middle of the pouring operation. Specifically, you should use a new fix pour command in the input script for the restarted simulation that continues the operation. You will need to adjust the arguments of the original fix pour command to do this.</p> <p>Also note that because the state of the random number generator is not saved in restart files, you cannot do “exact” restarts with this fix, where the simulation continues on the same as if no restart had taken place. However, in a statistical sense, a restarted simulation should produce the same behavior if you adjust the fix pour parameters appropriately.</p> <p>None of the <a class="reference internal" href="fix_modify.html"><em>fix_modify</em></a> options are relevant to this fix. No global or per-atom quantities are stored by this fix for access by various <a class="reference internal" href="Section_howto.html#howto-15"><span>output commands</span></a>. No parameter of this fix can be used with the <em>start/stop</em> keywords of the <a class="reference internal" href="run.html"><em>run</em></a> command. This fix is not invoked during <a class="reference internal" href="minimize.html"><em>energy minimization</em></a>.</p> </div> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <p>This fix is part of the GRANULAR package. It is only enabled if LAMMPS was built with that package. See the <a class="reference internal" href="Section_start.html#start-3"><span>Making LAMMPS</span></a> section for more info.</p> <p>For 3d simulations, a gravity fix in the -z direction must be defined for use in conjunction with this fix. For 2d simulations, gravity must be defined in the -y direction.</p> <p>The specified insertion region cannot be a “dynamic” region, as defined by the <a class="reference internal" href="region.html"><em>region</em></a> command.</p> </div> <div class="section" id="related-commands"> <h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2> <p><a class="reference internal" href="fix_deposit.html"><em>fix_deposit</em></a>, <a class="reference internal" href="fix_gravity.html"><em>fix_gravity</em></a>, <a class="reference internal" href="region.html"><em>region</em></a></p> </div> <div class="section" id="default"> <h2>Default<a class="headerlink" href="#default" title="Permalink to this headline">¶</a></h2> <p>Insertions are performed for individual particles, i.e. no <em>mol</em> setting is defined. If the <em>mol</em> keyword is used, the default for <em>molfrac</em> is an equal probabilities for all molecules in the template. Additional option defaults are diam = one 1.0, dens = 1.0 1.0, vol = 0.25 50, rate = 0.0, vel = 0.0 0.0 0.0 0.0 0.0.</p> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/fix_print.html b/doc/fix_print.html index b29f5c1d3..cb5b4b539 100644 --- a/doc/fix_print.html +++ b/doc/fix_print.html @@ -1,275 +1,275 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>fix print command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>fix print command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="fix-print-command"> <span id="index-0"></span><h1>fix print command<a class="headerlink" href="#fix-print-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>fix ID group-ID print N string keyword value ... </pre></div> </div> <ul class="simple"> <li>ID, group-ID are documented in <a class="reference internal" href="fix.html"><em>fix</em></a> command</li> <li>print = style name of this fix command</li> <li>N = print every N steps</li> <li>string = text string to print with optional variable names</li> <li>zero or more keyword/value pairs may be appended</li> <li>keyword = <em>file</em> or <em>append</em> or <em>screen</em> or <em>title</em></li> </ul> <pre class="literal-block"> <em>file</em> value = filename - <em>append</em> value = filename - <em>screen</em> value = <em>yes</em> or <em>no</em> - <em>title</em> value = string - string = text to print as 1st line of output file +<em>append</em> value = filename +<em>screen</em> value = <em>yes</em> or <em>no</em> +<em>title</em> value = string + string = text to print as 1st line of output file </pre> </div> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>fix extra all print 100 "Coords of marker atom = $x $y $z" fix extra all print 100 "Coords of marker atom = $x $y $z" file coord.txt </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>Print a text string every N steps during a simulation run. This can be used for diagnostic purposes or as a debugging tool to monitor some quantity during a run. The text string must be a single argument, so it should be enclosed in double quotes if it is more than one word. If it contains variables it must be enclosed in double quotes to insure they are not evaluated when the input script line is read, but will instead be evaluated each time the string is printed.</p> <p>See the <a class="reference internal" href="variable.html"><em>variable</em></a> command for a description of <em>equal</em> style variables which are the most useful ones to use with the fix print command, since they are evaluated afresh each timestep that the fix print line is output. Equal-style variables calculate formulas involving mathematical operations, atom properties, group properties, thermodynamic properties, global values calculated by a <a class="reference internal" href="compute.html"><em>compute</em></a> or <a class="reference internal" href="fix.html"><em>fix</em></a>, or references to other <a class="reference internal" href="variable.html"><em>variables</em></a>.</p> <p>If the <em>file</em> or <em>append</em> keyword is used, a filename is specified to which the output generated by this fix will be written. If <em>file</em> is used, then the filename is overwritten if it already exists. If <em>append</em> is used, then the filename is appended to if it already exists, or created if it does not exist.</p> <p>If the <em>screen</em> keyword is used, output by this fix to the screen and logfile can be turned on or off as desired.</p> <p>The <em>title</em> keyword allow specification of the string that will be printed as the first line of the output file, assuming the <em>file</em> keyword was used. By default, the title line is as follows:</p> <div class="highlight-python"><div class="highlight"><pre><span class="c"># Fix print output for fix ID</span> </pre></div> </div> <p>where ID is replaced with the fix-ID.</p> </div> <div class="section" id="restart-fix-modify-output-run-start-stop-minimize-info"> <h2>Restart, fix_modify, output, run start/stop, minimize info<a class="headerlink" href="#restart-fix-modify-output-run-start-stop-minimize-info" title="Permalink to this headline">¶</a></h2> <p>No information about this fix is written to <a class="reference internal" href="restart.html"><em>binary restart files</em></a>. None of the <a class="reference internal" href="fix_modify.html"><em>fix_modify</em></a> options are relevant to this fix. No global or per-atom quantities are stored by this fix for access by various <a class="reference internal" href="Section_howto.html#howto-15"><span>output commands</span></a>. No parameter of this fix can be used with the <em>start/stop</em> keywords of the <a class="reference internal" href="run.html"><em>run</em></a> command. This fix is not invoked during <a class="reference internal" href="minimize.html"><em>energy minimization</em></a>.</p> </div> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <blockquote> <div>none</div></blockquote> </div> <div class="section" id="related-commands"> <h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2> <p><a class="reference internal" href="variable.html"><em>variable</em></a>, <a class="reference internal" href="print.html"><em>print</em></a></p> </div> <div class="section" id="default"> <h2>Default<a class="headerlink" href="#default" title="Permalink to this headline">¶</a></h2> <p>The option defaults are no file output, screen = yes, and title string as described above.</p> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/fix_property_atom.html b/doc/fix_property_atom.html index 7c5501c52..4df5b0998 100644 --- a/doc/fix_property_atom.html +++ b/doc/fix_property_atom.html @@ -1,387 +1,387 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>fix property/atom command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>fix property/atom command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="fix-property-atom-command"> <span id="index-0"></span><h1>fix property/atom command<a class="headerlink" href="#fix-property-atom-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>fix ID group-ID property/atom vec1 vec2 ... keyword value ... </pre></div> </div> <ul class="simple"> <li>ID, group-ID are documented in <a class="reference internal" href="fix.html"><em>fix</em></a> command</li> <li>property/atom = style name of this fix command</li> <li>vec1,vec2,... = <em>mol</em> or <em>q</em> or <em>i_name</em> or <em>d_name</em></li> </ul> <pre class="literal-block"> <em>mol</em> = molecule IDs - <em>q</em> = charge - <em>i_name</em> = new integer vector referenced by name - <em>d_name</em> = new floating-point vector referenced by name +<em>q</em> = charge +<em>i_name</em> = new integer vector referenced by name +<em>d_name</em> = new floating-point vector referenced by name </pre> <ul class="simple"> <li>zero of more keyword/value pairs may be appended</li> <li>keyword = <em>ghost</em></li> </ul> <pre class="literal-block"> <em>ghost</em> value = <em>no</em> or <em>yes</em> for whether ghost atom info in communicated </pre> </div> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>fix 1 all property/atom mol fix 1 all property/atom i_myflag1 i_myflag2 fix 1 all property/atom d_sx d_sy d_sz </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>Create one or more additional per-atom vectors to store information about atoms and to use during a simulation. The specified <em>group-ID</em> is ignored by this fix.</p> <p>The atom style used for a simulation defines a set of per-atom properties, as explained on the <a class="reference internal" href="atom_style.html"><em>atom_style</em></a> and <a class="reference internal" href="read_data.html"><em>read_data</em></a> doc pages. The latter command allows these properties to be defined for each atom in the system when a data file is read. This fix will augment the set of properties with new custom ones.</p> <p>This can be useful in at least two scenarios.</p> <p>If the atom style does not define molecule IDs or per-atom charge, they can be added using the <em>mol</em> or <em>q</em> keywords. This can be useful, e.g, to define “molecules” to use as rigid bodies with the <a class="reference internal" href="fix_rigid.html"><em>fix rigid</em></a> command, or just to carry around an extra flag with the atoms (stored as a molecule ID). An alternative is to use an atom style that does define molecule IDs or charge or to use a hybrid atom style that combines two styles to allow for molecule IDs or charge, but that has 2 practical drawbacks. First it typically necessitates changing the format of the data file. And it may define additional properties that aren’t needed such as bond lists, which has some overhead when there are no bonds.</p> <p>In the future, we may add additional per-atom properties similar to <em>mol</em> or <em>q</em>, which “turn-on” specific properties defined by some atom styles, so they can be used by atom styles that don’t define them.</p> <p>More generally, the <em>i_name</em> and <em>d_name</em> vectors allow one or more new custom per-atom properties to be defined. Each name must be unique and can use alphanumeric or underscore characters. These vectors can store whatever values you decide are useful in your simulation. As explained below there are several ways to initialize and access and output these values, both via input script commands and in new code that you add to LAMMPS.</p> <p>This is effectively a simple way to add per-atom properties to a model without needing to write code for a new <a class="reference internal" href="atom_style.html"><em>atom style</em></a> that defines the properties. Note however that implementing a new atom style allows new atom properties to be more tightly and seamlessly integrated with the rest of the code.</p> <p>The new atom properties encode values that migrate with atoms to new processors and are written to restart files. If you want the new properties to also be defined for ghost atoms, then use the <em>ghost</em> keyword with a value of <em>yes</em>. This will invoke extra communication when ghost atoms are created (at every re-neighboring) to insure the new properties are also defined for the ghost atoms.</p> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">If you use this command with the <em>mol</em> or <em>charge</em> vectors than you most likely want to set <em>ghost</em> yes, since these properties are stored with ghost atoms if you use an <a class="reference internal" href="atom_style.html"><em>atom_style</em></a> that defines them, and many LAMMPS operations that use molecule IDs or charge, such as neighbor lists and pair styles, will expect ghost atoms to have these valuse. LAMMPS will issue a warning it you define those vectors but do not set <em>ghost</em> yes.</p> </div> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">The properties for ghost atoms are not updated every timestep, but only once every few steps when neighbor lists are re-built. Thus the <em>ghost</em> keyword is suitable for static properties, like molecule IDs, but not for dynamic properties that change every step. For the latter, the code you add to LAMMPS to change the properties will also need to communicate their new values to/from ghost atoms, an operation that can be invoked from within a <a class="reference internal" href="pair_style.html"><em>pair style</em></a> or <a class="reference internal" href="fix.html"><em>fix</em></a> or <a class="reference internal" href="compute.html"><em>compute</em></a> that you write.</p> </div> <hr class="docutils" /> <p>This fix is one of a small number that can be defined in an input script before the simulation box is created or atoms are defined. This is so it can be used with the <a class="reference internal" href="read_data.html"><em>read_data</em></a> command as described below.</p> <p>Per-atom properties that are defined by the <a class="reference internal" href="atom_style.html"><em>atom style</em></a> are initialized when atoms are created, e.g. by the <a class="reference internal" href="read_data.html"><em>read_data</em></a> or <a class="reference internal" href="create_atoms.html"><em>create_atoms</em></a> commands. The per-atom properaties defined by this fix are not. So you need to initialize them explicitly. This can be done by the <a class="reference internal" href="read_data.html"><em>read_data</em></a> command, using its <em>fix</em> keyword and passing it the fix-ID of this fix.</p> <p>Thus these commands:</p> <div class="highlight-python"><div class="highlight"><pre>fix prop all property/atom mol d_flag read_data data.txt fix prop NULL Molecules </pre></div> </div> <p>would allow a data file to have a section like this:</p> <div class="highlight-python"><div class="highlight"><pre><span class="n">Molecules</span> </pre></div> </div> <div class="highlight-python"><div class="highlight"><pre>1 4 1.5 2 4 3.0 3 10 1.0 4 10 1.0 5 10 1.0 ... N 763 4.5 </pre></div> </div> <p>where N is the number of atoms, and the first field on each line is the atom-ID, followed by a molecule-ID and a floating point value that will be stored in a new property called “flag”. Note that the list of per-atom properties can be in any order.</p> <p>Another way of initializing the new properties is via the <a class="reference internal" href="set.html"><em>set</em></a> command. For example, if you wanted molecules defined for every set of 10 atoms, based on their atom-IDs, these commands could be used:</p> <div class="highlight-python"><div class="highlight"><pre>fix prop all property/atom mol variable cluster atom ((id-1)/10)+1 set id * mol v_cluster </pre></div> </div> <p>The <a class="reference internal" href="variable.html"><em>atom-style variable</em></a> will create values for atoms with IDs 31,32,33,...40 that are 4.0,4.1,4.2,...,4.9. When the <a class="reference internal" href="set.html"><em>set</em></a> commands assigns them to the molecule ID for each atom, they will be truncated to an integer value, so atoms 31-40 will all be assigned a molecule ID of 4.</p> <p>Note that <a class="reference internal" href="variable.html"><em>atomfile-style variables</em></a> can also be used in place of atom-style variables, which means in this case that the molecule IDs could be read-in from a separate file and assinged by the <a class="reference internal" href="set.html"><em>set</em></a> command. This allows you to initialize new per-atom properties in a completely general fashion.</p> <hr class="docutils" /> <p>For new atom properties specified as <em>i_name</em> or <em>d_name</em>, the <a class="reference internal" href="compute_property_atom.html"><em>compute property/atom</em></a> command can access their values. This means that the values can be output via the <a class="reference internal" href="dump.html"><em>dump custom</em></a> command, accessed by fixes like <a class="reference internal" href="fix_ave_atom.html"><em>fix ave/atom</em></a>, accessed by other computes like <a class="reference internal" href="compute_reduce.html"><em>compute reduce</em></a>, or used in <a class="reference external" href="variables">atom-style variables</a>.</p> <p>For example, these commands will output two new properties to a custom dump file:</p> <div class="highlight-python"><div class="highlight"><pre>fix prop all property/atom i_flag1 d_flag2 compute 1 all property/atom i_flag1 d_flag2 dump 1 all custom 100 tmp.dump id x y z c_1[1] c_1[2] </pre></div> </div> <hr class="docutils" /> <p>If you wish to add new <a class="reference internal" href="pair_style.html"><em>pair styles</em></a>, <a class="reference internal" href="fix.html"><em>fixes</em></a>, or <a class="reference internal" href="compute.html"><em>computes</em></a> that use the per-atom properties defined by this fix, see <a class="reference internal" href="Section_modify.html#mod-1"><span>Section modify</span></a> of the manual which has some details on how the properties can be accessed from added classes.</p> </div> <hr class="docutils" /> <div class="section" id="restart-fix-modify-output-run-start-stop-minimize-info"> <h2>Restart, fix_modify, output, run start/stop, minimize info<a class="headerlink" href="#restart-fix-modify-output-run-start-stop-minimize-info" title="Permalink to this headline">¶</a></h2> <p>This fix writes the per-atom values it stores to <a class="reference internal" href="restart.html"><em>binary restart files</em></a>, so that the values can be restored when a simulation is restarted. See the <a class="reference internal" href="read_restart.html"><em>read_restart</em></a> command for info on how to re-specify a fix in an input script that reads a restart file, so that the operation of the fix continues in an uninterrupted fashion.</p> <p>None of the <a class="reference internal" href="fix_modify.html"><em>fix_modify</em></a> options are relevant to this fix. No global or per-atom quantities are stored by this fix for access by various <a class="reference internal" href="Section_howto.html#howto-15"><span>output commands</span></a>. No parameter of this fix can be used with the <em>start/stop</em> keywords of the <a class="reference internal" href="run.html"><em>run</em></a> command. This fix is not invoked during <a class="reference internal" href="minimize.html"><em>energy minimization</em></a>.</p> </div> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <blockquote> <div>none</div></blockquote> </div> <div class="section" id="related-commands"> <h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2> <p><a class="reference internal" href="read_data.html"><em>read_data</em></a>, <a class="reference internal" href="set.html"><em>set</em></a>, <a class="reference internal" href="compute_property_atom.html"><em>compute property/atom</em></a></p> </div> <div class="section" id="default"> <h2>Default<a class="headerlink" href="#default" title="Permalink to this headline">¶</a></h2> <p>The default keyword values are ghost = no.</p> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/fix_qbmsst.html b/doc/fix_qbmsst.html index caf1b67ac..2bdc71194 100644 --- a/doc/fix_qbmsst.html +++ b/doc/fix_qbmsst.html @@ -1,379 +1,379 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>fix qbmsst command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>fix qbmsst command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="fix-qbmsst-command"> <span id="index-0"></span><h1>fix qbmsst command<a class="headerlink" href="#fix-qbmsst-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>fix ID group-ID qbmsst dir shockvel keyword value ... </pre></div> </div> <ul class="simple"> <li>ID, group-ID are documented in <a class="reference internal" href="fix.html"><em>fix</em></a> command</li> <li>qbmsst = style name of this fix</li> <li>dir = <em>x</em> or <em>y</em> or <em>z</em></li> <li>shockvel = shock velocity (strictly positive, velocity units)</li> <li>zero or more keyword/value pairs may be appended</li> <li>keyword = <em>q</em> or <em>mu</em> or <em>p0</em> or <em>v0</em> or <em>e0</em> or <em>tscale</em> or <em>damp</em> or <em>seed*or *f_max</em> or <em>N_f</em> or <em>eta</em> or <em>beta</em> or <em>T_init</em></li> </ul> <pre class="literal-block"> <em>q</em> value = cell mass-like parameter (mass^2/distance^4 units) - <em>mu</em> value = artificial viscosity (mass/distance/time units) - <em>p0</em> value = initial pressure in the shock equations (pressure units) - <em>v0</em> value = initial simulation cell volume in the shock equations (distance^3 units) - <em>e0</em> value = initial total energy (energy units) - <em>tscale</em> value = reduction in initial temperature (unitless fraction between 0.0 and 1.0) - <em>damp</em> value = damping parameter (time units) inverse of friction <i>&gamma;</i> - <em>seed</em> value = random number seed (positive integer) - <em>f_max</em> value = upper cutoff frequency of the vibration spectrum (1/time units) - <em>N_f</em> value = number of frequency bins (positive integer) - <em>eta</em> value = coupling constant between the shock system and the quantum thermal bath (positive unitless) - <em>beta</em> value = the quantum temperature is updated every beta time steps (positive integer) - <em>T_init</em> value = quantum temperature for the initial state (temperature units) +<em>mu</em> value = artificial viscosity (mass/distance/time units) +<em>p0</em> value = initial pressure in the shock equations (pressure units) +<em>v0</em> value = initial simulation cell volume in the shock equations (distance^3 units) +<em>e0</em> value = initial total energy (energy units) +<em>tscale</em> value = reduction in initial temperature (unitless fraction between 0.0 and 1.0) +<em>damp</em> value = damping parameter (time units) inverse of friction <i>&gamma;</i> +<em>seed</em> value = random number seed (positive integer) +<em>f_max</em> value = upper cutoff frequency of the vibration spectrum (1/time units) +<em>N_f</em> value = number of frequency bins (positive integer) +<em>eta</em> value = coupling constant between the shock system and the quantum thermal bath (positive unitless) +<em>beta</em> value = the quantum temperature is updated every beta time steps (positive integer) +<em>T_init</em> value = quantum temperature for the initial state (temperature units) </pre> </div> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>fix 1 all qbmsst z 0.122 q 25 mu 0.9 tscale 0.01 damp 200 seed 35082 f_max 0.3 N_f 100 eta 1 beta 400 T_init 110 (liquid methane modeled with the REAX force field, real units) fix 2 all qbmsst z 72 q 40 tscale 0.05 damp 1 seed 47508 f_max 120.0 N_f 100 eta 1.0 beta 500 T_init 300 (quartz modeled with the BKS force field, metal units) </pre></div> </div> <p>Two example input scripts are given, including shocked alpha quartz and shocked liquid methane. The input script first equilibrate an initial state with the quantum thermal bath at the target temperature and then apply the qbmsst to simulate shock compression with quantum nuclear correction. The following two figures plot related quantities for shocked alpha quartz.</p> <img alt="_images/qbmsst_init.jpg" class="align-center" src="_images/qbmsst_init.jpg" /> <p>Figure 1. Classical temperature <i>T</i><sup>cl</sup> = &sum; <i>m<sub>i</sub>v<sub>i</sub><sup>2</sup>/3Nk</i><sub>B</sub> vs. time for coupling the alpha quartz initial state with the quantum thermal bath at target quantum temperature <i>T</i><sup>qm</sup> = 300 K. The NpH ensemble is used for time integration while QTB provides the colored random force. <i>T</i><sup>cl</sup> converges at the timescale of <em>damp</em> which is set to be 1 ps.</p> <img alt="_images/qbmsst_shock.jpg" class="align-center" src="_images/qbmsst_shock.jpg" /> <p>Figure 2. Quantum temperature and pressure vs. time for simulating shocked alpha quartz with the QBMSST. The shock propagates along the z direction. Restart of the QBMSST command is demonstrated in the example input script. Thermodynamic quantities stay continuous before and after the restart.</p> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>This command performs the Quantum-Bath coupled Multi-Scale Shock Technique (QBMSST) integration. See <a class="reference internal" href="#qi"><span>(Qi)</span></a> for a detailed description of this method. The QBMSST provides description of the thermodynamics and kinetics of shock processes while incorporating quantum nuclear effects. The <em>shockvel</em> setting determines the steady shock velocity that will be simulated along direction <em>dir</em>.</p> <p>Quantum nuclear effects <a class="reference internal" href="fix_qtb.html"><em>(fix qtb)</em></a> can be crucial especially when the temperature of the initial state is below the classical limit or there is a great change in the zero point energies between the initial and final states. Theoretical post processing quantum corrections of shock compressed water and methane have been reported as much as 30% of the temperatures <a class="reference internal" href="#goldman"><span>(Goldman)</span></a>. A self-consistent method that couples the shock to a quantum thermal bath described by a colored noise Langevin thermostat has been developed by Qi et al <a class="reference internal" href="#qi"><span>(Qi)</span></a> and applied to shocked methane. The onset of chemistry is reported to be at a pressure on the shock Hugoniot that is 40% lower than observed with classical molecular dynamics.</p> <p>It is highly recommended that the system be already in an equilibrium state with a quantum thermal bath at temperature of <em>T_init</em>. The fix command <a class="reference internal" href="fix_qtb.html"><em>fix qtb</em></a> at constant temperature <em>T_init</em> could be used before applying this command to introduce self-consistent quantum nuclear effects into the initial state.</p> <p>The parameters <em>q</em>, <em>mu</em>, <em>e0</em>, <em>p0</em>, <em>v0</em> and <em>tscale</em> are described in the command <a class="reference internal" href="fix_msst.html"><em>fix msst</em></a>. The values of <em>e0</em>, <em>p0</em>, or <em>v0</em> will be calculated on the first step if not specified. The parameter of <em>damp</em>, <em>f_max</em>, and <em>N_f</em> are described in the command <a class="reference internal" href="fix_qtb.html"><em>fix qtb</em></a>.</p> <p>The fix qbmsst command couples the shock system to a quantum thermal bath with a rate that is proportional to the change of the total energy of the shock system, <i>etot</i> - <i>etot</i><sub>0</sub>. Here <i>etot</i> consists of both the system energy and a thermal term, see <a class="reference internal" href="#qi"><span>(Qi)</span></a>, and <i>etot</i><sub>0</sub> = <em>e0</em> is the initial total energy.</p> <p>The <em>eta</em> (<i>&eta;</i>) parameter is a unitless coupling constant between the shock system and the quantum thermal bath. A small <em>eta</em> value cannot adjust the quantum temperature fast enough during the temperature ramping period of shock compression while large <em>eta</em> leads to big temperature oscillation. A value of <em>eta</em> between 0.3 and 1 is usually appropriate for simulating most systems under shock compression. We observe that different values of <em>eta</em> lead to almost the same final thermodynamic state behind the shock, as expected.</p> <p>The quantum temperature is updated every <em>beta</em> (<i>&beta;</i>) steps with an integration time interval <em>beta</em> times longer than the simulation time step. In that case, <i>etot</i> is taken as its average over the past <em>beta</em> steps. The temperature of the quantum thermal bath <i>T</i><sup>qm</sup> changes dynamically according to the following equation where &Delta;<i>t</i> is the MD time step and <i>&gamma;</i> is the friction constant which is equal to the inverse of the <em>damp</em> parameter.</p> <center><font size="4"> <i>dT</i><sup>qm</sup>/<i>dt = γη</i>∑<i><sup>β</sup><sub>l = 1</sub></i>[<i>etot</i>(<i>t-l</i>Δ<i>t</i>)-<i>etot</i><sub>0</sub>]/<i>3βNk</i><sub>B</sub> </font></center><p>The parameter <em>T_init</em> is the initial temperature of the quantum thermal bath and the system before shock loading.</p> <p>For all pressure styles, the simulation box stays orthorhombic in shape. Parrinello-Rahman boundary conditions (tilted box) are supported by LAMMPS, but are not implemented for QBMSST.</p> </div> <hr class="docutils" /> <div class="section" id="restart-fix-modify-output-run-start-stop-minimize-info"> <h2>Restart, fix_modify, output, run start/stop, minimize info<a class="headerlink" href="#restart-fix-modify-output-run-start-stop-minimize-info" title="Permalink to this headline">¶</a></h2> <p>Because the state of the random number generator is not written to <a class="reference internal" href="restart.html"><em>binary restart files</em></a>, this fix cannot be restarted “exactly” in an uninterrupted fashion. However, in a statistical sense, a restarted simulation should produce similar behaviors of the system as if it is not interrupted. To achieve such a restart, one should write explicitly the same value for <em>q</em>, <em>mu</em>, <em>damp</em>, <em>f_max</em>, <em>N_f</em>, <em>eta</em>, and <em>beta</em> and set <em>tscale</em> = 0 if the system is compressed during the first run.</p> <p>The progress of the QBMSST can be monitored by printing the global scalar and global vector quantities computed by the fix. The global vector contains five values in this order:</p> <p>[<em>dhugoniot</em>, <em>drayleigh</em>, <em>lagrangian_speed</em>, <em>lagrangian_position</em>, <em>quantum_temperature</em>]</p> <ol class="arabic simple"> <li><em>dhugoniot</em> is the departure from the Hugoniot (temperature units).</li> <li><em>drayleigh</em> is the departure from the Rayleigh line (pressure units).</li> <li><em>lagrangian_speed</em> is the laboratory-frame Lagrangian speed (particle velocity) of the computational cell (velocity units).</li> <li><em>lagrangian_position</em> is the computational cell position in the reference frame moving at the shock speed. This is the distance of the computational cell behind the shock front.</li> <li><em>quantum_temperature</em> is the temperature of the quantum thermal bath <i>T</i><sup>qm</sup>.</li> </ol> <p>To print these quantities to the log file with descriptive column headers, the following LAMMPS commands are suggested. Here the <a class="reference internal" href="fix_modify.html"><em>fix_modify</em></a> energy command is also enabled to allow the thermo keyword <em>etotal</em> to print the quantity <i>etot</i>. See also the <a class="reference internal" href="thermo_style.html"><em>thermo_style</em></a> command.</p> <div class="highlight-python"><div class="highlight"><pre>fix fix_id all msst z fix_modify fix_id energy yes variable dhug equal f_fix_id[1] variable dray equal f_fix_id[2] variable lgr_vel equal f_fix_id[3] variable lgr_pos equal f_fix_id[4] variable T_qm equal f_fix_id[5] thermo_style custom step temp ke pe lz pzz etotal v_dhug v_dray v_lgr_vel v_lgr_pos v_T_qm f_fix_id </pre></div> </div> <p>The global scalar under the entry f_fix_id is the quantity of thermo energy as an extra part of <i>etot</i>. This global scalar and the vector of 5 quantities can be accessed by various <a class="reference internal" href="Section_howto.html#howto-15"><span>output commands</span></a>. It is worth noting that the temp keyword under the <a class="reference internal" href="thermo_style.html"><em>thermo_style</em></a> command print the instantaneous classical temperature <i>T</i><sup>cl</sup> as described in the command <a class="reference internal" href="fix_qtb.html"><em>fix qtb</em></a>.</p> </div> <hr class="docutils" /> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <p>This fix style is part of the USER-QTB package. It is only enabled if LAMMPS was built with that package. See the <a class="reference internal" href="Section_start.html#start-3"><span>Making LAMMPS</span></a> section for more info.</p> <p>All cell dimensions must be periodic. This fix can not be used with a triclinic cell. The QBMSST fix has been tested only for the group-ID all.</p> </div> <hr class="docutils" /> <div class="section" id="related-commands"> <h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2> <p><a class="reference internal" href="fix_qtb.html"><em>fix qtb</em></a>, <a class="reference internal" href="fix_msst.html"><em>fix msst</em></a></p> </div> <hr class="docutils" /> <div class="section" id="default"> <h2>Default<a class="headerlink" href="#default" title="Permalink to this headline">¶</a></h2> <p>The keyword defaults are q = 10, mu = 0, tscale = 0.01, damp = 1, seed = 880302, f_max = 200.0, N_f = 100, eta = 1.0, beta = 100, and T_init=300.0. e0, p0, and v0 are calculated on the first step.</p> <hr class="docutils" /> <p id="goldman"><strong>(Goldman)</strong> Goldman, Reed and Fried, J. Chem. Phys. 131, 204103 (2009)</p> <p id="qi"><strong>(Qi)</strong> Qi and Reed, J. Phys. Chem. A 116, 10451 (2012).</p> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/fix_qeq_comb.html b/doc/fix_qeq_comb.html index 61f509b83..5d9005ded 100644 --- a/doc/fix_qeq_comb.html +++ b/doc/fix_qeq_comb.html @@ -1,296 +1,296 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>fix qeq/comb command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>fix qeq/comb command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="fix-qeq-comb-command"> <span id="index-0"></span><h1>fix qeq/comb command<a class="headerlink" href="#fix-qeq-comb-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="fix-qeq-comb-omp-command"> <h1>fix qeq/comb/omp command<a class="headerlink" href="#fix-qeq-comb-omp-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>fix ID group-ID qeq/comb Nevery precision keyword value ... </pre></div> </div> <ul class="simple"> <li>ID, group-ID are documented in <a class="reference internal" href="fix.html"><em>fix</em></a> command</li> <li>qeq/comb = style name of this fix command</li> <li>Nevery = perform charge equilibration every this many steps</li> <li>precision = convergence criterion for charge equilibration</li> <li>zero or more keyword/value pairs may be appended</li> <li>keyword = <em>file</em></li> </ul> <pre class="literal-block"> <em>file</em> value = filename - filename = name of file to write QEQ equilibration info to + filename = name of file to write QEQ equilibration info to </pre> </div> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>fix 1 surface qeq/comb 10 0.0001 </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>Perform charge equilibration (QeQ) in conjunction with the COMB (Charge-Optimized Many-Body) potential as described in <a class="reference internal" href="#comb-1"><span>(COMB_1)</span></a> and <a class="reference internal" href="#comb-2"><span>(COMB_2)</span></a>. It performs the charge equilibration portion of the calculation using the so-called QEq method, whereby the charge on each atom is adjusted to minimize the energy of the system. This fix can only be used with the COMB potential; see the <a class="reference internal" href="fix_qeq_reax.html"><em>fix qeq/reax</em></a> command for a QeQ calculation that can be used with any potential.</p> <p>Only charges on the atoms in the specified group are equilibrated. The fix relies on the pair style (COMB in this case) to calculate the per-atom electronegativity (effective force on the charges). An electronegativity equalization calculation (or QEq) is performed in an interative fashion, which in parallel requires communication at each iteration for processors to exchange charge information about nearby atoms with each other. See <a class="reference internal" href="#rappe-and-goddard"><span>Rappe_and_Goddard</span></a> and <a class="reference internal" href="#rick-and-stuart"><span>Rick_and_Stuart</span></a> for details.</p> <p>During a run, charge equilibration is peformed every <em>Nevery</em> time steps. Charge equilibration is also always enforced on the first step of each run. The <em>precision</em> argument controls the tolerance for the difference in electronegativity for all atoms during charge equilibration. <em>Precision</em> is a trade-off between the cost of performing charge equilibration (more iterations) and accuracy.</p> <p>If the <em>file</em> keyword is used, then information about each equilibration calculation is written to the specifed file.</p> <hr class="docutils" /> <p>Styles with a <em>cuda</em>, <em>gpu</em>, <em>intel</em>, <em>kk</em>, <em>omp</em>, or <em>opt</em> suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available hardware, as discussed in <a class="reference internal" href="Section_accelerate.html"><em>Section_accelerate</em></a> of the manual. The accelerated styles take the same arguments and should produce the same results, except for round-off and precision issues.</p> <p>These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if LAMMPS was built with those packages. See the <a class="reference internal" href="Section_start.html#start-3"><span>Making LAMMPS</span></a> section for more info.</p> <p>You can specify the accelerated styles explicitly in your input script by including their suffix, or you can use the <a class="reference internal" href="Section_start.html#start-7"><span>-suffix command-line switch</span></a> when you invoke LAMMPS, or you can use the <a class="reference internal" href="suffix.html"><em>suffix</em></a> command in your input script.</p> <p>See <a class="reference internal" href="Section_accelerate.html"><em>Section_accelerate</em></a> of the manual for more instructions on how to use the accelerated styles effectively.</p> </div> <hr class="docutils" /> <div class="section" id="restart-fix-modify-output-run-start-stop-minimize-info"> <h2>Restart, fix_modify, output, run start/stop, minimize info<a class="headerlink" href="#restart-fix-modify-output-run-start-stop-minimize-info" title="Permalink to this headline">¶</a></h2> <p>No information about this fix is written to <a class="reference internal" href="restart.html"><em>binary restart files</em></a>. None of the <a class="reference internal" href="fix_modify.html"><em>fix_modify</em></a> options are relevant to this fix.</p> <p>This fix produces a per-atom vector which can be accessed by various <a class="reference internal" href="Section_howto.html#howto-15"><span>output commands</span></a>. The vector stores the gradient of the charge on each atom. The per-atom values be accessed on any timestep.</p> <p>No parameter of this fix can be used with the <em>start/stop</em> keywords of the <a class="reference internal" href="run.html"><em>run</em></a> command.</p> <p>This fix can be invoked during <a class="reference internal" href="minimize.html"><em>energy minimization</em></a>.</p> </div> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <p>This fix command currently only supports <a class="reference internal" href="pair_comb.html"><em>pair style *comb*</em></a>.</p> </div> <div class="section" id="related-commands"> <h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2> <p><a class="reference internal" href="pair_comb.html"><em>pair_style comb</em></a></p> </div> <div class="section" id="default"> <h2>Default<a class="headerlink" href="#default" title="Permalink to this headline">¶</a></h2> <p>No file output is performed.</p> <hr class="docutils" /> <p id="comb-1"><strong>(COMB_1)</strong> J. Yu, S. B. Sinnott, S. R. Phillpot, Phys Rev B, 75, 085311 (2007),</p> <p id="comb-2"><strong>(COMB_2)</strong> T.-R. Shan, B. D. Devine, T. W. Kemper, S. B. Sinnott, S. R. Phillpot, Phys Rev B, 81, 125328 (2010).</p> <p id="rappe-and-goddard"><strong>(Rappe_and_Goddard)</strong> A. K. Rappe, W. A. Goddard, J Phys Chem 95, 3358 (1991).</p> <p id="rick-and-stuart"><strong>(Rick_and_Stuart)</strong> S. W. Rick, S. J. Stuart, B. J. Berne, J Chem Phys 101, 16141 (1994).</p> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/fix_qtb.html b/doc/fix_qtb.html index f6fb02658..afa68726f 100644 --- a/doc/fix_qtb.html +++ b/doc/fix_qtb.html @@ -1,342 +1,342 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>fix qtb command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>fix qtb command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="fix-qtb-command"> <span id="index-0"></span><h1>fix qtb command<a class="headerlink" href="#fix-qtb-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>fix ID group-ID qtb keyword value ... </pre></div> </div> <ul class="simple"> <li>ID, group-ID are documented in <a class="reference internal" href="fix.html"><em>fix</em></a> command</li> <li>qtb = style name of this fix</li> <li>zero or more keyword/value pairs may be appended</li> <li>keyword = <em>temp</em> or <em>damp</em> or <em>seed</em> or <em>f_max</em> or <em>N_f</em></li> </ul> <pre class="literal-block"> <em>temp</em> value = target quantum temperature (temperature units) - <em>damp</em> value = damping parameter (time units) inverse of friction <i>&gamma</i>; - <em>seed</em> value = random number seed (positive integer) - <em>f_max</em> value = upper cutoff frequency of the vibration spectrum (1/time units) - <em>N_f</em> value = number of frequency bins (positive integer) +<em>damp</em> value = damping parameter (time units) inverse of friction <i>&gamma</i>; +<em>seed</em> value = random number seed (positive integer) +<em>f_max</em> value = upper cutoff frequency of the vibration spectrum (1/time units) +<em>N_f</em> value = number of frequency bins (positive integer) </pre> </div> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>fix 1 all nve fix 1 all qtb temp 110 damp 200 seed 35082 f_max 0.3 N_f 100 (liquid methane modeled with the REAX force field, real units) fix 2 all nph iso 1.01325 1.01325 1 fix 2 all qtb temp 300 damp 1 seed 47508 f_max 120.0 N_f 100 (quartz modeled with the BKS force field, metal units) </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>This command performs the quantum thermal bath scheme proposed by <a class="reference internal" href="#dammak"><span>(Dammak)</span></a> to include self-consistent quantum nuclear effects, when used in conjunction with the <a class="reference internal" href="fix_nve.html"><em>fix nve</em></a> or <a class="reference internal" href="fix_nh.html"><em>fix nph</em></a> commands.</p> <p>Classical molecular dynamics simulation does not include any quantum nuclear effect. Quantum treatment of the vibrational modes will introduce zero point energy into the system, alter the energy power spectrum and bias the heat capacity from the classical limit. Missing all the quantum nuclear effects, classical MD cannot model systems at temperatures lower than their classical limits. This effect is especially important for materials with a large population of hydrogen atoms and thus higher classical limits.</p> <p>The equation of motion implemented by this command follows a Langevin form:</p> <center><font size="4"><i> m<sub>i</sub>a<sub>i</sub> = f<sub>i</sub> + R<sub>i</sub> - m<sub>i</sub>γv<sub>i</sub>. </i></font></center><p>Here <i>m<sub>i</sub></i>, <i>a<sub>i</sub></i>, <i>f<sub>i</sub> </i>, <i>R<sub>i</sub></i>, <i>&gamma;</i> and <i>v<sub>i</sub> </i> represent mass, acceleration, force exerted by all other atoms, random force, frictional coefficient (the inverse of damping parameter damp), and velocity. The random force <i>R<sub>i</sub></i> is “colored” so that any vibrational mode with frequency <i>&omega;</i> will have a temperature-sensitive energy <i>&theta;</i>(<i>&omega;,T</i>) which resembles the energy expectation for a quantum harmonic oscillator with the same natural frequency:</p> <center><font size="4"> <i>θ</i>(<i>ω,T</i>) = ℏω/2 + ℏω[</i>exp(<i>ℏω/k</i><sub>B</sub><i>T</i>)<i>-1</i>]<i><sup>-1</sup></i> </font></center><p>To efficiently generate the random forces, we employ the method of <a class="reference internal" href="#barrat"><span>(Barrat)</span></a>, that circumvents the need to generate all random forces for all times before the simulation. The memory requirement of this approach is less demanding and independent of the simulation duration. Since the total random force <i>R</i><sub>tot</sub> does not necessarily vanish for a finite number of atoms, <i>R<sub>i</sub></i> is replaced by <i>R<sub>i</sub></i> - <i>R</i><sub>tot</sub>/<i>N</i><sub>tot</sub> to avoid collective motion of the system.</p> <p>The <em>temp</em> parameter sets the target quantum temperature. LAMMPS will still have an output temperature in its thermo style. That is the instantaneous classical temperature <i>T</i><sup>cl</sup> derived from the atom velocities at thermal equilibrium. A non-zero <i>T</i><sup>cl</sup> will be present even when the quantum temperature approaches zero. This is associated with zero-point energy at low temperatures.</p> <center><font size="4"> <i>T</i><sup>cl</sup> = ∑ <i>m<sub>i</sub>v<sub>i</sub><sup>2</sup>/3Nk</i><sub>B</sub> </font></center><p>The <em>damp</em> parameter is specified in time units, and it equals the inverse of the frictional coefficient <i>&gamma;</i>. <i>&gamma;</i> should be as small as possible but slightly larger than the timescale of anharmonic coupling in the system which is about 10 ps to 100 ps. When <i>&gamma;</i> is too large, it gives an energy spectrum that differs from the desired Bose-Einstein spectrum. When <i>&gamma;</i> is too small, the quantum thermal bath coupling to the system will be less significant than anharmonic effects, reducing to a classical limit. We find that setting <i>&gamma;</i> between 5 THz and 1 THz could be appropriate depending on the system.</p> <p>The random number <em>seed</em> is a positive integer used to initiate a Marsaglia random number generator. Each processor uses the input seed to generate its own unique seed and its own stream of random numbers. Thus the dynamics of the system will not be identical on two runs on different numbers of processors.</p> <p>The <em>f_max</em> parameter truncate the noise frequency domain so that vibrational modes with frequencies higher than <em>f_max</em> will not be modulated. If we denote &Delta;<i>t</i> as the time interval for the MD integration, <em>f_max</em> is always reset by the code to make <i>&alpha;</i> = (int)(2*f_max*&Delta;<i>t</i>)<sup><i>-1</i></sup> a positive integer and print out relative information. An appropriate value for the cutoff frequency <em>f_max</em> would be around 2~3 <i>f</i><sub>D</sub>, where <i>f</i><sub>D</sub> is the Debye frequency.</p> <p>The <em>N_f</em> parameter is the frequency grid size, the number of points from 0 to <em>f_max</em> in the frequency domain that will be sampled. <i>3&times;2</i> <em>N_f</em> per-atom random numbers are required in the random force generation and there could be as many atoms as in the whole simulation that can migrate into every individual processor. A larger <em>N_f</em> provides a more accurate sampling of the spectrum while consumes more memory. With fixed <em>f_max</em> and <i>&gamma;</i>, <em>N_f</em> should be big enough to converge the classical temperature <i>T</i><sup>cl</sup> as a function of target quantum bath temperature. Memory usage per processor could be from 10 to 100 Mbytes.</p> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">Unlike the <a class="reference internal" href="fix_nh.html"><em>fix nvt</em></a> command which performs Nose/Hoover thermostatting AND time integration, this fix does NOT perform time integration. It only modifies forces to a colored thermostat. Thus you must use a separate time integration fix, like <a class="reference internal" href="fix_nve.html"><em>fix nve</em></a> or <a class="reference internal" href="fix_nh.html"><em>fix nph</em></a> to actually update the velocities and positions of atoms (as shown in the examples). Likewise, this fix should not normally be used with other fixes or commands that also specify system temperatures , e.g. <a class="reference internal" href="fix_nh.html"><em>fix nvt</em></a> and <a class="reference internal" href="fix_temp_rescale.html"><em>fix temp/rescale</em></a>.</p> </div> <hr class="docutils" /> <p><strong>Restart, fix_modify, output, run start/stop, minimizie info:</strong></p> <p>No information about this fix is written to <a class="reference internal" href="restart.html"><em>binary restart files</em></a>. Because the state of the random number generator is not saved in restart files, this means you cannot do “exact” restarts with this fix. However, in a statistical sense, a restarted simulation should produce similar behaviors of the system.</p> <p>This fix is not invoked during <a class="reference internal" href="minimize.html"><em>energy minimization</em></a>.</p> </div> <hr class="docutils" /> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <p>This fix style is part of the USER-QTB package. It is only enabled if LAMMPS was built with that package. See the <a class="reference internal" href="Section_start.html#start-3"><span>Making LAMMPS</span></a> section for more info.</p> </div> <hr class="docutils" /> <div class="section" id="related-commands"> <h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2> <p><a class="reference internal" href="fix_nve.html"><em>fix nve</em></a>, <a class="reference internal" href="fix_nh.html"><em>fix nph</em></a>, <a class="reference internal" href="fix_langevin.html"><em>fix langevin</em></a>, <a class="reference internal" href="fix_qbmsst.html"><em>fix qbmsst</em></a></p> </div> <hr class="docutils" /> <div class="section" id="default"> <h2>Default<a class="headerlink" href="#default" title="Permalink to this headline">¶</a></h2> <p>The keyword defaults are temp = 300, damp = 1, seed = 880302, f_max=200.0 and N_f = 100.</p> <hr class="docutils" /> <p id="dammak"><strong>(Dammak)</strong> Dammak, Chalopin, Laroche, Hayoun, and Greffet, Phys Rev Lett, 103, 190601 (2009).</p> <p id="barrat"><strong>(Barrat)</strong> Barrat and Rodney, J. Stat. Phys, 144, 679 (2011).</p> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/fix_reaxc_species.html b/doc/fix_reaxc_species.html index 77f008c2d..58fa7aa7a 100644 --- a/doc/fix_reaxc_species.html +++ b/doc/fix_reaxc_species.html @@ -1,324 +1,324 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>fix reax/c/species command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>fix reax/c/species command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="fix-reax-c-species-command"> <span id="index-0"></span><h1>fix reax/c/species command<a class="headerlink" href="#fix-reax-c-species-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>fix ID group-ID reax/c/species Nevery Nrepeat Nfreq filename keyword value ... </pre></div> </div> <ul class="simple"> <li>ID, group-ID are documented in <a class="reference internal" href="fix.html"><em>fix</em></a> command</li> <li>reax/c/species = style name of this command</li> <li>Nevery = sample bond-order every this many timesteps</li> <li>Nrepeat = # of bond-order samples used for calculating averages</li> <li>Nfreq = calculate average bond-order every this many timesteps</li> <li>filename = name of output file</li> <li>zero or more keyword/value pairs may be appended</li> <li>keyword = <em>cutoff</em> or <em>element</em> or <em>position</em></li> </ul> <pre class="literal-block"> <em>cutoff</em> value = I J Cutoff - I, J = atom types - Cutoff = Bond-order cutoff value for this pair of atom types - <em>element</em> value = Element1, Element2, ... - <em>position</em> value = posfreq filepos - posfreq = write position files every this many timestep - filepos = name of position output file + I, J = atom types + Cutoff = Bond-order cutoff value for this pair of atom types +<em>element</em> value = Element1, Element2, ... +<em>position</em> value = posfreq filepos + posfreq = write position files every this many timestep + filepos = name of position output file </pre> </div> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>fix 1 all reax/c/species 10 10 100 species.out fix 1 all reax/c/species 1 2 20 species.out cutoff 1 1 0.40 cutoff 1 2 0.55 fix 1 all reax/c/species 1 100 100 species.out element Au O H position 1000 AuOH.pos </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>Write out the chemical species information computed by the ReaxFF potential specified by <a class="reference internal" href="pair_reax_c.html"><em>pair_style reax/c</em></a>. Bond-order values (either averaged or instantaneous, depending on value of <em>Nrepeat</em>) are used to determine chemical bonds. Every <em>Nfreq</em> timesteps, chemical species information is written to <em>filename</em> as a two line output. The first line is a header containing labels. The second line consists of the following: timestep, total number of molecules, total number of distinct species, number of molecules of each species. In this context, “species” means a unique molecule. The chemical formula of each species is given in the first line.</p> <p>Optional keyword <em>cutoff</em> can be assigned to change the minimum bond-order values used in identifying chemical bonds between pairs of atoms. Bond-order cutoffs should be carefully chosen, as bond-order cutoffs that are too small may include too many bonds (which will result in an error), while cutoffs that are too large will result in fragmented molecules. The default cutoff of 0.3 usually gives good results.</p> <p>The optional keyword <em>element</em> can be used to specify the chemical symbol printed for each LAMMPS atom type. The number of symbols must match the number of LAMMPS atom types and each symbol must consist of 1 or 2 alphanumeric characters. Normally, these symbols should be chosen to match the chemical identity of each LAMMPS atom type, as specified using the <a class="reference internal" href="pair_reax_c.html"><em>reax/c pair_coeff</em></a> command and the ReaxFF force field file.</p> <p>The optional keyword <em>position</em> writes center-of-mass positions of each identified molecules to file <em>filepos</em> every <em>posfreq</em> timesteps. The first line contains information on timestep, total number of molecules, total number of distinct species, and box dimensions. The second line is a header containing labels. From the third line downward, each molecule writes a line of output containing the following information: molecule ID, number of atoms in this molecule, chemical formula, total charge, and center-of-mass xyz positions of this molecule. The xyz positions are in fractional coordinates relative to the box dimensions.</p> <p>For the keyword <em>position</em>, the <em>filepos</em> is the name of the output file. It can contain the wildcard character “*”. If the “*” character appears in <em>filepos</em>, then one file per snapshot is written at <em>posfreq</em> and the “*” character is replaced with the timestep value. For example, AuO.pos.* becomes AuO.pos.0, AuO.pos.1000, etc.</p> <hr class="docutils" /> <p>The <em>Nevery</em>, <em>Nrepeat</em>, and <em>Nfreq</em> arguments specify on what timesteps the bond-order values are sampled to get the average bond order. The species analysis is performed using the average bond-order on timesteps that are a multiple of <em>Nfreq</em>. The average is over <em>Nrepeat</em> bond-order samples, computed in the preceding portion of the simulation every <em>Nevery</em> timesteps. <em>Nfreq</em> must be a multiple of <em>Nevery</em> and <em>Nevery</em> must be non-zero even if <em>Nrepeat</em> is 1. Also, the timesteps contributing to the average bond-order cannot overlap, i.e. Nfreq > (Nrepeat-1)*Nevery is required.</p> <p>For example, if Nevery=2, Nrepeat=6, and Nfreq=100, then bond-order values on timesteps 90,92,94,96,98,100 will be used to compute the average bond-order for the species analysis output on timestep 100.</p> </div> <hr class="docutils" /> <div class="section" id="restart-fix-modify-output-run-start-stop-minimize-info"> <h2>Restart, fix_modify, output, run start/stop, minimize info<a class="headerlink" href="#restart-fix-modify-output-run-start-stop-minimize-info" title="Permalink to this headline">¶</a></h2> <p>No information about this fix is written to <a class="reference internal" href="restart.html"><em>binary restart files</em></a>. None of the <a class="reference internal" href="fix_modify.html"><em>fix_modify</em></a> options are relevant to this fix.</p> <p>This fix computes both a global vector of length 2 and a per-atom vector, either of which can be accessed by various <a class="reference internal" href="Section_howto.html#howto-15"><span>output commands</span></a>. The values in the global vector are “intensive”.</p> <p>The 2 values in the global vector are as follows:</p> <ul class="simple"> <li>1 = total number of molecules</li> <li>2 = total number of distinct species</li> </ul> <p>The per-atom vector stores the molecule ID for each atom as identified by the fix. If an atom is not in a molecule, its ID will be 0. For atoms in the same molecule, the molecule ID for all of them will be the same and will be equal to the smallest atom ID of any atom in the molecule.</p> <p>No parameter of this fix can be used with the <em>start/stop</em> keywords of the <a class="reference internal" href="run.html"><em>run</em></a> command. This fix is not invoked during <a class="reference internal" href="minimize.html"><em>energy minimization</em></a>.</p> </div> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <p>The fix species currently only works with <a class="reference internal" href="pair_reax_c.html"><em>pair_style reax/c</em></a> and it requires that the <a class="reference internal" href="pair_reax_c.html"><em>pair_style reax/c</em></a> be invoked. This fix is part of the USER-REAXC package. It is only enabled if LAMMPS was built with that package. See the <a class="reference internal" href="Section_start.html#start-3"><span>Making LAMMPS</span></a> section for more info.</p> <p>It should be possible to extend it to other reactive pair_styles (such as <a class="reference internal" href="pair_airebo.html"><em>rebo</em></a>, <a class="reference internal" href="pair_airebo.html"><em>airebo</em></a>, <a class="reference internal" href="pair_comb.html"><em>comb</em></a>, and <a class="reference internal" href="pair_bop.html"><em>bop</em></a>), but this has not yet been done.</p> </div> <div class="section" id="related-commands"> <h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2> <p><a class="reference internal" href="pair_reax_c.html"><em>pair_style reax/c</em></a>, <a class="reference internal" href="fix_reax_bonds.html"><em>fix reax/bonds</em></a></p> </div> <div class="section" id="default"> <h2>Default<a class="headerlink" href="#default" title="Permalink to this headline">¶</a></h2> <p>The default values for bond-order cutoffs are 0.3 for all I-J pairs. The default element symbols are C, H, O, N. Position files are not written by default.</p> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/fix_recenter.html b/doc/fix_recenter.html index 2ec206da5..6c8c29859 100644 --- a/doc/fix_recenter.html +++ b/doc/fix_recenter.html @@ -1,308 +1,308 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>fix recenter command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>fix recenter command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="fix-recenter-command"> <span id="index-0"></span><h1>fix recenter command<a class="headerlink" href="#fix-recenter-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>fix ID group-ID recenter x y z keyword value ... </pre></div> </div> <ul class="simple"> <li>ID, group-ID are documented in <a class="reference internal" href="fix.html"><em>fix</em></a> command</li> <li>recenter = style name of this fix command</li> <li>x,y,z = constrain center-of-mass to these coords (distance units), any coord can also be NULL or INIT (see below)</li> <li>zero or more keyword/value pairs may be appended</li> <li>keyword = <em>shift</em> or <em>units</em></li> </ul> <pre class="literal-block"> <em>shift</em> value = group-ID - group-ID = group of atoms whose coords are shifted - <em>units</em> value = <em>box</em> or <em>lattice</em> or <em>fraction</em> + group-ID = group of atoms whose coords are shifted +<em>units</em> value = <em>box</em> or <em>lattice</em> or <em>fraction</em> </pre> </div> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>fix 1 all recenter 0.0 0.5 0.0 fix 1 all recenter INIT INIT NULL fix 1 all recenter INIT 0.0 0.0 units box </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>Constrain the center-of-mass position of a group of atoms by adjusting the coordinates of the atoms every timestep. This is simply a small shift that does not alter the dynamics of the system or change the relative coordinates of any pair of atoms in the group. This can be used to insure the entire collection of atoms (or a portion of them) do not drift during the simulation due to random perturbations (e.g. <a class="reference internal" href="fix_langevin.html"><em>fix langevin</em></a> thermostatting).</p> <p>Distance units for the x,y,z values are determined by the setting of the <em>units</em> keyword, as discussed below. One or more x,y,z values can also be specified as NULL, which means exclude that dimension from this operation. Or it can be specified as INIT which means to constrain the center-of-mass to its initial value at the beginning of the run.</p> <p>The center-of-mass (COM) is computed for the group specified by the fix. If the current COM is different than the specified x,y,z, then a group of atoms has their coordinates shifted by the difference. By default the shifted group is also the group specified by the fix. A different group can be shifted by using the <em>shift</em> keyword. For example, the COM could be computed on a protein to keep it in the center of the simulation box. But the entire system (protein + water) could be shifted.</p> <p>If the <em>units</em> keyword is set to <em>box</em>, then the distance units of x,y,z are defined by the <a class="reference internal" href="units.html"><em>units</em></a> command - e.g. Angstroms for <em>real</em> units. A <em>lattice</em> value means the distance units are in lattice spacings. The <a class="reference internal" href="lattice.html"><em>lattice</em></a> command must have been previously used to define the lattice spacing. A <em>fraction</em> value means a fractional distance between the lo/hi box boundaries, e.g. 0.5 = middle of the box. The default is to use lattice units.</p> <p>Note that the <a class="reference internal" href="velocity.html"><em>velocity</em></a> command can be used to create velocities with zero aggregate linear and/or angular momentum.</p> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">This fix performs its operations at the same point in the timestep as other time integration fixes, such as <a class="reference internal" href="fix_nve.html"><em>fix nve</em></a>, <a class="reference internal" href="fix_nh.html"><em>fix nvt</em></a>, or <a class="reference internal" href="fix_nh.html"><em>fix npt</em></a>. Thus fix recenter should normally be the last such fix specified in the input script, since the adjustments it makes to atom coordinates should come after the changes made by time integration. LAMMPS will warn you if your fixes are not ordered this way.</p> </div> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">If you use this fix on a small group of atoms (e.g. a molecule in solvent) without using the <em>shift</em> keyword to adjust the positions of all atoms in the system, then the results can be unpredictable. For example, if the molecule is pushed in one direction by the solvent, its velocity will increase. But its coordinates will be recentered, meaning it is pushed back towards the force. Thus over time, the velocity and temperature of the molecule could become very large (though it won’t appear to be moving due to the recentering). If you are thermostatting the entire system, then the solvent would be cooled to compensate. A better solution for this simulation scenario is to use the <a class="reference internal" href="fix_spring.html"><em>fix spring</em></a> command to tether the molecule in place.</p> </div> </div> <div class="section" id="restart-fix-modify-output-run-start-stop-minimize-info"> <h2>Restart, fix_modify, output, run start/stop, minimize info<a class="headerlink" href="#restart-fix-modify-output-run-start-stop-minimize-info" title="Permalink to this headline">¶</a></h2> <p>No information about this fix is written to <a class="reference internal" href="restart.html"><em>binary restart files</em></a>. None of the <a class="reference internal" href="fix_modify.html"><em>fix_modify</em></a> options are relevant to this fix.</p> <p>This fix computes a global scalar which can be accessed by various <a class="reference internal" href="Section_howto.html#howto-15"><span>output commands</span></a>. The scalar is the distance the group is moved by fix recenter.</p> <p>This fix also computes global 3-vector which can be accessed by various <a class="reference internal" href="Section_howto.html#howto-15"><span>output commands</span></a>. The 3 quantities in the vector are xyz components of displacement applied to the group of atoms by the fix.</p> <p>The scalar and vector values calculated by this fix are “extensive”.</p> <p>No parameter of this fix can be used with the <em>start/stop</em> keywords of the <a class="reference internal" href="run.html"><em>run</em></a> command. This fix is not invoked during <a class="reference internal" href="minimize.html"><em>energy minimization</em></a>.</p> </div> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <p>This fix should not be used with an x,y,z setting that causes a large shift in the system on the 1st timestep, due to the requested COM being very different from the initial COM. This could cause atoms to be lost, especially in parallel. Instead, use the <a class="reference internal" href="displace_atoms.html"><em>displace_atoms</em></a> command, which can be used to move atoms a large distance.</p> </div> <div class="section" id="related-commands"> <h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2> <p><a class="reference internal" href="fix_momentum.html"><em>fix momentum</em></a>, <a class="reference internal" href="velocity.html"><em>velocity</em></a></p> </div> <div class="section" id="default"> <h2>Default<a class="headerlink" href="#default" title="Permalink to this headline">¶</a></h2> <p>The option defaults are shift = fix group-ID, and units = lattice.</p> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/fix_restrain.html b/doc/fix_restrain.html index 749d1bf08..40069ef10 100644 --- a/doc/fix_restrain.html +++ b/doc/fix_restrain.html @@ -1,355 +1,355 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>fix restrain command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>fix restrain command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="fix-restrain-command"> <span id="index-0"></span><h1>fix restrain command<a class="headerlink" href="#fix-restrain-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>fix ID group-ID restrain keyword args ... </pre></div> </div> <ul class="simple"> <li>ID, group-ID are documented in <a class="reference internal" href="fix.html"><em>fix</em></a> command</li> <li>restrain = style name of this fix command</li> <li>one or more keyword/arg pairs may be appended</li> <li>keyword = <em>bond</em> or <em>angle</em> or <em>dihedral</em></li> </ul> <pre class="literal-block"> <em>bond</em> args = atom1 atom2 Kstart Kstop r0 - atom1,atom2 = IDs of 2 atoms in bond - Kstart,Kstop = restraint coefficients at start/end of run (energy units) - r0 = equilibrium bond distance (distance units) - <em>angle</em> args = atom1 atom2 atom3 Kstart Kstop theta0 - atom1,atom2,atom3 = IDs of 3 atoms in angle, atom2 = middle atom - Kstart,Kstop = restraint coefficients at start/end of run (energy units) - theta0 = equilibrium angle theta (degrees) - <em>dihedral</em> args = atom1 atom2 atom3 atom4 Kstart Kstop phi0 - atom1,atom2,atom3,atom4 = IDs of 4 atoms in dihedral in linear order - Kstart,Kstop = restraint coefficients at start/end of run (energy units) - phi0 = equilibrium dihedral angle phi (degrees) + atom1,atom2 = IDs of 2 atoms in bond + Kstart,Kstop = restraint coefficients at start/end of run (energy units) + r0 = equilibrium bond distance (distance units) +<em>angle</em> args = atom1 atom2 atom3 Kstart Kstop theta0 + atom1,atom2,atom3 = IDs of 3 atoms in angle, atom2 = middle atom + Kstart,Kstop = restraint coefficients at start/end of run (energy units) + theta0 = equilibrium angle theta (degrees) +<em>dihedral</em> args = atom1 atom2 atom3 atom4 Kstart Kstop phi0 + atom1,atom2,atom3,atom4 = IDs of 4 atoms in dihedral in linear order + Kstart,Kstop = restraint coefficients at start/end of run (energy units) + phi0 = equilibrium dihedral angle phi (degrees) </pre> </div> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>fix holdem all restrain bond 45 48 2000.0 2000.0 2.75 fix holdem all restrain dihedral 1 2 3 4 2000.0 2000.0 120.0 fix holdem all restrain bond 45 48 2000.0 2000.0 2.75 dihedral 1 2 3 4 2000.0 2000.0 120.0 fix texas_holdem all restrain dihedral 1 2 3 4 0.0 2000.0 120.0 dihedral 1 2 3 5 0.0 2000.0 -120.0 dihedral 1 2 3 6 0.0 2000.0 0.0 </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>Restrain the motion of the specified sets of atoms by making them part of a bond or angle or dihedral interaction whose strength can vary over time during a simulation. This is functionally equivalent to creating a bond or angle or dihedral for the same atoms in a data file, as specified by the <a class="reference internal" href="read_data.html"><em>read_data</em></a> command, albeit with a time-varying pre-factor coefficient. For the purpose of forcefield parameter-fitting or mapping a molecular potential energy surface, this fix reduces the hassle and risk associated with modifying data files. In other words, use this fix to temporarily force a molecule to adopt a particular conformation. To create a permanent bond or angle or dihedral, you should modify the data file.</p> <p>The group-ID specified by this fix is ignored.</p> <p>The second example above applies a restraint to hold the dihedral angle formed by atoms 1, 2, 3, and 4 near 120 degrees using a constant restraint coefficient. The fourth example applies similar restraints to multiple dihedral angles using a restraint coefficient that increases from 0.0 to 2000.0 over the course of the run.</p> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">Adding a force to atoms implies a change in their potential energy as they move due to the applied force field. For dynamics via the <a class="reference internal" href="run.html"><em>run</em></a> command, this energy can be added to the system’s potential energy for thermodynamic output (see below). For energy minimization via the <a class="reference internal" href="minimize.html"><em>minimize</em></a> command, this energy must be added to the system’s potential energy to formulate a self-consistent minimization problem (see below).</p> </div> <p>In order for a restraint to be effective, the restraint force must typically be significantly larger than the forces associated with conventional forcefield terms. If the restraint is applied during a dynamics run (as opposed to during an energy minimization), a large restraint coefficient can significantly reduce the stable timestep size, especially if the atoms are initially far from the preferred conformation. You may need to experiment to determine what value of K works best for a given application.</p> <p>For the case of finding a minimum energy structure for a single molecule with particular restratins (e.g. for fitting forcefield parameters or constructing a potential energy surface), commands such as the following may be useful:</p> <div class="highlight-python"><div class="highlight"><pre># minimize molecule energy with restraints velocity all create 600.0 8675309 mom yes rot yes dist gaussian fix NVE all nve fix TFIX all langevin 600.0 0.0 100 24601 fix REST all restrain dihedral 2 1 3 8 0.0 5000.0 $*angle1* dihedral 3 1 2 9 0.0 5000.0 $*angle2* fix_modify REST energy yes run 10000 fix TFIX all langevin 0.0 0.0 100 24601 fix REST all restrain dihedral 2 1 3 8 5000.0 5000.0 $*angle1* dihedral 3 1 2 9 5000.0 5000.0 $*angle2* fix_modify REST energy yes run 10000 # sanity check for convergence minimize 1e-6 1e-9 1000 100000 # report unrestrained energies unfix REST run 0 </pre></div> </div> <hr class="docutils" /> <p>The <em>bond</em> keyword applies a bond restraint to the specified atoms using the same functional form used by the <a class="reference internal" href="bond_harmonic.html"><em>bond_style harmonic</em></a> command. The potential associated with the restraint is</p> <img alt="_images/bond_harmonic.jpg" class="align-center" src="_images/bond_harmonic.jpg" /> <p>with the following coefficients:</p> <ul class="simple"> <li>K (energy/distance^2)</li> <li>r0 (distance)</li> </ul> <p>K and r0 are specified with the fix. Note that the usual 1/2 factor is included in K.</p> <hr class="docutils" /> <p>The <em>angle</em> keyword applies an angle restraint to the specified atoms using the same functional form used by the <a class="reference internal" href="angle_harmonic.html"><em>angle_style harmonic</em></a> command. The potential associated with the restraint is</p> <img alt="_images/angle_harmonic.jpg" class="align-center" src="_images/angle_harmonic.jpg" /> <p>with the following coefficients:</p> <ul class="simple"> <li>K (energy/radian^2)</li> <li>theta0 (degrees)</li> </ul> <p>K and theta0 are specified with the fix. Note that the usual 1/2 factor is included in K.</p> <hr class="docutils" /> <p>The <em>dihedral</em> keyword applies a dihedral restraint to the specified atoms using a simplified form of the function used by the <a class="reference internal" href="dihedral_charmm.html"><em>dihedral_style charmm</em></a> command. The potential associated with the restraint is</p> <img alt="_images/dihedral_charmm.jpg" class="align-center" src="_images/dihedral_charmm.jpg" /> <p>with the following coefficients:</p> <ul class="simple"> <li>K (energy)</li> <li>n = 1</li> <li>d (degrees) = phi0 + 180</li> </ul> <p>K and phi0 are specified with the fix. Note that the value of n is hard-wired to 1. Also note that the energy will be a minimum when the current dihedral angle phi is equal to phi0.</p> </div> <hr class="docutils" /> <div class="section" id="restart-fix-modify-output-run-start-stop-minimize-info"> <h2>Restart, fix_modify, output, run start/stop, minimize info<a class="headerlink" href="#restart-fix-modify-output-run-start-stop-minimize-info" title="Permalink to this headline">¶</a></h2> <p>No information about this fix is written to <a class="reference internal" href="restart.html"><em>binary restart files</em></a>.</p> <p>The <a class="reference internal" href="fix_modify.html"><em>fix_modify</em></a> <em>energy</em> option is supported by this fix to add the potential energy associated with this fix to the system’s potential energy as part of <a class="reference internal" href="thermo_style.html"><em>thermodynamic output</em></a>.</p> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">If you want the fictitious potential energy associated with the added forces to be included in the total potential energy of the system (the quantity being minimized), you MUST enable the <a class="reference internal" href="fix_modify.html"><em>fix_modify</em></a> <em>energy</em> option for this fix.</p> </div> <p>This fix computes a global scalar, which can be accessed by various <a class="reference internal" href="Section_howto.html#howto-15"><span>output commands</span></a>. The scalar is the potential energy for all the restraints as discussed above. The scalar value calculated by this fix is “extensive”.</p> <p>No parameter of this fix can be used with the <em>start/stop</em> keywords of the <a class="reference internal" href="run.html"><em>run</em></a> command.</p> </div> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <blockquote> <div>none</div></blockquote> <p><strong>Related commands:</strong> none</p> <p><strong>Default:</strong> none</p> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/fix_rigid.html b/doc/fix_rigid.html index 1da87a532..ddc7d170b 100644 --- a/doc/fix_rigid.html +++ b/doc/fix_rigid.html @@ -1,917 +1,917 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>fix rigid command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>fix rigid command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="fix-rigid-command"> <span id="index-0"></span><h1>fix rigid command<a class="headerlink" href="#fix-rigid-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="fix-rigid-nve-command"> <h1>fix rigid/nve command<a class="headerlink" href="#fix-rigid-nve-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="fix-rigid-nvt-command"> <h1>fix rigid/nvt command<a class="headerlink" href="#fix-rigid-nvt-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="fix-rigid-npt-command"> <h1>fix rigid/npt command<a class="headerlink" href="#fix-rigid-npt-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="fix-rigid-nph-command"> <h1>fix rigid/nph command<a class="headerlink" href="#fix-rigid-nph-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="fix-rigid-small-command"> <h1>fix rigid/small command<a class="headerlink" href="#fix-rigid-small-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="fix-rigid-nve-small-command"> <h1>fix rigid/nve/small command<a class="headerlink" href="#fix-rigid-nve-small-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="fix-rigid-nvt-small-command"> <h1>fix rigid/nvt/small command<a class="headerlink" href="#fix-rigid-nvt-small-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="fix-rigid-npt-small-command"> <h1>fix rigid/npt/small command<a class="headerlink" href="#fix-rigid-npt-small-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="fix-rigid-nph-small-command"> <h1>fix rigid/nph/small command<a class="headerlink" href="#fix-rigid-nph-small-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>fix ID group-ID style bodystyle args keyword values ... </pre></div> </div> <ul class="simple"> <li>ID, group-ID are documented in <a class="reference internal" href="fix.html"><em>fix</em></a> command</li> <li>style = <em>rigid</em> or <em>rigid/nve</em> or <em>rigid/nvt</em> or <em>rigid/npt</em> or <em>rigid/nph</em> or <em>rigid/small</em> or <em>rigid/nve/small</em> or <em>rigid/nvt/small</em> or <em>rigid/npt/small</em> or <em>rigid/nph/small</em></li> <li>bodystyle = <em>single</em> or <em>molecule</em> or <em>group</em></li> </ul> <pre class="literal-block"> <em>single</em> args = none - <em>molecule</em> args = none - <em>group</em> args = N groupID1 groupID2 ... - N = # of groups - groupID1, groupID2, ... = list of N group IDs +<em>molecule</em> args = none +<em>group</em> args = N groupID1 groupID2 ... + N = # of groups + groupID1, groupID2, ... = list of N group IDs </pre> <ul class="simple"> <li>zero or more keyword/value pairs may be appended</li> <li>keyword = <em>langevin</em> or <em>temp</em> or <em>iso</em> or <em>aniso</em> or <em>x</em> or <em>y</em> or <em>z</em> or <em>couple</em> or <em>tparam</em> or <em>pchain</em> or <em>dilate</em> or <em>force</em> or <em>torque</em> or <em>infile</em></li> </ul> <pre class="literal-block"> <em>langevin</em> values = Tstart Tstop Tperiod seed - Tstart,Tstop = desired temperature at start/stop of run (temperature units) - Tdamp = temperature damping parameter (time units) - seed = random number seed to use for white noise (positive integer) - <em>temp</em> values = Tstart Tstop Tdamp - Tstart,Tstop = desired temperature at start/stop of run (temperature units) - Tdamp = temperature damping parameter (time units) - <em>iso</em> or <em>aniso</em> values = Pstart Pstop Pdamp - Pstart,Pstop = scalar external pressure at start/end of run (pressure units) - Pdamp = pressure damping parameter (time units) - <em>x</em> or <em>y</em> or <em>z</em> values = Pstart Pstop Pdamp - Pstart,Pstop = external stress tensor component at start/end of run (pressure units) - Pdamp = stress damping parameter (time units) - <em>couple</em> = <em>none</em> or <em>xyz</em> or <em>xy</em> or <em>yz</em> or <em>xz</em> - <em>tparam</em> values = Tchain Titer Torder - Tchain = length of Nose/Hoover thermostat chain - Titer = number of thermostat iterations performed - Torder = 3 or 5 = Yoshida-Suzuki integration parameters - <em>pchain</em> values = Pchain - Pchain = length of the Nose/Hoover thermostat chain coupled with the barostat - <em>dilate</em> value = dilate-group-ID - dilate-group-ID = only dilate atoms in this group due to barostat volume changes - <em>force</em> values = M xflag yflag zflag - M = which rigid body from 1-Nbody (see asterisk form below) - xflag,yflag,zflag = off/on if component of center-of-mass force is active - <em>torque</em> values = M xflag yflag zflag - M = which rigid body from 1-Nbody (see asterisk form below) - xflag,yflag,zflag = off/on if component of center-of-mass torque is active - <em>infile</em> filename - filename = file with per-body values of mass, center-of-mass, moments of inertia - <em>mol</em> value = template-ID - template-ID = ID of molecule template specified in a separate <a class="reference internal" href="molecule.html"><em>molecule</em></a> command + Tstart,Tstop = desired temperature at start/stop of run (temperature units) + Tdamp = temperature damping parameter (time units) + seed = random number seed to use for white noise (positive integer) +<em>temp</em> values = Tstart Tstop Tdamp + Tstart,Tstop = desired temperature at start/stop of run (temperature units) + Tdamp = temperature damping parameter (time units) +<em>iso</em> or <em>aniso</em> values = Pstart Pstop Pdamp + Pstart,Pstop = scalar external pressure at start/end of run (pressure units) + Pdamp = pressure damping parameter (time units) +<em>x</em> or <em>y</em> or <em>z</em> values = Pstart Pstop Pdamp + Pstart,Pstop = external stress tensor component at start/end of run (pressure units) + Pdamp = stress damping parameter (time units) +<em>couple</em> = <em>none</em> or <em>xyz</em> or <em>xy</em> or <em>yz</em> or <em>xz</em> +<em>tparam</em> values = Tchain Titer Torder + Tchain = length of Nose/Hoover thermostat chain + Titer = number of thermostat iterations performed + Torder = 3 or 5 = Yoshida-Suzuki integration parameters +<em>pchain</em> values = Pchain + Pchain = length of the Nose/Hoover thermostat chain coupled with the barostat +<em>dilate</em> value = dilate-group-ID + dilate-group-ID = only dilate atoms in this group due to barostat volume changes +<em>force</em> values = M xflag yflag zflag + M = which rigid body from 1-Nbody (see asterisk form below) + xflag,yflag,zflag = off/on if component of center-of-mass force is active +<em>torque</em> values = M xflag yflag zflag + M = which rigid body from 1-Nbody (see asterisk form below) + xflag,yflag,zflag = off/on if component of center-of-mass torque is active +<em>infile</em> filename + filename = file with per-body values of mass, center-of-mass, moments of inertia +<em>mol</em> value = template-ID + template-ID = ID of molecule template specified in a separate <a class="reference internal" href="molecule.html"><em>molecule</em></a> command </pre> </div> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>fix 1 clump rigid single fix 1 clump rigid/small molecule fix 1 clump rigid single force 1 off off on langevin 1.0 1.0 1.0 428984 fix 1 polychains rigid/nvt molecule temp 1.0 1.0 5.0 fix 1 polychains rigid molecule force 1*5 off off off force 6*10 off off on fix 1 polychains rigid/small molecule langevin 1.0 1.0 1.0 428984 fix 2 fluid rigid group 3 clump1 clump2 clump3 torque * off off off fix 1 rods rigid/npt molecule temp 300.0 300.0 100.0 iso 0.5 0.5 10.0 fix 1 particles rigid/npt molecule temp 1.0 1.0 5.0 x 0.5 0.5 1.0 z 0.5 0.5 1.0 couple xz fix 1 water rigid/nph molecule iso 0.5 0.5 1.0 fix 1 particles rigid/npt/small molecule temp 1.0 1.0 1.0 iso 0.5 0.5 1.0 </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>Treat one or more sets of atoms as independent rigid bodies. This means that each timestep the total force and torque on each rigid body is computed as the sum of the forces and torques on its constituent particles. The coordinates, velocities, and orientations of the atoms in each body are then updated so that the body moves and rotates as a single entity.</p> <p>Examples of large rigid bodies are a colloidal particle, or portions of a biomolecule such as a protein.</p> <p>Example of small rigid bodies are patchy nanoparticles, such as those modeled in <a class="reference internal" href="pair_gran.html#zhang"><span>this paper</span></a> by Sharon Glotzer’s group, clumps of granular particles, lipid molecules consiting of one or more point dipoles connected to other spheroids or ellipsoids, irregular particles built from line segments (2d) or triangles (3d), and coarse-grain models of nano or colloidal particles consisting of a small number of constituent particles. Note that the <a class="reference internal" href="fix_shake.html"><em>fix shake</em></a> command can also be used to rigidify small molecules of 2, 3, or 4 atoms, e.g. water molecules. That fix treats the constituent atoms as point masses.</p> <p>These fixes also update the positions and velocities of the atoms in each rigid body via time integration, in the NVE, NVT, NPT, or NPH ensemble, as described below.</p> <p>There are two main variants of this fix, fix rigid and fix rigid/small. The NVE/NVT/NPT/NHT versions belong to one of the two variants, as their style names indicate.</p> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">Not all of the <em>bodystyle</em> options and keyword/value options are available for both the <em>rigid</em> and <em>rigid/small</em> variants. See details below.</p> </div> <p>The <em>rigid</em> variant is typically the best choice for a system with a small number of large rigid bodies, each of which can extend across the domain of many processors. It operates by creating a single global list of rigid bodies, which all processors contribute to. MPI_Allreduce operations are performed each timestep to sum the contributions from each processor to the force and torque on all the bodies. This operation will not scale well in parallel if large numbers of rigid bodies are simulated.</p> <p>The <em>rigid/small</em> variant is typically best for a system with a large number of small rigid bodies. Each body is assigned to the atom closest to the geometrical center of the body. The fix operates using local lists of rigid bodies owned by each processor and information is exchanged and summed via local communication between neighboring processors when ghost atom info is accumlated.</p> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">To use <em>rigid/small</em> the ghost atom cutoff must be large enough to span the distance between the atom that owns the body and every other atom in the body. This distance value is printed out when the rigid bodies are defined. If the <a class="reference internal" href="pair_style.html"><em>pair_style</em></a> cutoff plus neighbor skin does not span this distance, then you should use the <a class="reference internal" href="comm_modify.html"><em>comm_modify cutoff</em></a> command with a setting epsilon larger than the distance.</p> </div> <p>Which of the two variants is faster for a particular problem is hard to predict. The best way to decide is to perform a short test run. Both variants should give identical numerical answers for short runs. Long runs should give statistically similar results, but round-off differences may accumulate to produce divergent trajectories.</p> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">You should not update the atoms in rigid bodies via other time-integration fixes (e.g. <a class="reference internal" href="fix_nve.html"><em>fix nve</em></a>, <code class="xref doc docutils literal"><span class="pre">fix</span> <span class="pre">nvt</span></code>, <code class="xref doc docutils literal"><span class="pre">fix</span> <span class="pre">npt</span></code>), or you will be integrating their motion more than once each timestep. When performing a hybrid simulation with some atoms in rigid bodies, and some not, a separate time integration fix like <a class="reference internal" href="fix_nve.html"><em>fix nve</em></a> or <a class="reference internal" href="fix_nh.html"><em>fix nvt</em></a> should be used for the non-rigid particles.</p> </div> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">These fixes are overkill if you simply want to hold a collection of atoms stationary or have them move with a constant velocity. A simpler way to hold atoms stationary is to not include those atoms in your time integration fix. E.g. use “fix 1 mobile nve” instead of “fix 1 all nve”, where “mobile” is the group of atoms that you want to move. You can move atoms with a constant velocity by assigning them an initial velocity (via the <a class="reference internal" href="velocity.html"><em>velocity</em></a> command), setting the force on them to 0.0 (via the <a class="reference internal" href="fix_setforce.html"><em>fix setforce</em></a> command), and integrating them as usual (e.g. via the <a class="reference internal" href="fix_nve.html"><em>fix nve</em></a> command).</p> </div> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">The aggregate properties of each rigid body are calculated one time at the start of the first simulation run after this fix is specified. The properties include the position and velocity of the center-of-mass of the body, its moments of inertia, and its angular momentum. This is done using the properties of the constituent atoms of the body at that point in time (or see the <em>infile</em> keyword option). Thereafter, changing properties of individual atoms in the body will have no effect on a rigid body’s dynamics, unless they effect the <a class="reference internal" href="pair_style.html"><em>pair_style</em></a> interactions that individual particles are part of. For example, you might think you could displace the atoms in a body or add a large velocity to each atom in a body to make it move in a desired direction before a 2nd run is performed, using the <a class="reference internal" href="set.html"><em>set</em></a> or <a class="reference internal" href="displace_atoms.html"><em>displace_atoms</em></a> or <a class="reference internal" href="velocity.html"><em>velocity</em></a> command. But these commands will not affect the internal attributes of the body, and the position and velocity or individual atoms in the body will be reset when time integration starts.</p> </div> <hr class="docutils" /> <p>Each rigid body must have two or more atoms. An atom can belong to at most one rigid body. Which atoms are in which bodies can be defined via several options.</p> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">With fix rigid/small, which requires bodystyle <em>molecule</em>, you can define a system that has no rigid bodies initially. This is useful when you are using the <em>mol</em> keyword in conjunction with another fix that is adding rigid bodies on-the-fly, such as <a class="reference internal" href="fix_deposit.html"><em>fix deposit</em></a> or <a class="reference internal" href="fix_pour.html"><em>fix pour</em></a>.</p> </div> <p>For bodystyle <em>single</em> the entire fix group of atoms is treated as one rigid body. This option is only allowed for fix rigid and its sub-styles.</p> <p>For bodystyle <em>molecule</em>, each set of atoms in the fix group with a different molecule ID is treated as a rigid body. This option is allowed for fix rigid and fix rigid/small, and their sub-styles. Note that atoms with a molecule ID = 0 will be treated as a single rigid body. For a system with atomic solvent (typically this is atoms with molecule ID = 0) surrounding rigid bodies, this may not be what you want. Thus you should be careful to use a fix group that only includes atoms you want to be part of rigid bodies.</p> <p>For bodystyle <em>group</em>, each of the listed groups is treated as a separate rigid body. Only atoms that are also in the fix group are included in each rigid body. This option is only allowed for fix rigid and its sub-styles.</p> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">To compute the initial center-of-mass position and other properties of each rigid body, the image flags for each atom in the body are used to “unwrap” the atom coordinates. Thus you must insure that these image flags are consistent so that the unwrapping creates a valid rigid body (one where the atoms are close together), particularly if the atoms in a single rigid body straddle a periodic boundary. This means the input data file or restart file must define the image flags for each atom consistently or that you have used the <a class="reference internal" href="set.html"><em>set</em></a> command to specify them correctly. If a dimension is non-periodic then the image flag of each atom must be 0 in that dimension, else an error is generated.</p> </div> <p>The <em>force</em> and <em>torque</em> keywords discussed next are only allowed for fix rigid and its sub-styles.</p> <p>By default, each rigid body is acted on by other atoms which induce an external force and torque on its center of mass, causing it to translate and rotate. Components of the external center-of-mass force and torque can be turned off by the <em>force</em> and <em>torque</em> keywords. This may be useful if you wish a body to rotate but not translate, or vice versa, or if you wish it to rotate or translate continuously unaffected by interactions with other particles. Note that if you expect a rigid body not to move or rotate by using these keywords, you must insure its initial center-of-mass translational or angular velocity is 0.0. Otherwise the initial translational or angular momentum the body has will persist.</p> <p>An xflag, yflag, or zflag set to <em>off</em> means turn off the component of force of torque in that dimension. A setting of <em>on</em> means turn on the component, which is the default. Which rigid body(s) the settings apply to is determined by the first argument of the <em>force</em> and <em>torque</em> keywords. It can be an integer M from 1 to Nbody, where Nbody is the number of rigid bodies defined. A wild-card asterisk can be used in place of, or in conjunction with, the M argument to set the flags for multiple rigid bodies. This takes the form “*” or “<em>n” or “n</em>” or “m*n”. If N = the number of rigid bodies, then an asterisk with no numeric values means all bodies from 1 to N. A leading asterisk means all bodies from 1 to n (inclusive). A trailing asterisk means all bodies from n to N (inclusive). A middle asterisk means all types from m to n (inclusive). Note that you can use the <em>force</em> or <em>torque</em> keywords as many times as you like. If a particular rigid body has its component flags set multiple times, the settings from the final keyword are used.</p> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">For computational efficiency, you may wish to turn off pairwise and bond interactions within each rigid body, as they no longer contribute to the motion. The <a class="reference internal" href="neigh_modify.html"><em>neigh_modify exclude</em></a> and <a class="reference internal" href="delete_bonds.html"><em>delete_bonds</em></a> commands are used to do this. If the rigid bodies have strongly overalapping atoms, you may need to turn off these interactions to avoid numerical problems due to large equal/opposite intra-body forces swamping the contribution of small inter-body forces.</p> </div> <p>For computational efficiency, you should typically define one fix rigid or fix rigid/small command which includes all the desired rigid bodies. LAMMPS will allow multiple rigid fixes to be defined, but it is more expensive.</p> <hr class="docutils" /> <p>The constituent particles within a rigid body can be point particles (the default in LAMMPS) or finite-size particles, such as spheres or ellipsoids or line segments or triangles. See the <a class="reference internal" href="atom_style.html"><em>atom_style sphere and ellipsoid and line and tri</em></a> commands for more details on these kinds of particles. Finite-size particles contribute differently to the moment of inertia of a rigid body than do point particles. Finite-size particles can also experience torque (e.g. due to <a class="reference internal" href="pair_gran.html"><em>frictional granular interactions</em></a>) and have an orientation. These contributions are accounted for by these fixes.</p> <p>Forces between particles within a body do not contribute to the external force or torque on the body. Thus for computational efficiency, you may wish to turn off pairwise and bond interactions between particles within each rigid body. The <a class="reference internal" href="neigh_modify.html"><em>neigh_modify exclude</em></a> and <a class="reference internal" href="delete_bonds.html"><em>delete_bonds</em></a> commands are used to do this. For finite-size particles this also means the particles can be highly overlapped when creating the rigid body.</p> <hr class="docutils" /> <p>The <em>rigid</em> and <em>rigid/small</em> and <em>rigid/nve</em> styles perform constant NVE time integration. The only difference is that the <em>rigid</em> and <em>rigid/small</em> styles use an integration technique based on Richardson iterations. The <em>rigid/nve</em> style uses the methods described in the paper by <a class="reference internal" href="#miller"><span>Miller</span></a>, which are thought to provide better energy conservation than an iterative approach.</p> <p>The <em>rigid/nvt</em> and <em>rigid/nvt/small</em> styles performs constant NVT integration using a Nose/Hoover thermostat with chains as described originally in <a class="reference internal" href="#hoover"><span>(Hoover)</span></a> and <a class="reference internal" href="#martyna"><span>(Martyna)</span></a>, which thermostats both the translational and rotational degrees of freedom of the rigid bodies. The rigid-body algorithm used by <em>rigid/nvt</em> is described in the paper by <a class="reference internal" href="#kamberaj"><span>Kamberaj</span></a>.</p> <p>The <em>rigid/npt</em> and <em>rigid/nph</em> (and their /small counterparts) styles perform constant NPT or NPH integration using a Nose/Hoover barostat with chains. For the NPT case, the same Nose/Hoover thermostat is also used as with <em>rigid/nvt</em>.</p> <p>The barostat parameters are specified using one or more of the <em>iso</em>, <em>aniso</em>, <em>x</em>, <em>y</em>, <em>z</em> and <em>couple</em> keywords. These keywords give you the ability to specify 3 diagonal components of the external stress tensor, and to couple these components together so that the dimensions they represent are varied together during a constant-pressure simulation. The effects of these keywords are similar to those defined in <a class="reference internal" href="fix_nh.html"><em>fix npt/nph</em></a></p> <div class="admonition note"> <p class="first admonition-title">Note</p> <p class="last">Currently the <em>rigid/npt</em> and <em>rigid/nph</em> (and their /small counterparts) styles do not support triclinic (non-orthongonal) boxes.</p> </div> <p>The target pressures for each of the 6 components of the stress tensor can be specified independently via the <em>x</em>, <em>y</em>, <em>z</em> keywords, which correspond to the 3 simulation box dimensions. For each component, the external pressure or tensor component at each timestep is a ramped value during the run from <em>Pstart</em> to <em>Pstop</em>. If a target pressure is specified for a component, then the corresponding box dimension will change during a simulation. For example, if the <em>y</em> keyword is used, the y-box length will change. A box dimension will not change if that component is not specified, although you have the option to change that dimension via the <a class="reference internal" href="fix_deform.html"><em>fix deform</em></a> command.</p> <p>For all barostat keywords, the <em>Pdamp</em> parameter operates like the <em>Tdamp</em> parameter, determining the time scale on which pressure is relaxed. For example, a value of 10.0 means to relax the pressure in a timespan of (roughly) 10 time units (e.g. tau or fmsec or psec - see the <a class="reference internal" href="units.html"><em>units</em></a> command).</p> <p>Regardless of what atoms are in the fix group (the only atoms which are time integrated), a global pressure or stress tensor is computed for all atoms. Similarly, when the size of the simulation box is changed, all atoms are re-scaled to new positions, unless the keyword <em>dilate</em> is specified with a <em>dilate-group-ID</em> for a group that represents a subset of the atoms. This can be useful, for example, to leave the coordinates of atoms in a solid substrate unchanged and controlling the pressure of a surrounding fluid. Another example is a system consisting of rigid bodies and point particles where the barostat is only coupled with the rigid bodies. This option should be used with care, since it can be unphysical to dilate some atoms and not others, because it can introduce large, instantaneous displacements between a pair of atoms (one dilated, one not) that are far from the dilation origin.</p> <p>The <em>couple</em> keyword allows two or three of the diagonal components of the pressure tensor to be “coupled” together. The value specified with the keyword determines which are coupled. For example, <em>xz</em> means the <em>Pxx</em> and <em>Pzz</em> components of the stress tensor are coupled. <em>Xyz</em> means all 3 diagonal components are coupled. Coupling means two things: the instantaneous stress will be computed as an average of the corresponding diagonal components, and the coupled box dimensions will be changed together in lockstep, meaning coupled dimensions will be dilated or contracted by the same percentage every timestep. The <em>Pstart</em>, <em>Pstop</em>, <em>Pdamp</em> parameters for any coupled dimensions must be identical. <em>Couple xyz</em> can be used for a 2d simulation; the <em>z</em> dimension is simply ignored.</p> <p>The <em>iso</em> and <em>aniso</em> keywords are simply shortcuts that are equivalent to specifying several other keywords together.</p> <p>The keyword <em>iso</em> means couple all 3 diagonal components together when pressure is computed (hydrostatic pressure), and dilate/contract the dimensions together. Using “iso Pstart Pstop Pdamp” is the same as specifying these 4 keywords:</p> <div class="highlight-python"><div class="highlight"><pre>x Pstart Pstop Pdamp y Pstart Pstop Pdamp z Pstart Pstop Pdamp couple xyz </pre></div> </div> <p>The keyword <em>aniso</em> means <em>x</em>, <em>y</em>, and <em>z</em> dimensions are controlled independently using the <em>Pxx</em>, <em>Pyy</em>, and <em>Pzz</em> components of the stress tensor as the driving forces, and the specified scalar external pressure. Using “aniso Pstart Pstop Pdamp” is the same as specifying these 4 keywords:</p> <div class="highlight-python"><div class="highlight"><pre>x Pstart Pstop Pdamp y Pstart Pstop Pdamp z Pstart Pstop Pdamp couple none </pre></div> </div> <hr class="docutils" /> <p>The keyword/value option pairs are used in the following ways.</p> <p>The <em>langevin</em> and <em>temp</em> and <em>tparam</em> keywords perform thermostatting of the rigid bodies, altering both their translational and rotational degrees of freedom. What is meant by “temperature” of a collection of rigid bodies and how it can be monitored via the fix output is discussed below.</p> <p>The <em>langevin</em> keyword applies a Langevin thermostat to the constant NVE time integration performed by either the <em>rigid</em> or <em>rigid/small</em> or <em>rigid/nve</em> styles. It cannot be used with the <em>rigid/nvt</em> style. The desired temperature at each timestep is a ramped value during the run from <em>Tstart</em> to <em>Tstop</em>. The <em>Tdamp</em> parameter is specified in time units and determines how rapidly the temperature is relaxed. For example, a value of 100.0 means to relax the temperature in a timespan of (roughly) 100 time units (tau or fmsec or psec - see the <a class="reference internal" href="units.html"><em>units</em></a> command). The random # <em>seed</em> must be a positive integer.</p> <p>The way that Langevin thermostatting operates is explained on the <a class="reference internal" href="fix_langevin.html"><em>fix langevin</em></a> doc page. If you wish to simply viscously damp the rotational motion without thermostatting, you can set <em>Tstart</em> and <em>Tstop</em> to 0.0, which means only the viscous drag term in the Langevin thermostat will be applied. See the discussion on the <code class="xref doc docutils literal"><span class="pre">fix</span> <span class="pre">viscous</span></code> doc page for details.</p> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">When the <em>langevin</em> keyword is used with fix rigid versus fix rigid/small, different dynamics will result for parallel runs. This is because of the way random numbers are used in the two cases. The dynamics for the two cases should be statistically similar, but will not be identical, even for a single timestep.</p> </div> <p>The <em>temp</em> and <em>tparam</em> keywords apply a Nose/Hoover thermostat to the NVT time integration performed by the <em>rigid/nvt</em> style. They cannot be used with the <em>rigid</em> or <em>rigid/small</em> or <em>rigid/nve</em> styles. The desired temperature at each timestep is a ramped value during the run from <em>Tstart</em> to <em>Tstop</em>. The <em>Tdamp</em> parameter is specified in time units and determines how rapidly the temperature is relaxed. For example, a value of 100.0 means to relax the temperature in a timespan of (roughly) 100 time units (tau or fmsec or psec - see the <a class="reference internal" href="units.html"><em>units</em></a> command).</p> <p>Nose/Hoover chains are used in conjunction with this thermostat. The <em>tparam</em> keyword can optionally be used to change the chain settings used. <em>Tchain</em> is the number of thermostats in the Nose Hoover chain. This value, along with <em>Tdamp</em> can be varied to dampen undesirable oscillations in temperature that can occur in a simulation. As a rule of thumb, increasing the chain length should lead to smaller oscillations. The keyword <em>pchain</em> specifies the number of thermostats in the chain thermostatting the barostat degrees of freedom.</p> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">There are alternate ways to thermostat a system of rigid bodies. You can use <a class="reference internal" href="fix_langevin.html"><em>fix langevin</em></a> to treat the individual particles in the rigid bodies as effectively immersed in an implicit solvent, e.g. a Brownian dynamics model. For hybrid systems with both rigid bodies and solvent particles, you can thermostat only the solvent particles that surround one or more rigid bodies by appropriate choice of groups in the compute and fix commands for temperature and thermostatting. The solvent interactions with the rigid bodies should then effectively thermostat the rigid body temperature as well without use of the Langevin or Nose/Hoover options associated with the fix rigid commands.</p> </div> <hr class="docutils" /> <p>The <em>mol</em> keyword can only be used with fix rigid/small. It must be used when other commands, such as <a class="reference internal" href="fix_deposit.html"><em>fix deposit</em></a> or <a class="reference internal" href="fix_pour.html"><em>fix pour</em></a>, add rigid bodies on-the-fly during a simulation. You specify a <em>template-ID</em> previously defined using the <a class="reference internal" href="molecule.html"><em>molecule</em></a> command, which reads a file that defines the molecule. You must use the same <em>template-ID</em> that the other fix which is adding rigid bodies uses. The coordinates, atom types, atom diameters, center-of-mass, and moments of inertia can be specified in the molecule file. See the <a class="reference internal" href="molecule.html"><em>molecule</em></a> command for details. The only settings required to be in this file are the coordinates and types of atoms in the molecule, in which case the molecule command calculates the other quantities itself.</p> <p>Note that these other fixes create new rigid bodies, in addition to those defined initially by this fix via the <em>bodystyle</em> setting.</p> <p>Also note that when using the <em>mol</em> keyword, extra restart information about all rigid bodies is written out whenever a restart file is written out. See the IMPORTANT NOTE in the next section for details.</p> <hr class="docutils" /> <p>The <em>infile</em> keyword allows a file of rigid body attributes to be read in from a file, rather then having LAMMPS compute them. There are 5 such attributes: the total mass of the rigid body, its center-of-mass position, its 6 moments of inertia, its center-of-mass velocity, and the 3 image flags of the center-of-mass position. For rigid bodies consisting of point particles or non-overlapping finite-size particles, LAMMPS can compute these values accurately. However, for rigid bodies consisting of finite-size particles which overlap each other, LAMMPS will ignore the overlaps when computing these 4 attributes. The amount of error this induces depends on the amount of overlap. To avoid this issue, the values can be pre-computed (e.g. using Monte Carlo integration).</p> <p>The format of the file is as follows. Note that the file does not have to list attributes for every rigid body integrated by fix rigid. Only bodies which the file specifies will have their computed attributes overridden. The file can contain initial blank lines or comment lines starting with “#” which are ignored. The first non-blank, non-comment line should list N = the number of lines to follow. The N successive lines contain the following information:</p> <div class="highlight-python"><div class="highlight"><pre>ID1 masstotal xcm ycm zcm ixx iyy izz ixy ixz iyz vxcm vycm vzcm lx ly lz ixcm iycm izcm ID2 masstotal xcm ycm zcm ixx iyy izz ixy ixz iyz vxcm vycm vzcm lx ly lz ixcm iycm izcm ... IDN masstotal xcm ycm zcm ixx iyy izz ixy ixz iyz vxcm vycm vzcm lx ly lz ixcm iycm izcm </pre></div> </div> <p>The rigid body IDs are all positive integers. For the <em>single</em> bodystyle, only an ID of 1 can be used. For the <em>group</em> bodystyle, IDs from 1 to Ng can be used where Ng is the number of specified groups. For the <em>molecule</em> bodystyle, use the molecule ID for the atoms in a specific rigid body as the rigid body ID.</p> <p>The masstotal and center-of-mass coordinates (xcm,ycm,zcm) are self-explanatory. The center-of-mass should be consistent with what is calculated for the position of the rigid body with all its atoms unwrapped by their respective image flags. If this produces a center-of-mass that is outside the simulation box, LAMMPS wraps it back into the box.</p> <p>The 6 moments of inertia (ixx,iyy,izz,ixy,ixz,iyz) should be the values consistent with the current orientation of the rigid body around its center of mass. The values are with respect to the simulation box XYZ axes, not with respect to the prinicpal axes of the rigid body itself. LAMMPS performs the latter calculation internally.</p> <p>The (vxcm,vycm,vzcm) values are the velocity of the center of mass. The (lx,ly,lz) values are the angular momentum of the body. The (vxcm,vycm,vzcm) and (lx,ly,lz) values can simply be set to 0 if you wish the body to have no initial motion.</p> <p>The (ixcm,iycm,izcm) values are the image flags of the center of mass of the body. For periodic dimensions, they specify which image of the simulation box the body is considered to be in. An image of 0 means it is inside the box as defined. A value of 2 means add 2 box lengths to get the true value. A value of -1 means subtract 1 box length to get the true value. LAMMPS updates these flags as the rigid bodies cross periodic boundaries during the simulation.</p> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">If you use the <em>infile</em> or <em>mol</em> keywords and write restart files during a simulation, then each time a restart file is written, the fix also write an auxiliary restart file with the name rfile.rigid, where “rfile” is the name of the restart file, e.g. tmp.restart.10000 and tmp.restart.10000.rigid. This auxiliary file is in the same format described above. Thus it can be used in a new input script that restarts the run and re-specifies a rigid fix using an <em>infile</em> keyword and the appropriate filename. Note that the auxiliary file will contain one line for every rigid body, even if the original file only listed a subset of the rigid bodies.</p> </div> <hr class="docutils" /> <p>If you use a <a class="reference internal" href="compute.html"><em>temperature compute</em></a> with a group that includes particles in rigid bodies, the degrees-of-freedom removed by each rigid body are accounted for in the temperature (and pressure) computation, but only if the temperature group includes all the particles in a particular rigid body.</p> <p>A 3d rigid body has 6 degrees of freedom (3 translational, 3 rotational), except for a collection of point particles lying on a straight line, which has only 5, e.g a dimer. A 2d rigid body has 3 degrees of freedom (2 translational, 1 rotational).</p> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">You may wish to explicitly subtract additional degrees-of-freedom if you use the <em>force</em> and <em>torque</em> keywords to eliminate certain motions of one or more rigid bodies. LAMMPS does not do this automatically.</p> </div> <p>The rigid body contribution to the pressure of the system (virial) is also accounted for by this fix.</p> <hr class="docutils" /> <p>If your simlulation is a hybrid model with a mixture of rigid bodies and non-rigid particles (e.g. solvent) there are several ways these rigid fixes can be used in tandem with <a class="reference internal" href="fix_nve.html"><em>fix nve</em></a>, <a class="reference internal" href="fix_nh.html"><em>fix nvt</em></a>, <a class="reference internal" href="fix_nh.html"><em>fix npt</em></a>, and <a class="reference internal" href="fix_nh.html"><em>fix nph</em></a>.</p> <p>If you wish to perform NVE dynamics (no thermostatting or barostatting), use fix rigid or fix rigid/nve to integrate the rigid bodies, and <a class="reference internal" href="fix_nve.html"><em>fix nve</em></a> to integrate the non-rigid particles.</p> <p>If you wish to perform NVT dynamics (thermostatting, but no barostatting), you can use fix rigid/nvt for the rigid bodies, and any thermostatting fix for the non-rigid particles (<a class="reference internal" href="fix_nh.html"><em>fix nvt</em></a>, <a class="reference internal" href="fix_langevin.html"><em>fix langevin</em></a>, <a class="reference internal" href="fix_temp_berendsen.html"><em>fix temp/berendsen</em></a>). You can also use fix rigid or fix rigid/nve for the rigid bodies and thermostat them using <a class="reference internal" href="fix_langevin.html"><em>fix langevin</em></a> on the group that contains all the particles in the rigid bodies. The net force added by <a class="reference internal" href="fix_langevin.html"><em>fix langevin</em></a> to each rigid body effectively thermostats its translational center-of-mass motion. Not sure how well it does at thermostatting its rotational motion.</p> <p>If you with to perform NPT or NPH dynamics (barostatting), you cannot use both <a class="reference internal" href="fix_nh.html"><em>fix npt</em></a> and fix rigid/npt (or the nph variants). This is because there can only be one fix which monitors the global pressure and changes the simulation box dimensions. So you have 3 choices:</p> <ul class="simple"> <li>Use fix rigid/npt for the rigid bodies. Use the <em>dilate</em> all option so that it will dilate the positions of the non-rigid particles as well. Use <a class="reference internal" href="fix_nh.html"><em>fix nvt</em></a> (or any other thermostat) for the non-rigid particles.</li> <li>Use <a class="reference internal" href="fix_nh.html"><em>fix npt</em></a> for the group of non-rigid particles. Use the <em>dilate</em> all option so that it will dilate the center-of-mass positions of the rigid bodies as well. Use fix rigid/nvt for the rigid bodies.</li> <li>Use <a class="reference internal" href="fix_press_berendsen.html"><em>fix press/berendsen</em></a> to compute the pressure and change the box dimensions. Use fix rigid/nvt for the rigid bodies. Use <a class="reference external" href="fix_nh.thml">fix nvt</a> (or any other thermostat) for the non-rigid particles.</li> </ul> <p>In all case, the rigid bodies and non-rigid particles both contribute to the global pressure and the box is scaled the same by any of the barostatting fixes.</p> <p>You could even use the 2nd and 3rd options for a non-hybrid simulation consisting of only rigid bodies, assuming you give <a class="reference internal" href="fix_nh.html"><em>fix npt</em></a> an empty group, though it’s an odd thing to do. The barostatting fixes (<a class="reference internal" href="fix_nh.html"><em>fix npt</em></a> and <a class="reference internal" href="fix_press_berendsen.html"><em>fix press/berensen</em></a>) will monitor the pressure and change the box dimensions, but not time integrate any particles. The integration of the rigid bodies will be performed by fix rigid/nvt.</p> <hr class="docutils" /> <p>Styles with a <em>cuda</em>, <em>gpu</em>, <em>intel</em>, <em>kk</em>, <em>omp</em>, or <em>opt</em> suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available hardware, as discussed in <a class="reference internal" href="Section_accelerate.html"><em>Section_accelerate</em></a> of the manual. The accelerated styles take the same arguments and should produce the same results, except for round-off and precision issues.</p> <p>These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if LAMMPS was built with those packages. See the <a class="reference internal" href="Section_start.html#start-3"><span>Making LAMMPS</span></a> section for more info.</p> <p>You can specify the accelerated styles explicitly in your input script by including their suffix, or you can use the <a class="reference internal" href="Section_start.html#start-7"><span>-suffix command-line switch</span></a> when you invoke LAMMPS, or you can use the <a class="reference internal" href="suffix.html"><em>suffix</em></a> command in your input script.</p> <p>See <a class="reference internal" href="Section_accelerate.html"><em>Section_accelerate</em></a> of the manual for more instructions on how to use the accelerated styles effectively.</p> </div> <hr class="docutils" /> <div class="section" id="restart-fix-modify-output-run-start-stop-minimize-info"> <h2>Restart, fix_modify, output, run start/stop, minimize info<a class="headerlink" href="#restart-fix-modify-output-run-start-stop-minimize-info" title="Permalink to this headline">¶</a></h2> <p>No information about the <em>rigid</em> and <em>rigid/small</em> and <em>rigid/nve</em> fixes are written to <a class="reference internal" href="restart.html"><em>binary restart files</em></a>. The exception is if the <em>infile</em> or <em>mol</em> keyword is used, in which case an auxiliary file is written out with rigid body information each time a restart file is written, as explained above for the <em>infile</em> keyword. For style <em>rigid/nvt</em> the state of the Nose/Hoover thermostat is written to <a class="reference internal" href="restart.html"><em>binary restart files</em></a>. See the <a class="reference internal" href="read_restart.html"><em>read_restart</em></a> command for info on how to re-specify a fix in an input script that reads a restart file, so that the operation of the fix continues in an uninterrupted fashion.</p> <p>The <a class="reference internal" href="fix_modify.html"><em>fix_modify</em></a> <em>energy</em> option is supported by the rigid/nvt fix to add the energy change induced by the thermostatting to the system’s potential energy as part of <a class="reference internal" href="thermo_style.html"><em>thermodynamic output</em></a>.</p> <p>The <a class="reference internal" href="fix_modify.html"><em>fix_modify</em></a> <em>temp</em> and <em>press</em> options are supported by the rigid/npt and rigid/nph fixes to change the computes used to calculate the instantaneous pressure tensor. Note that the rigid/nvt fix does not use any external compute to compute instantaneous temperature.</p> <p>The <em>rigid</em> and <em>rigid/small</em> and <em>rigid/nve</em> fixes compute a global scalar which can be accessed by various <a class="reference internal" href="Section_howto.html#howto-15"><span>output commands</span></a>. The scalar value calculated by these fixes is “intensive”. The scalar is the current temperature of the collection of rigid bodies. This is averaged over all rigid bodies and their translational and rotational degrees of freedom. The translational energy of a rigid body is 1/2 m v^2, where m = total mass of the body and v = the velocity of its center of mass. The rotational energy of a rigid body is 1/2 I w^2, where I = the moment of inertia tensor of the body and w = its angular velocity. Degrees of freedom constrained by the <em>force</em> and <em>torque</em> keywords are removed from this calculation, but only for the <em>rigid</em> and <em>rigid/nve</em> fixes.</p> <p>The <em>rigid/nvt</em>, <em>rigid/npt</em>, and <em>rigid/nph</em> fixes compute a global scalar which can be accessed by various <a class="reference internal" href="Section_howto.html#howto-15"><span>output commands</span></a>. The scalar value calculated by these fixes is “extensive”. The scalar is the cumulative energy change due to the thermostatting and barostatting the fix performs.</p> <p>All of the <em>rigid</em> fixes except <em>rigid/small</em> compute a global array of values which can be accessed by various <a class="reference internal" href="Section_howto.html#howto-15"><span>output commands</span></a>. The number of rows in the array is equal to the number of rigid bodies. The number of columns is 15. Thus for each rigid body, 15 values are stored: the xyz coords of the center of mass (COM), the xyz components of the COM velocity, the xyz components of the force acting on the COM, the xyz components of the torque acting on the COM, and the xyz image flags of the COM.</p> <p>The center of mass (COM) for each body is similar to unwrapped coordinates written to a dump file. It will always be inside (or slightly outside) the simulation box. The image flags have the same meaning as image flags for atom positions (see the “dump” command). This means you can calculate the unwrapped COM by applying the image flags to the COM, the same as when unwrapped coordinates are written to a dump file.</p> <p>The force and torque values in the array are not affected by the <em>force</em> and <em>torque</em> keywords in the fix rigid command; they reflect values before any changes are made by those keywords.</p> <p>The ordering of the rigid bodies (by row in the array) is as follows. For the <em>single</em> keyword there is just one rigid body. For the <em>molecule</em> keyword, the bodies are ordered by ascending molecule ID. For the <em>group</em> keyword, the list of group IDs determines the ordering of bodies.</p> <p>The array values calculated by these fixes are “intensive”, meaning they are independent of the number of atoms in the simulation.</p> <p>No parameter of these fixes can be used with the <em>start/stop</em> keywords of the <a class="reference internal" href="run.html"><em>run</em></a> command. These fixes are not invoked during <a class="reference internal" href="minimize.html"><em>energy minimization</em></a>.</p> </div> <hr class="docutils" /> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <p>These fixes are all part of the RIGID package. It is only enabled if LAMMPS was built with that package. See the <a class="reference internal" href="Section_start.html#start-3"><span>Making LAMMPS</span></a> section for more info.</p> <p>Assigning a temperature via the <a class="reference internal" href="velocity.html"><em>velocity create</em></a> command to a system with <a class="reference internal" href=""><em>rigid bodies</em></a> may not have the desired outcome for two reasons. First, the velocity command can be invoked before the rigid-body fix is invoked or initialized and the number of adjusted degrees of freedom (DOFs) is known. Thus it is not possible to compute the target temperature correctly. Second, the assigned velocities may be partially canceled when constraints are first enforced, leading to a different temperature than desired. A workaround for this is to perform a <a class="reference internal" href="run.html"><em>run 0</em></a> command, which insures all DOFs are accounted for properly, and then rescale the temperature to the desired value before performing a simulation. For example:</p> <div class="highlight-python"><div class="highlight"><pre>velocity all create 300.0 12345 run 0 # temperature may not be 300K velocity all scale 300.0 # now it should be </pre></div> </div> </div> <div class="section" id="related-commands"> <h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2> <p><a class="reference internal" href="delete_bonds.html"><em>delete_bonds</em></a>, <a class="reference internal" href="neigh_modify.html"><em>neigh_modify</em></a> exclude, <a class="reference internal" href="fix_shake.html"><em>fix shake</em></a></p> </div> <div class="section" id="default"> <h2>Default<a class="headerlink" href="#default" title="Permalink to this headline">¶</a></h2> <p>The option defaults are force * on on on and torque * on on on, meaning all rigid bodies are acted on by center-of-mass force and torque. Also Tchain = Pchain = 10, Titer = 1, Torder = 3.</p> <hr class="docutils" /> <p id="hoover"><strong>(Hoover)</strong> Hoover, Phys Rev A, 31, 1695 (1985).</p> <p id="kamberaj"><strong>(Kamberaj)</strong> Kamberaj, Low, Neal, J Chem Phys, 122, 224114 (2005).</p> <p id="martyna"><strong>(Martyna)</strong> Martyna, Klein, Tuckerman, J Chem Phys, 97, 2635 (1992); Martyna, Tuckerman, Tobias, Klein, Mol Phys, 87, 1117.</p> <p id="miller"><strong>(Miller)</strong> Miller, Eleftheriou, Pattnaik, Ndirango, and Newns, J Chem Phys, 116, 8649 (2002).</p> <p id="zhang"><strong>(Zhang)</strong> Zhang, Glotzer, Nanoletters, 4, 1407-1413 (2004).</p> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/fix_setforce.html b/doc/fix_setforce.html index 7a9113003..1179bde54 100644 --- a/doc/fix_setforce.html +++ b/doc/fix_setforce.html @@ -1,293 +1,293 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>fix setforce command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>fix setforce command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="fix-setforce-command"> <span id="index-0"></span><h1>fix setforce command<a class="headerlink" href="#fix-setforce-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="fix-setforce-cuda-command"> <h1>fix setforce/cuda command<a class="headerlink" href="#fix-setforce-cuda-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>fix ID group-ID setforce fx fy fz keyword value ... </pre></div> </div> <ul class="simple"> <li>ID, group-ID are documented in <a class="reference internal" href="fix.html"><em>fix</em></a> command</li> <li>setforce = style name of this fix command</li> <li>fx,fy,fz = force component values</li> <li>any of fx,fy,fz can be a variable (see below)</li> <li>zero or more keyword/value pairs may be appended to args</li> <li>keyword = <em>region</em></li> </ul> <pre class="literal-block"> <em>region</em> value = region-ID - region-ID = ID of region atoms must be in to have added force + region-ID = ID of region atoms must be in to have added force </pre> </div> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>fix freeze indenter setforce 0.0 0.0 0.0 fix 2 edge setforce NULL 0.0 0.0 fix 2 edge setforce NULL 0.0 v_oscillate </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>Set each component of force on each atom in the group to the specified values fx,fy,fz. This erases all previously computed forces on the atom, though additional fixes could add new forces. This command can be used to freeze certain atoms in the simulation by zeroing their force, either for running dynamics or performing an energy minimization. For dynamics, this assumes their initial velocity is also zero.</p> <p>Any of the fx,fy,fz values can be specified as NULL which means do not alter the force component in that dimension.</p> <p>Any of the 3 quantities defining the force components can be specified as an equal-style or atom-style <a class="reference internal" href="variable.html"><em>variable</em></a>, namely <em>fx</em>, <em>fy</em>, <em>fz</em>. If the value is a variable, it should be specified as v_name, where name is the variable name. In this case, the variable will be evaluated each timestep, and its value used to determine the force component.</p> <p>Equal-style variables can specify formulas with various mathematical functions, and include <a class="reference internal" href="thermo_style.html"><em>thermo_style</em></a> command keywords for the simulation box parameters and timestep and elapsed time. Thus it is easy to specify a time-dependent force field.</p> <p>Atom-style variables can specify the same formulas as equal-style variables but can also include per-atom values, such as atom coordinates. Thus it is easy to specify a spatially-dependent force field with optional time-dependence as well.</p> <p>If the <em>region</em> keyword is used, the atom must also be in the specified geometric <a class="reference internal" href="region.html"><em>region</em></a> in order to have force added to it.</p> <hr class="docutils" /> <p>Styles with a <em>cuda</em> suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available hardware, as discussed in <a class="reference internal" href="Section_accelerate.html"><em>Section_accelerate</em></a> of the manual. The accelerated styles take the same arguments and should produce the same results, except for round-off and precision issues.</p> <p>These accelerated styles are part of the USER-CUDA package. They are only enabled if LAMMPS was built with that package. See the <a class="reference internal" href="Section_start.html#start-3"><span>Making LAMMPS</span></a> section for more info.</p> <p>You can specify the accelerated styles explicitly in your input script by including their suffix, or you can use the <a class="reference internal" href="Section_start.html#start-7"><span>-suffix command-line switch</span></a> when you invoke LAMMPS, or you can use the <a class="reference internal" href="suffix.html"><em>suffix</em></a> command in your input script.</p> <p>See <a class="reference internal" href="Section_accelerate.html"><em>Section_accelerate</em></a> of the manual for more instructions on how to use the accelerated styles effectively.</p> </div> <hr class="docutils" /> <div class="section" id="restart-fix-modify-output-run-start-stop-minimize-info"> <h2>Restart, fix_modify, output, run start/stop, minimize info<a class="headerlink" href="#restart-fix-modify-output-run-start-stop-minimize-info" title="Permalink to this headline">¶</a></h2> <p>No information about this fix is written to <a class="reference internal" href="restart.html"><em>binary restart files</em></a>. None of the <a class="reference internal" href="fix_modify.html"><em>fix_modify</em></a> options are relevant to this fix.</p> <p>This fix computes a global 3-vector of forces, which can be accessed by various <a class="reference internal" href="Section_howto.html#howto-15"><span>output commands</span></a>. This is the total force on the group of atoms before the forces on individual atoms are changed by the fix. The vector values calculated by this fix are “extensive”.</p> <p>No parameter of this fix can be used with the <em>start/stop</em> keywords of the <a class="reference internal" href="run.html"><em>run</em></a> command.</p> <p>The forces due to this fix are imposed during an energy minimization, invoked by the <a class="reference internal" href="minimize.html"><em>minimize</em></a> command, but you cannot set forces to any value besides zero when performing a minimization. Use the <a class="reference internal" href="fix_addforce.html"><em>fix addforce</em></a> command if you want to apply a non-zero force to atoms during a minimization.</p> </div> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <blockquote> <div>none</div></blockquote> </div> <div class="section" id="related-commands"> <h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2> <p><a class="reference internal" href="fix_addforce.html"><em>fix addforce</em></a>, <a class="reference internal" href="fix_aveforce.html"><em>fix aveforce</em></a></p> <p><strong>Default:</strong> none</p> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/fix_shake.html b/doc/fix_shake.html index bdaea8ba1..8396a94ca 100644 --- a/doc/fix_shake.html +++ b/doc/fix_shake.html @@ -1,388 +1,388 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>fix shake command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>fix shake command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="fix-shake-command"> <span id="index-0"></span><h1>fix shake command<a class="headerlink" href="#fix-shake-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="fix-shake-cuda-command"> <h1>fix shake/cuda command<a class="headerlink" href="#fix-shake-cuda-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="fix-rattle-command"> <h1>fix rattle command<a class="headerlink" href="#fix-rattle-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>fix ID group-ID style tol iter N constraint values ... keyword value ... </pre></div> </div> <ul class="simple"> <li>ID, group-ID are documented in <a class="reference internal" href="fix.html"><em>fix</em></a> command</li> <li>style = shake or rattle = style name of this fix command</li> <li>tol = accuracy tolerance of SHAKE solution</li> <li>iter = max # of iterations in each SHAKE solution</li> <li>N = print SHAKE statistics every this many timesteps (0 = never)</li> <li>one or more constraint/value pairs are appended</li> <li>constraint = <em>b</em> or <em>a</em> or <em>t</em> or <em>m</em></li> </ul> <pre class="literal-block"> <em>b</em> values = one or more bond types - <em>a</em> values = one or more angle types - <em>t</em> values = one or more atom types - <em>m</em> value = one or more mass values +<em>a</em> values = one or more angle types +<em>t</em> values = one or more atom types +<em>m</em> value = one or more mass values </pre> <ul class="simple"> <li>zero or more keyword/value pairs may be appended</li> <li>keyword = <em>mol</em></li> </ul> <pre class="literal-block"> <em>mol</em> value = template-ID - template-ID = ID of molecule template specified in a separate <a class="reference internal" href="molecule.html"><em>molecule</em></a> command + template-ID = ID of molecule template specified in a separate <a class="reference internal" href="molecule.html"><em>molecule</em></a> command </pre> </div> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>fix 1 sub shake 0.0001 20 10 b 4 19 a 3 5 2 fix 1 sub shake 0.0001 20 10 t 5 6 m 1.0 a 31 fix 1 sub shake 0.0001 20 10 t 5 6 m 1.0 a 31 mol myMol fix 1 sub rattle 0.0001 20 10 t 5 6 m 1.0 a 31 fix 1 sub rattle 0.0001 20 10 t 5 6 m 1.0 a 31 mol myMol </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>Apply bond and angle constraints to specified bonds and angles in the simulation by either the SHAKE or RATTLE algorithms. This typically enables a longer timestep.</p> <p><strong>SHAKE vs RATTLE:</strong></p> <p>The SHAKE algorithm was invented for schemes such as standard Verlet timesteppnig, where only the coordinates are integrated and the velocities are approximated as finite differences to the trajectories (<a class="reference internal" href="#ryckaert"><span>Ryckaert et al. (1977)</span></a>). If the velocities are integrated explicitly, as with velocity Verlet which is what LAMMPS uses as an integration method, a second set of constraining forces is required in order to eliminate velocity components along the bonds (<a class="reference internal" href="#andersen"><span>Andersen (1983)</span></a>).</p> <p>In order to formulate individual constraints for SHAKE and RATTLE, focus on a single molecule whose bonds are constrained. Let Ri and Vi be the position and velocity of atom <em>i</em> at time <em>n</em>, for <em>i*=1,...,*N</em>, where <em>N</em> is the number of sites of our reference molecule. The distance vector between sites <em>i</em> and <em>j</em> is given by</p> <img alt="_images/fix_rattle_rij.jpg" class="align-center" src="_images/fix_rattle_rij.jpg" /> <p>The constraints can then be formulated as</p> <img alt="_images/fix_rattle_constraints.jpg" class="align-center" src="_images/fix_rattle_constraints.jpg" /> <p>The SHAKE algorithm satisfies the first condition, i.e. the sites at time <em>n+1</em> will have the desired separations Dij immediately after the coordinates are integrated. If we also enforce the second condition, the velocity components along the bonds will vanish. RATTLE satisfies both conditions. As implemented in LAMMPS, fix rattle uses fix shake for satisfying the coordinate constraints. Therefore the settings and optional keywords are the same for both fixes, and all the information below about SHAKE is also relevant for RATTLE.</p> <p><strong>SHAKE:</strong></p> <p>Each timestep the specified bonds and angles are reset to their equilibrium lengths and angular values via the SHAKE algorithm (<a class="reference internal" href="#ryckaert"><span>Ryckaert et al. (1977)</span></a>). This is done by applying an additional constraint force so that the new positions preserve the desired atom separations. The equations for the additional force are solved via an iterative method that typically converges to an accurate solution in a few iterations. The desired tolerance (e.g. 1.0e-4 = 1 part in 10000) and maximum # of iterations are specified as arguments. Setting the N argument will print statistics to the screen and log file about regarding the lengths of bonds and angles that are being constrained. Small delta values mean SHAKE is doing a good job.</p> <p>In LAMMPS, only small clusters of atoms can be constrained. This is so the constraint calculation for a cluster can be performed by a single processor, to enable good parallel performance. A cluster is defined as a central atom connected to others in the cluster by constrained bonds. LAMMPS allows for the following kinds of clusters to be constrained: one central atom bonded to 1 or 2 or 3 atoms, or one central atom bonded to 2 others and the angle between the 3 atoms also constrained. This means water molecules or CH2 or CH3 groups may be constrained, but not all the C-C backbone bonds of a long polymer chain.</p> <p>The <em>b</em> constraint lists bond types that will be constrained. The <em>t</em> constraint lists atom types. All bonds connected to an atom of the specified type will be constrained. The <em>m</em> constraint lists atom masses. All bonds connected to atoms of the specified masses will be constrained (within a fudge factor of MASSDELTA specified in fix_shake.cpp). The <em>a</em> constraint lists angle types. If both bonds in the angle are constrained then the angle will also be constrained if its type is in the list.</p> <p>For all constraints, a particular bond is only constrained if both atoms in the bond are in the group specified with the SHAKE fix.</p> <p>The degrees-of-freedom removed by SHAKE bonds and angles are accounted for in temperature and pressure computations. Similarly, the SHAKE contribution to the pressure of the system (virial) is also accounted for.</p> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">This command works by using the current forces on atoms to caculate an additional constraint force which when added will leave the atoms in positions that satisfy the SHAKE constraints (e.g. bond length) after the next time integration step. If you define fixes (e.g. <a class="reference internal" href="fix_efield.html"><em>fix efield</em></a>) that add additional force to the atoms after fix shake operates, then this fix will not take them into account and the time integration will typically not satisfy the SHAKE constraints. The solution for this is to make sure that fix shake is defined in your input script after any other fixes which add or change forces (to atoms that fix shake operates on).</p> </div> <hr class="docutils" /> <p>The <em>mol</em> keyword should be used when other commands, such as <a class="reference internal" href="fix_deposit.html"><em>fix deposit</em></a> or <a class="reference internal" href="fix_pour.html"><em>fix pour</em></a>, add molecules on-the-fly during a simulation, and you wish to contrain the new molecules via SHAKE. You specify a <em>template-ID</em> previously defined using the <a class="reference internal" href="molecule.html"><em>molecule</em></a> command, which reads a file that defines the molecule. You must use the same <em>template-ID</em> that the command adding molecules uses. The coordinates, atom types, special bond restrictions, and SHAKE info can be specified in the molecule file. See the <a class="reference internal" href="molecule.html"><em>molecule</em></a> command for details. The only settings required to be in this file (by this command) are the SHAKE info of atoms in the molecule.</p> <hr class="docutils" /> <p>Styles with a <em>cuda</em> suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available hardware, as discussed in <a class="reference internal" href="Section_accelerate.html"><em>Section_accelerate</em></a> of the manual. The accelerated styles take the same arguments and should produce the same results, except for round-off and precision issues.</p> <p>These accelerated styles are part of the USER-CUDA package. They are only enabled if LAMMPS was built with that package. See the <a class="reference internal" href="Section_start.html#start-3"><span>Making LAMMPS</span></a> section for more info.</p> <p>You can specify the accelerated styles explicitly in your input script by including their suffix, or you can use the <a class="reference internal" href="Section_start.html#start-7"><span>-suffix command-line switch</span></a> when you invoke LAMMPS, or you can use the <a class="reference internal" href="suffix.html"><em>suffix</em></a> command in your input script.</p> <p>See <a class="reference internal" href="Section_accelerate.html"><em>Section_accelerate</em></a> of the manual for more instructions on how to use the accelerated styles effectively.</p> <hr class="docutils" /> <p><strong>RATTLE:</strong></p> <p>The velocity constraints lead to a linear system of equations which can be solved analytically. The implementation of the algorithm in LAMMPS closely follows (<a class="reference internal" href="#andersen"><span>Andersen (1983)</span></a>).</p> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">The fix rattle command modifies forces and velocities and thus should be defined after all other integration fixes in your input script. If you define other fixes that modify velocities or forces after fix rattle operates, then fix rattle will not take them into account and the overall time integration will typically not satisfy the RATTLE constraints. You can check whether the constraints work correctly by setting the value of RATTLE_DEBUG in src/fix_rattle.cpp to 1 and recompiling LAMMPS.</p> </div> </div> <hr class="docutils" /> <div class="section" id="restart-fix-modify-output-run-start-stop-minimize-info"> <h2>Restart, fix_modify, output, run start/stop, minimize info<a class="headerlink" href="#restart-fix-modify-output-run-start-stop-minimize-info" title="Permalink to this headline">¶</a></h2> <p>No information about these fixes is written to <a class="reference internal" href="restart.html"><em>binary restart files</em></a>. None of the <a class="reference internal" href="fix_modify.html"><em>fix_modify</em></a> options are relevant to these fixes. No global or per-atom quantities are stored by these fixes for access by various <a class="reference internal" href="Section_howto.html#howto-15"><span>output commands</span></a>. No parameter of these fixes can be used with the <em>start/stop</em> keywords of the <a class="reference internal" href="run.html"><em>run</em></a> command. These fixes are not invoked during <a class="reference internal" href="minimize.html"><em>energy minimization</em></a>.</p> </div> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <p>These fixes are part of the RIGID package. They are only enabled if LAMMPS was built with that package. See the <a class="reference internal" href="Section_start.html#start-3"><span>Making LAMMPS</span></a> section for more info.</p> <p>For computational efficiency, there can only be one shake or rattle fix defined in a simulation.</p> <p>If you use a tolerance that is too large or a max-iteration count that is too small, the constraints will not be enforced very strongly, which can lead to poor energy conservation. You can test for this in your system by running a constant NVE simulation with a particular set of SHAKE parameters and monitoring the energy versus time.</p> <p>SHAKE or RATTLE should not be used to contrain an angle at 180 degrees (e.g. linear CO2 molecule). This causes numeric difficulties.</p> <p><strong>Related commands:</strong> none</p> <p><strong>Default:</strong> none</p> <hr class="docutils" /> <p id="ryckaert"><strong>(Ryckaert)</strong> J.-P. Ryckaert, G. Ciccotti and H. J. C. Berendsen, J of Comp Phys, 23, 327-341 (1977).</p> <p id="andersen"><strong>(Andersen)</strong> H. Andersen, J of Comp Phys, 52, 24-34 (1983).</p> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/fix_smd.html b/doc/fix_smd.html index e6e033578..3b7a04ed5 100644 --- a/doc/fix_smd.html +++ b/doc/fix_smd.html @@ -1,324 +1,324 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>fix smd command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>fix smd command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="fix-smd-command"> <span id="index-0"></span><h1>fix smd command<a class="headerlink" href="#fix-smd-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>fix ID group-ID smd type values keyword values </pre></div> </div> <ul class="simple"> <li>ID, group-ID are documented in <a class="reference internal" href="fix.html"><em>fix</em></a> command</li> <li>smd = style name of this fix command</li> <li>mode = <em>cvel</em> or <em>cfor</em> to select constant velocity or constant force SMD</li> </ul> <pre class="literal-block"> <em>cvel</em> values = K vel - K = spring constant (force/distance units) - vel = velocity of pulling (distance/time units) - <em>cfor</em> values = force - force = pulling force (force units) + K = spring constant (force/distance units) + vel = velocity of pulling (distance/time units) +<em>cfor</em> values = force + force = pulling force (force units) </pre> <ul class="simple"> <li>keyword = <em>tether</em> or <em>couple</em></li> </ul> <pre class="literal-block"> <em>tether</em> values = x y z R0 - x,y,z = point to which spring is tethered - R0 = distance of end of spring from tether point (distance units) - <em>couple</em> values = group-ID2 x y z R0 - group-ID2 = 2nd group to couple to fix group with a spring - x,y,z = direction of spring, automatically computed with 'auto' - R0 = distance of end of spring (distance units) + x,y,z = point to which spring is tethered + R0 = distance of end of spring from tether point (distance units) +<em>couple</em> values = group-ID2 x y z R0 + group-ID2 = 2nd group to couple to fix group with a spring + x,y,z = direction of spring, automatically computed with 'auto' + R0 = distance of end of spring (distance units) </pre> </div> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>fix pull cterm smd cvel 20.0 -0.00005 tether NULL NULL 100.0 0.0 fix pull cterm smd cvel 20.0 -0.0001 tether 25.0 25 25.0 0.0 fix stretch cterm smd cvel 20.0 0.0001 couple nterm auto auto auto 0.0 fix pull cterm smd cfor 5.0 tether 25.0 25.0 25.0 0.0 </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>This fix implements several options of steered MD (SMD) as reviewed in <span class="xref std std-ref">(Izrailev)</span>, which allows to induce conformational changes in systems and to compute the potential of mean force (PMF) along the assumed reaction coordinate <span class="xref std std-ref">(Park)</span> based on Jarzynski’s equality <span class="xref std std-ref">(Jarzynski)</span>. This fix borrows a lot from <a class="reference internal" href="fix_spring.html"><em>fix spring</em></a> and <a class="reference internal" href="fix_setforce.html"><em>fix setforce</em></a>.</p> <p>You can apply a moving spring force to a group of atoms (<em>tether</em> style) or between two groups of atoms (<em>couple</em> style). The spring can then be used in either constant velocity (<em>cvel</em>) mode or in constant force (<em>cfor</em>) mode to induce transitions in your systems. When running in <em>tether</em> style, you may need some way to fix some other part of the system (e.g. via <a class="reference internal" href="fix_spring_self.html"><em>fix spring/self</em></a>)</p> <p>The <em>tether</em> style attaches a spring between a point at a distance of R0 away from a fixed point <em>x,y,z</em> and the center of mass of the fix group of atoms. A restoring force of magnitude K (R - R0) Mi / M is applied to each atom in the group where <em>K</em> is the spring constant, Mi is the mass of the atom, and M is the total mass of all atoms in the group. Note that <em>K</em> thus represents the total force on the group of atoms, not a per-atom force.</p> <p>In <em>cvel</em> mode the distance R is incremented or decremented monotonously according to the pulling (or pushing) velocity. In <em>cfor</em> mode a constant force is added and the actual distance in direction of the spring is recorded.</p> <p>The <em>couple</em> style links two groups of atoms together. The first group is the fix group; the second is specified by group-ID2. The groups are coupled together by a spring that is at equilibrium when the two groups are displaced by a vector in direction <em>x,y,z</em> with respect to each other and at a distance R0 from that displacement. Note that <em>x,y,z</em> only provides a direction and will be internally normalized. But since it represents the <em>absolute</em> displacement of group-ID2 relative to the fix group, (1,1,0) is a different spring than (-1,-1,0). For each vector component, the displacement can be described with the <em>auto</em> parameter. In this case the direction is recomputed in every step, which can be useful for steering a local process where the whole object undergoes some other change. When the relative positions and distance between the two groups are not in equilibrium, the same spring force described above is applied to atoms in each of the two groups.</p> <p>For both the <em>tether</em> and <em>couple</em> styles, any of the x,y,z values can be specified as NULL which means do not include that dimension in the distance calculation or force application.</p> <p>For constant velocity pulling (<em>cvel</em> mode), the running integral over the pulling force in direction of the spring is recorded and can then later be used to compute the potential of mean force (PMF) by averaging over multiple independent trajectories along the same pulling path.</p> </div> <div class="section" id="restart-fix-modify-output-run-start-stop-minimize-info"> <h2>Restart, fix_modify, output, run start/stop, minimize info<a class="headerlink" href="#restart-fix-modify-output-run-start-stop-minimize-info" title="Permalink to this headline">¶</a></h2> <p>The fix stores the direction of the spring, current pulling target distance and the running PMF to <a class="reference internal" href="restart.html"><em>binary restart files</em></a>. See the <a class="reference internal" href="read_restart.html"><em>read_restart</em></a> command for info on how to re-specify a fix in an input script that reads a restart file, so that the operation of the fix continues in an uninterrupted fashion.</p> <p>None of the <a class="reference internal" href="fix_modify.html"><em>fix_modify</em></a> options are relevant to this fix.</p> <p>This fix computes a vector list of 7 quantities, which can be accessed by various <a class="reference internal" href="Section_howto.html#howto-15"><span>output commands</span></a>. The quantities in the vector are in this order: the x-, y-, and z-component of the pulling force, the total force in direction of the pull, the equilibrium distance of the spring, the distance between the two reference points, and finally the accumulated PMF (the sum of pulling forces times displacement).</p> <p>The force is the total force on the group of atoms by the spring. In the case of the <em>couple</em> style, it is the force on the fix group (group-ID) or the negative of the force on the 2nd group (group-ID2). The vector values calculated by this fix are “extensive”.</p> <p>No parameter of this fix can be used with the <em>start/stop</em> keywords of the <a class="reference internal" href="run.html"><em>run</em></a> command. This fix is not invoked during <a class="reference internal" href="minimize.html"><em>energy minimization</em></a>.</p> </div> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <p>This fix is part of the USER-MISC package. It is only enabled if LAMMPS was built with that package. See the <a class="reference internal" href="Section_start.html#start-3"><span>Making LAMMPS</span></a> section for more info.</p> </div> <div class="section" id="related-commands"> <h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2> <p><a class="reference internal" href="fix_drag.html"><em>fix drag</em></a>, <a class="reference internal" href="fix_spring.html"><em>fix spring</em></a>, <a class="reference internal" href="fix_spring_self.html"><em>fix spring/self</em></a>, <a class="reference internal" href="fix_spring_rg.html"><em>fix spring/rg</em></a></p> <p><strong>Default:</strong> none</p> <hr class="docutils" /> <p id="israilev"><strong>(Izrailev)</strong> Izrailev, Stepaniants, Isralewitz, Kosztin, Lu, Molnar, Wriggers, Schulten. Computational Molecular Dynamics: Challenges, Methods, Ideas, volume 4 of Lecture Notes in Computational Science and Engineering, pp. 39-65. Springer-Verlag, Berlin, 1998.</p> <p><strong>(Park)</strong> Park, Schulten, J. Chem. Phys. 120 (13), 5946 (2004)</p> <p><strong>(Jarzynski)</strong> Jarzynski, Phys. Rev. Lett. 78, 2690 (1997)</p> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/fix_spring.html b/doc/fix_spring.html index 329ec9650..0f7fe361e 100644 --- a/doc/fix_spring.html +++ b/doc/fix_spring.html @@ -1,326 +1,326 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>fix spring command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>fix spring command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="fix-spring-command"> <span id="index-0"></span><h1>fix spring command<a class="headerlink" href="#fix-spring-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>fix ID group-ID spring keyword values </pre></div> </div> <ul class="simple"> <li>ID, group-ID are documented in <a class="reference internal" href="fix.html"><em>fix</em></a> command</li> <li>spring = style name of this fix command</li> <li>keyword = <em>tether</em> or <em>couple</em></li> </ul> <pre class="literal-block"> <em>tether</em> values = K x y z R0 - K = spring constant (force/distance units) - x,y,z = point to which spring is tethered - R0 = equilibrium distance from tether point (distance units) - <em>couple</em> values = group-ID2 K x y z R0 - group-ID2 = 2nd group to couple to fix group with a spring - K = spring constant (force/distance units) - x,y,z = direction of spring - R0 = equilibrium distance of spring (distance units) + K = spring constant (force/distance units) + x,y,z = point to which spring is tethered + R0 = equilibrium distance from tether point (distance units) +<em>couple</em> values = group-ID2 K x y z R0 + group-ID2 = 2nd group to couple to fix group with a spring + K = spring constant (force/distance units) + x,y,z = direction of spring + R0 = equilibrium distance of spring (distance units) </pre> </div> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>fix pull ligand spring tether 50.0 0.0 0.0 0.0 0.0 fix pull ligand spring tether 50.0 0.0 0.0 0.0 5.0 fix pull ligand spring tether 50.0 NULL NULL 2.0 3.0 fix 5 bilayer1 spring couple bilayer2 100.0 NULL NULL 10.0 0.0 fix longitudinal pore spring couple ion 100.0 NULL NULL -20.0 0.0 fix radial pore spring couple ion 100.0 0.0 0.0 NULL 5.0 </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>Apply a spring force to a group of atoms or between two groups of atoms. This is useful for applying an umbrella force to a small molecule or lightly tethering a large group of atoms (e.g. all the solvent or a large molecule) to the center of the simulation box so that it doesn’t wander away over the course of a long simulation. It can also be used to hold the centers of mass of two groups of atoms at a given distance or orientation with respect to each other.</p> <p>The <em>tether</em> style attaches a spring between a fixed point <em>x,y,z</em> and the center of mass of the fix group of atoms. The equilibrium position of the spring is R0. At each timestep the distance R from the center of mass of the group of atoms to the tethering point is computed, taking account of wrap-around in a periodic simulation box. A restoring force of magnitude K (R - R0) Mi / M is applied to each atom in the group where <em>K</em> is the spring constant, Mi is the mass of the atom, and M is the total mass of all atoms in the group. Note that <em>K</em> thus represents the total force on the group of atoms, not a per-atom force.</p> <p>The <em>couple</em> style links two groups of atoms together. The first group is the fix group; the second is specified by group-ID2. The groups are coupled together by a spring that is at equilibrium when the two groups are displaced by a vector <em>x,y,z</em> with respect to each other and at a distance R0 from that displacement. Note that <em>x,y,z</em> is the equilibrium displacement of group-ID2 relative to the fix group. Thus (1,1,0) is a different spring than (-1,-1,0). When the relative positions and distance between the two groups are not in equilibrium, the same spring force described above is applied to atoms in each of the two groups.</p> <p>For both the <em>tether</em> and <em>couple</em> styles, any of the x,y,z values can be specified as NULL which means do not include that dimension in the distance calculation or force application.</p> <p>The first example above pulls the ligand towards the point (0,0,0). The second example holds the ligand near the surface of a sphere of radius 5 around the point (0,0,0). The third example holds the ligand a distance 3 away from the z=2 plane (on either side).</p> <p>The fourth example holds 2 bilayers a distance 10 apart in z. For the last two examples, imagine a pore (a slab of atoms with a cylindrical hole cut out) oriented with the pore axis along z, and an ion moving within the pore. The fifth example holds the ion a distance of -20 below the z = 0 center plane of the pore (umbrella sampling). The last example holds the ion a distance 5 away from the pore axis (assuming the center-of-mass of the pore in x,y is the pore axis).</p> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">The center of mass of a group of atoms is calculated in “unwrapped” coordinates using atom image flags, which means that the group can straddle a periodic boundary. See the <a class="reference internal" href="dump.html"><em>dump</em></a> doc page for a discussion of unwrapped coordinates. It also means that a spring connecting two groups or a group and the tether point can cross a periodic boundary and its length be calculated correctly. One exception is for rigid bodies, which should not be used with the fix spring command, if the rigid body will cross a periodic boundary. This is because image flags for rigid bodies are used in a different way, as explained on the <a class="reference internal" href="fix_rigid.html"><em>fix rigid</em></a> doc page.</p> </div> </div> <div class="section" id="restart-fix-modify-output-run-start-stop-minimize-info"> <h2>Restart, fix_modify, output, run start/stop, minimize info<a class="headerlink" href="#restart-fix-modify-output-run-start-stop-minimize-info" title="Permalink to this headline">¶</a></h2> <p>No information about this fix is written to <a class="reference internal" href="restart.html"><em>binary restart files</em></a>.</p> <p>The <a class="reference internal" href="fix_modify.html"><em>fix_modify</em></a> <em>energy</em> option is supported by this fix to add the energy stored in the spring to the system’s potential energy as part of <a class="reference internal" href="thermo_style.html"><em>thermodynamic output</em></a>.</p> <p>This fix computes a global scalar which can be accessed by various <a class="reference internal" href="Section_howto.html#howto-15"><span>output commands</span></a>. The scalar is the spring energy = 0.5 * K * r^2.</p> <p>This fix also computes global 4-vector which can be accessed by various <a class="reference internal" href="Section_howto.html#howto-15"><span>output commands</span></a>. The first 3 quantities in the vector are xyz components of the total force added to the group of atoms by the spring. In the case of the <em>couple</em> style, it is the force on the fix group (group-ID) or the negative of the force on the 2nd group (group-ID2). The 4th quantity in the vector is the magnitude of the force added by the spring, as a positive value if (r-R0) > 0 and a negative value if (r-R0) < 0. This sign convention can be useful when using the spring force to compute a potential of mean force (PMF).</p> <p>The scalar and vector values calculated by this fix are “extensive”.</p> <p>No parameter of this fix can be used with the <em>start/stop</em> keywords of the <a class="reference internal" href="run.html"><em>run</em></a> command.</p> <p>The forces due to this fix are imposed during an energy minimization, invoked by the <a class="reference internal" href="minimize.html"><em>minimize</em></a> command.</p> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">If you want the spring energy to be included in the total potential energy of the system (the quantity being minimized), you MUST enable the <a class="reference internal" href="fix_modify.html"><em>fix_modify</em></a> <em>energy</em> option for this fix.</p> </div> </div> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <blockquote> <div>none</div></blockquote> </div> <div class="section" id="related-commands"> <h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2> <p><a class="reference internal" href="fix_drag.html"><em>fix drag</em></a>, <a class="reference internal" href="fix_spring_self.html"><em>fix spring/self</em></a>, <a class="reference internal" href="fix_spring_rg.html"><em>fix spring/rg</em></a>, <a class="reference internal" href="fix_smd.html"><em>fix smd</em></a></p> <p><strong>Default:</strong> none</p> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/fix_srd.html b/doc/fix_srd.html index b2408e6ae..04c126ed8 100644 --- a/doc/fix_srd.html +++ b/doc/fix_srd.html @@ -1,577 +1,577 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>fix srd command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>fix srd command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="fix-srd-command"> <span id="index-0"></span><h1>fix srd command<a class="headerlink" href="#fix-srd-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>fix ID group-ID srd N groupbig-ID Tsrd hgrid seed keyword value ... </pre></div> </div> <ul class="simple"> <li>ID, group-ID are documented in <a class="reference internal" href="fix.html"><em>fix</em></a> command</li> <li>srd = style name of this fix command</li> <li>N = reset SRD particle velocities every this many timesteps</li> <li>groupbig-ID = ID of group of large particles that SRDs interact with</li> <li>Tsrd = temperature of SRD particles (temperature units)</li> <li>hgrid = grid spacing for SRD grouping (distance units)</li> <li>seed = random # seed (positive integer)</li> <li>zero or more keyword/value pairs may be appended</li> <li>keyword = <em>lamda</em> or <em>collision</em> or <em>overlap</em> or <em>inside</em> or <em>exact</em> or <em>radius</em> or <em>bounce</em> or <em>search</em> or <em>cubic</em> or <em>shift</em> or <em>tstat</em> or <em>rescale</em></li> </ul> <pre class="literal-block"> <em>lamda</em> value = mean free path of SRD particles (distance units) - <em>collision</em> value = <em>noslip</em> or <em>slip</em> = collision model - <em>overlap</em> value = <em>yes</em> or <em>no</em> = whether big particles may overlap - <em>inside</em> value = <em>error</em> or <em>warn</em> or <em>ignore</em> = how SRD particles which end up inside a big particle are treated - <em>exact</em> value = <em>yes</em> or <em>no</em> - <em>radius</em> value = rfactor = scale collision radius by this factor - <em>bounce</em> value = Nbounce = max # of collisions an SRD particle can undergo in one timestep - <em>search</em> value = sgrid = grid spacing for collision partner searching (distance units) - <em>cubic</em> values = style tolerance - style = <em>error</em> or <em>warn</em> - tolerance = fractional difference allowed (0 <= tol <= 1) - <em>shift</em> values = flag shiftseed - flag = <em>yes</em> or <em>no</em> or <em>possible</em> = SRD bin shifting for better statistics - <em>yes</em> = perform bin shifting each time SRD velocities are rescaled - <em>no</em> = no shifting - <em>possible</em> = shift depending on mean free path and bin size - shiftseed = random # seed (positive integer) - <em>tstat</em> value = <em>yes</em> or <em>no</em> = thermostat SRD particles or not - <em>rescale</em> value = <em>yes</em> or <em>no</em> or <em>rotate</em> or <em>collide</em> = rescaling of SRD velocities - <em>yes</em> = rescale during velocity rotation and collisions - <em>no</em> = no rescaling - <em>rotate</em> = rescale during velocity rotation, but not collisions - <em>collide</em> = rescale during collisions, but not velocity rotation +<em>collision</em> value = <em>noslip</em> or <em>slip</em> = collision model +<em>overlap</em> value = <em>yes</em> or <em>no</em> = whether big particles may overlap +<em>inside</em> value = <em>error</em> or <em>warn</em> or <em>ignore</em> = how SRD particles which end up inside a big particle are treated +<em>exact</em> value = <em>yes</em> or <em>no</em> +<em>radius</em> value = rfactor = scale collision radius by this factor +<em>bounce</em> value = Nbounce = max # of collisions an SRD particle can undergo in one timestep +<em>search</em> value = sgrid = grid spacing for collision partner searching (distance units) +<em>cubic</em> values = style tolerance + style = <em>error</em> or <em>warn</em> + tolerance = fractional difference allowed (0 <= tol <= 1) +<em>shift</em> values = flag shiftseed + flag = <em>yes</em> or <em>no</em> or <em>possible</em> = SRD bin shifting for better statistics + <em>yes</em> = perform bin shifting each time SRD velocities are rescaled + <em>no</em> = no shifting + <em>possible</em> = shift depending on mean free path and bin size + shiftseed = random # seed (positive integer) +<em>tstat</em> value = <em>yes</em> or <em>no</em> = thermostat SRD particles or not +<em>rescale</em> value = <em>yes</em> or <em>no</em> or <em>rotate</em> or <em>collide</em> = rescaling of SRD velocities + <em>yes</em> = rescale during velocity rotation and collisions + <em>no</em> = no rescaling + <em>rotate</em> = rescale during velocity rotation, but not collisions + <em>collide</em> = rescale during collisions, but not velocity rotation </pre> </div> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>fix 1 srd srd 10 big 1.0 0.25 482984 fix 1 srd srd 10 big 0.5 0.25 482984 collision slip search 0.5 </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>Treat a group of partilces as stochastic rotation dynamics (SRD) particles that serve as a background solvent when interacting with big (colloidal) particles in groupbig-ID. The SRD formalism is described in <a class="reference internal" href="#hecht"><span>(Hecht)</span></a>. The key idea behind using SRD particles as a cheap coarse-grained solvent is that SRD particles do not interact with each other, but only with the solute particles, which in LAMMPS can be spheroids, ellipsoids, or line segments, or triangles, or rigid bodies containing multiple spherioids or ellipsoids or line segments or triangles. The collision and rotation properties of the model imbue the SRD particles with fluid-like properties, including an effective viscosity. Thus simulations with large solute particles can be run more quickly, to measure solute propoerties like diffusivity and viscosity in a background fluid. The usual LAMMPS fixes for such simulations, such as <a class="reference internal" href="fix_deform.html"><em>fix deform</em></a>, <a class="reference internal" href="fix_viscosity.html"><em>fix viscosity</em></a>, and <a class="reference internal" href="fix_nvt_sllod.html"><em>fix nvt/sllod</em></a>, can be used in conjunction with the SRD model.</p> <p>For more details on how the SRD model is implemented in LAMMPS, <a class="reference internal" href="kspace_style.html#petersen"><span>this paper</span></a> describes the implementation and usage of pure SRD fluids. <a class="reference internal" href="#lechman"><span>This paper</span></a>, which is nearly complete, describes the implementation and usage of mixture systems (solute particles in an SRD fluid). See the examples/srd directory for sample input scripts using SRD particles in both settings.</p> <p>This fix does 2 things:</p> <p>(1) It advects the SRD particles, performing collisions between SRD and big particles or walls every timestep, imparting force and torque to the big particles. Collisions also change the position and velocity of SRD particles.</p> <p>(2) It resets the velocity distribution of SRD particles via random rotations every N timesteps.</p> <p>SRD particles have a mass, temperature, characteristic timestep dt_SRD, and mean free path between collisions (lamda). The fundamental equation relating these 4 quantities is</p> <div class="highlight-python"><div class="highlight"><pre><span class="n">lamda</span> <span class="o">=</span> <span class="n">dt_SRD</span> <span class="o">*</span> <span class="n">sqrt</span><span class="p">(</span><span class="n">Kboltz</span> <span class="o">*</span> <span class="n">Tsrd</span> <span class="o">/</span> <span class="n">mass</span><span class="p">)</span> </pre></div> </div> <p>The mass of SRD particles is set by the <a class="reference internal" href="mass.html"><em>mass</em></a> command elsewhere in the input script. The SRD timestep dt_SRD is N times the step dt defined by the <a class="reference internal" href="timestep.html"><em>timestep</em></a> command. Big particles move in the normal way via a time integration <a class="reference internal" href="fix.html"><em>fix</em></a> with a short timestep dt. SRD particles advect with a large timestep dt_SRD >= dt.</p> <p>If the <em>lamda</em> keyword is not specified, the the SRD temperature <em>Tsrd</em> is used in the above formula to compute lamda. If the <em>lamda</em> keyword is specified, then the <em>Tsrd</em> setting is ignored and the above equation is used to compute the SRD temperature.</p> <p>The characteristic length scale for the SRD fluid is set by <em>hgrid</em> which is used to bin SRD particles for purposes of resetting their velocities. Normally hgrid is set to be 1/4 of the big particle diameter or smaller, to adequately resolve fluid properties around the big particles.</p> <p>Lamda cannot be smaller than 0.6 * hgrid, else an error is generated (unless the <em>shift</em> keyword is used, see below). The velocities of 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 colliding. A warning is generated if this is the case.</p> <p>Collisions between SRD particles and big particles or walls are modeled as a lightweight SRD point particle hitting a heavy big particle of given diameter or a wall at a point on its surface and bouncing off with a new velocity. The collision changes the momentum of the SRD particle. It imparts a force and torque to the big particle. It imparts a force to a wall. Static or moving SRD walls are setup via the <a class="reference internal" href="fix_wall_srd.html"><em>fix wall/srd</em></a> command. For the remainder of this doc page, a collision of an SRD particle with a wall can be viewed as a collision with a big particle of infinite radius and mass.</p> <p>The <em>collision</em> keyword sets the style of collisions. The <em>slip</em> style means that the tangential component of the SRD particle momentum is preserved. Thus a force is imparted to a big particle, but no torque. The normal component of the new SRD velocity is sampled from a Gaussian distribution at temperature <em>Tsrd</em>.</p> <p>For the <em>noslip</em> style, both the normal and tangential components of the new SRD velocity are sampled from a Gaussian distribution at temperature <em>Tsrd</em>. Additionally, a new tangential direction for the SRD velocity is chosen randomly. This collision style imparts torque to a big particle. Thus a time integrator <a class="reference internal" href="fix.html"><em>fix</em></a> that rotates the big particles appropriately should be used.</p> <hr class="docutils" /> <p>The <em>overlap</em> keyword should be set to <em>yes</em> if two (or more) big particles can ever overlap. This depends on the pair potential interaction used for big-big interactions, or could be the case if multiple big particles are held together as rigid bodies via the <a class="reference internal" href="fix_rigid.html"><em>fix rigid</em></a> command. If the <em>overlap</em> keyword is <em>no</em> and big particles do in fact overlap, then SRD/big collisions can generate an error if an SRD ends up inside two (or more) big particles at once. How this error is treated is determined by the <em>inside</em> keyword. Running with <em>overlap</em> set to <em>no</em> allows for faster collision checking, so it should only be set to <em>yes</em> if needed.</p> <p>The <em>inside</em> keyword determines how a collision is treated if the computation determines that the timestep started with the SRD particle already inside a big particle. If the setting is <em>error</em> then this generates an error message and LAMMPS stops. If the setting is <em>warn</em> then this generates a warning message and the code continues. If the setting is <em>ignore</em> then no message is generated. One of the output quantities logged by the fix (see below) tallies the number of such events, so it can be monitored. Note that once an SRD particle is inside a big particle, it may remain there for several steps until it drifts outside the big particle.</p> <p>The <em>exact</em> keyword determines how accurately collisions are computed. A setting of <em>yes</em> computes the time and position of each collision as SRD and big particles move together. A setting of <em>no</em> estimates the position of each collision based on the end-of-timestep positions of the SRD and big particle. If <em>overlap</em> is set to yes, the setting of the <em>exact</em> keyword is ignored since time-accurate collisions are needed.</p> <p>The <em>radius</em> keyword scales the effective size of big particles. If big particles will overlap as they undergo dynamics, then this keyword can be used to scale down their effective collision radius by an amount <em>rfactor</em>, so that SRD particle will only collide with one big particle at a time. For example, in a Lennard-Jones system at a temperature of 1.0 (in reduced LJ units), the minimum separation bewteen two big particles is as small as about 0.88 sigma. Thus an <em>rfactor</em> value of 0.85 should prevent dual collisions.</p> <p>The <em>bounce</em> keyword can be used to limit the maximum number of collisions an SRD particle undergoes in a single timestep as it bounces between nearby big particles. Note that if the limit is reached, the SRD can be left inside a big particle. A setting of 0 is the same as no limit.</p> <hr class="docutils" /> <p>There are 2 kinds of bins created and maintained when running an SRD simulation. The first are “SRD bins” which are used to bin SRD particles and reset their velocities, as discussed above. The second are “search bins” which are used to identify SRD/big particle collisions.</p> <p>The <em>search</em> keyword can be used to choose a search bin size for identifying SRD/big particle collisions. The default is to use the <em>hgrid</em> parameter for SRD bins as the search bin size. Choosing a smaller or large value may be more efficient, depending on the problem. But, in a statistical sense, it should not change the simulation results.</p> <p>The <em>cubic</em> keyword can be used to generate an error or warning when the bin size chosen by LAMMPS creates SRD bins that are non-cubic or different than the requested value of <em>hgrid</em> by a specified <em>tolerance</em>. Note that using non-cubic SRD bins can lead to undetermined behavior when rotating the velocities of SRD particles, hence LAMMPS tries to protect you from this problem.</p> <p>LAMMPS attempts to set the SRD bin size to exactly <em>hgrid</em>. However, there must be an integer number of bins in each dimension of the simulation box. Thus the actual bin size will depend on the size and shape of the overall simulation box. The actual bin size is printed as part of the SRD output when a simulation begins.</p> <p>If the actual bin size in non-cubic by an amount exceeding the tolerance, an error or warning is printed, depending on the style of the <em>cubic</em> keyword. Likewise, if the actual bin size differs from the requested <em>hgrid</em> value by an amount exceeding the tolerance, then an error or warning is printed. The <em>tolerance</em> is a fractional difference. E.g. a tolerance setting of 0.01 on the shape means that if the ratio of any 2 bin dimensions exceeds (1 +/- tolerance) then an error or warning is generated. Similarly, if the ratio of any bin dimension with <em>hgrid</em> exceeds (1 +/- tolerance), then an error or warning is generated.</p> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">The fix srd command can be used with simluations the size and/or shape of the simulation box changes. This can be due to non-periodic boundary conditions or the use of fixes such as the <a class="reference internal" href="fix_deform.html"><em>fix deform</em></a> or <a class="reference internal" href="fix_wall_srd.html"><em>fix wall/srd</em></a> commands to impose a shear on an SRD fluid or an interaction with an external wall. If the box size changes then the size of SRD bins must be recalculated every reneighboring. This is not necessary if only the box shape changes. This re-binning is always done so as to fit an integer number of bins in the current box dimension, whether it be a fixed, shrink-wrapped, or periodic boundary, as set by the <a class="reference internal" href="boundary.html"><em>boundary</em></a> command. If the box size or shape changes, then the size of the search bins must be recalculated avery reneighboring. Note that changing the SRD bin size may alter the properties of the SRD fluid, such as its viscosity.</p> </div> <p>The <em>shift</em> keyword determines whether the coordinates of SRD particles are randomly shifted when binned for purposes of rotating their velocities. When no shifting is performed, SRD particles are binned and the velocity distribution of the set of SRD particles in each bin is adjusted via a rotation operator. This is a statistically valid operation if SRD particles move sufficiently far between successive rotations. This is determined by their mean-free path lamda. If lamda is less than 0.6 of the SRD bin size, then shifting is required. A shift means that all of the SRD particles are shifted by a vector whose coordinates are chosen randomly in the range [-1/2 bin size, 1/2 bin size]. Note that all particles are shifted by the same vector. The specified random number <em>shiftseed</em> is used to generate these vectors. This operation sufficiently randomizes which SRD particles are in the same bin, even if lamda is small.</p> <p>If the <em>shift</em> flag is set to <em>no</em>, then no shifting is performed, but bin data will be communicated if bins overlap processor boundaries. An error will be generated if lamda < 0.6 of the SRD bin size. If the <em>shift</em> flag is set to <em>possible</em>, then shifting is performed only if lamda < 0.6 of the SRD bin size. A warning is generated to let you know this is occurring. If the <em>shift</em> flag is set to <em>yes</em> then shifting is performed regardless of the magnitude of lamda. Note that the <em>shiftseed</em> is not used if the <em>shift</em> flag is set to <em>no</em>, but must still be specified.</p> <p>Note that shifting of SRD coordinates requires extra communication, hence it should not normally be enabled unless required.</p> <p>The <em>tstat</em> keyword will thermostat the SRD particles to the specified <em>Tsrd</em>. This is done every N timesteps, during the velocity rotation operation, by rescaling the thermal velocity of particles in each SRD bin to the desired temperature. If there is a streaming velocity associated with the system, e.g. due to use of the <a class="reference internal" href="fix_deform.html"><em>fix deform</em></a> command to perform a simulation undergoing shear, then that is also accounted for. The mean velocity of each bin of SRD particles is set to the position-dependent streaming velocity, based on the coordinates of the center of the SRD bin. Note that collisions of SRD particles with big particles or walls has a thermostatting effect on the colliding particles, so it may not be necessary to thermostat the SRD particles on a bin by bin basis in that case. Also note that for streaming simulations, if no thermostatting is performed (the default), then it may take a long time for the SRD fluid to come to equilibrium with a velocity profile that matches the simulation box deformation.</p> <p>The <em>rescale</em> keyword enables rescaling of an SRD particle’s velocity if it would travel more than 4 mean-free paths in an SRD timestep. If an SRD particle exceeds this velocity it is possible it will be lost when migrating to other processors or that collisions with big particles will be missed, either of which will generate errors. Thus the safest mode is to run with rescaling enabled. However rescaling removes kinetic energy from the system (the particle’s velocity is reduced). The latter will not typically be a problem if thermostatting is enabled via the <em>tstat</em> keyword or if SRD collisions with big particles or walls effectively thermostat the system. If you wish to turn off rescaling (on is the default), e.g. for a pure SRD system with no thermostatting so that the temperature does not decline over time, the <em>rescale</em> keyword can be used. The <em>no</em> value turns rescaling off during collisions and the per-bin velocity rotation operation. The <em>collide</em> and <em>rotate</em> values turn it on for one of the operations and off for the other.</p> <hr class="docutils" /> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">This fix is normally used for simulations with a huge number of SRD particles relative to the number of big particles, e.g. 100 to 1. In this scenario, computations that involve only big particles (neighbor list creation, communication, time integration) can slow down dramatically due to the large number of background SRD particles.</p> </div> <p>Three other input script commands will largely overcome this effect, speeding up an SRD simulation by a significant amount. These are the <a class="reference internal" href="atom_modify.html"><em>atom_modify first</em></a>, <a class="reference internal" href="neigh_modify.html"><em>neigh_modify include</em></a>, and <a class="reference internal" href="comm_modify.html"><em>comm_modify group</em></a> commands. Each takes a group-ID as an argument, which in this case should be the group-ID of the big solute particles.</p> <p>Additionally, when a <a class="reference internal" href="pair_style.html"><em>pair_style</em></a> for big/big particle interactions is specified, the <a class="reference internal" href="pair_coeff.html"><em>pair_coeff</em></a> command should be used to turn off big/SRD interactions, e.g. by setting their epsilon or cutoff length to 0.0.</p> <p>The “delete_atoms overlap” command may be useful in setting up an SRD simulation to insure there are no initial overlaps between big and SRD particles.</p> </div> <hr class="docutils" /> <div class="section" id="restart-fix-modify-output-run-start-stop-minimize-info"> <h2>Restart, fix_modify, output, run start/stop, minimize info<a class="headerlink" href="#restart-fix-modify-output-run-start-stop-minimize-info" title="Permalink to this headline">¶</a></h2> <p>No information about this fix is written to <a class="reference internal" href="restart.html"><em>binary restart files</em></a>. None of the <a class="reference internal" href="fix_modify.html"><em>fix_modify</em></a> options are relevant to this fix.</p> <p>This fix tabulates several SRD statistics which are stored in a vector of length 12, which can be accessed by various <a class="reference internal" href="Section_howto.html#howto-15"><span>output commands</span></a>. The vector values calculated by this fix are “intensive”, meaning they do not scale with the size of the simulation. Technically, the first 8 do scale with the size of the simulation, but treating them as intensive means they are not scaled when printed as part of thermodyanmic output.</p> <p>These are the 12 quantities. All are values for the current timestep, except for quantity 5 and the last three, each of which are cummulative quantities since the beginning of the run.</p> <ul class="simple"> <li><ol class="first arabic"> <li># of SRD/big collision checks performed</li> </ol> </li> <li><ol class="first arabic" start="2"> <li># of SRDs which had a collision</li> </ol> </li> <li><ol class="first arabic" start="3"> <li># of SRD/big colllisions (including multiple bounces)</li> </ol> </li> <li><ol class="first arabic" start="4"> <li># of SRD particles inside a big particle</li> </ol> </li> <li><ol class="first arabic" start="5"> <li># of SRD particles whose velocity was rescaled to be < Vmax</li> </ol> </li> <li><ol class="first arabic" start="6"> <li># of bins for collision searching</li> </ol> </li> <li><ol class="first arabic" start="7"> <li># of bins for SRD velocity rotation</li> </ol> </li> <li><ol class="first arabic" start="8"> <li># of bins in which SRD temperature was computed</li> </ol> </li> <li><ol class="first arabic" start="9"> <li>SRD temperature</li> </ol> </li> <li><ol class="first arabic" start="10"> <li># of SRD particles which have undergone max # of bounces</li> </ol> </li> <li><ol class="first arabic" start="11"> <li>max # of bounces any SRD particle has had in a single step</li> </ol> </li> <li><ol class="first arabic" start="12"> <li># of reneighborings due to SRD particles moving too far</li> </ol> </li> </ul> <p>No parameter of this fix can be used with the <em>start/stop</em> keywords of the <a class="reference internal" href="run.html"><em>run</em></a> command. This fix is not invoked during <a class="reference internal" href="minimize.html"><em>energy minimization</em></a>.</p> </div> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <p>This command can only be used if LAMMPS was built with the SRD package. See the <a class="reference internal" href="Section_start.html#start-3"><span>Making LAMMPS</span></a> section for more info on packages.</p> </div> <div class="section" id="related-commands"> <h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2> <p><a class="reference internal" href="fix_wall_srd.html"><em>fix wall/srd</em></a></p> </div> <div class="section" id="default"> <h2>Default<a class="headerlink" href="#default" title="Permalink to this headline">¶</a></h2> <p>The option defaults are lamda inferred from Tsrd, collision = noslip, overlap = no, inside = error, exact = yes, radius = 1.0, bounce = 0, search = hgrid, cubic = error 0.01, shift = no, tstat = no, and rescale = yes.</p> <hr class="docutils" /> <p id="hecht"><strong>(Hecht)</strong> Hecht, Harting, Ihle, Herrmann, Phys Rev E, 72, 011408 (2005).</p> <p id="petersen"><strong>(Petersen)</strong> Petersen, Lechman, Plimpton, Grest, in’ t Veld, Schunk, J Chem Phys, 132, 174106 (2010).</p> <p id="lechman"><strong>(Lechman)</strong> Lechman, et al, in preparation (2010).</p> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/fix_store_state.html b/doc/fix_store_state.html index 44defb160..c0754d723 100644 --- a/doc/fix_store_state.html +++ b/doc/fix_store_state.html @@ -1,316 +1,316 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>fix store/state command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>fix store/state command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="fix-store-state-command"> <span id="index-0"></span><h1>fix store/state command<a class="headerlink" href="#fix-store-state-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>fix ID group-ID store/state N input1 input2 ... keyword value ... </pre></div> </div> <ul class="simple"> <li>ID, group-ID are documented in <a class="reference internal" href="fix.html"><em>fix</em></a> command</li> <li>store/state = style name of this fix command</li> <li>N = store atom attributes every N steps, N = 0 for initial store only</li> <li>input = one or more atom attributes</li> </ul> <div class="highlight-python"><div class="highlight"><pre>possible attributes = id, mol, type, mass, - x, y, z, xs, ys, zs, xu, yu, zu, ix, iy, iz, - vx, vy, vz, fx, fy, fz, - q, mux, muy, muz, - radius, omegax, omegay, omegaz, - angmomx, angmomy, angmomz, tqx, tqy, tqz, - c_ID, c_ID[N], f_ID, f_ID[N], v_name, - d_name, i_name + x, y, z, xs, ys, zs, xu, yu, zu, ix, iy, iz, + vx, vy, vz, fx, fy, fz, + q, mux, muy, muz, + radius, omegax, omegay, omegaz, + angmomx, angmomy, angmomz, tqx, tqy, tqz, + c_ID, c_ID[N], f_ID, f_ID[N], v_name, + d_name, i_name </pre></div> </div> <div class="highlight-python"><div class="highlight"><pre>id = atom ID - mol = molecule ID - type = atom type - mass = atom mass - x,y,z = unscaled atom coordinates - xs,ys,zs = scaled atom coordinates - xu,yu,zu = unwrapped atom coordinates - ix,iy,iz = box image that the atom is in - vx,vy,vz = atom velocities - fx,fy,fz = forces on atoms - q = atom charge - mux,muy,muz = orientation of dipolar atom - radius = radius of spherical particle - omegax,omegay,omegaz = angular velocity of spherical particle - angmomx,angmomy,angmomz = angular momentum of aspherical particle - tqx,tqy,tqz = torque on finite-size particles - c_ID = per-atom vector calculated by a compute with ID - c_ID[I] = Ith column of per-atom array calculated by a compute with ID - f_ID = per-atom vector calculated by a fix with ID - f_ID[I] = Ith column of per-atom array calculated by a fix with ID - v_name = per-atom vector calculated by an atom-style variable with name - d_name = per-atom floating point vector name, managed by fix property/atom - i_name = per-atom integer vector name, managed by fix property/atom +mol = molecule ID +type = atom type +mass = atom mass +x,y,z = unscaled atom coordinates +xs,ys,zs = scaled atom coordinates +xu,yu,zu = unwrapped atom coordinates +ix,iy,iz = box image that the atom is in +vx,vy,vz = atom velocities +fx,fy,fz = forces on atoms +q = atom charge +mux,muy,muz = orientation of dipolar atom +radius = radius of spherical particle +omegax,omegay,omegaz = angular velocity of spherical particle +angmomx,angmomy,angmomz = angular momentum of aspherical particle +tqx,tqy,tqz = torque on finite-size particles +c_ID = per-atom vector calculated by a compute with ID +c_ID[I] = Ith column of per-atom array calculated by a compute with ID +f_ID = per-atom vector calculated by a fix with ID +f_ID[I] = Ith column of per-atom array calculated by a fix with ID +v_name = per-atom vector calculated by an atom-style variable with name +d_name = per-atom floating point vector name, managed by fix property/atom +i_name = per-atom integer vector name, managed by fix property/atom </pre></div> </div> <ul class="simple"> <li>zero or more keyword/value pairs may be appended</li> <li>keyword = <em>com</em></li> </ul> <pre class="literal-block"> <em>com</em> value = <em>yes</em> or <em>no</em> </pre> </div> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>fix 1 all store/state 0 x y z fix 1 all store/state 0 xu yu zu com yes fix 2 all store/state 1000 vx vy vz </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>Define a fix that stores attributes for each atom in the group at the time the fix is defined. If <em>N</em> is 0, then the values are never updated, so this is a way of archiving an atom attribute at a given time for future use in a calculation or output. See the discussion of <a class="reference internal" href="Section_howto.html#howto-15"><span>output commands</span></a> that take fixes as inputs. And see for example, the <a class="reference internal" href="compute_reduce.html"><em>compute reduce</em></a>, <a class="reference internal" href="fix_ave_atom.html"><em>fix ave/atom</em></a>, <a class="reference internal" href="fix_ave_histo.html"><em>fix ave/histo</em></a>, <a class="reference internal" href="fix_ave_spatial.html"><em>fix ave/spatial</em></a>, and <a class="reference internal" href="variable.html"><em>atom-style variable</em></a> commands.</p> <p>If <em>N</em> is not zero, then the attributes will be updated every <em>N</em> steps.</p> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">Actually, only atom attributes specified by keywords like <em>xu</em> or <em>vy</em> are initially stored immediately at the point in your input script when the fix is defined. Attributes specified by a compute, fix, or variable are not initially stored until the first run following the fix definition begins. This is because calculating those attributes may require quantities that are not defined in between runs.</p> </div> <p>The list of possible attributes is the same as that used by the <a class="reference internal" href="dump.html"><em>dump custom</em></a> command, which describes their meaning.</p> <p>If the <em>com</em> keyword is set to <em>yes</em> then the <em>xu</em>, <em>yu</em>, and <em>zu</em> inputs store the position of each atom relative to the center-of-mass of the group of atoms, instead of storing the absolute position. This option is used by the <a class="reference internal" href="compute_msd.html"><em>compute msd</em></a> command.</p> <p>The requested values are stored in a per-atom vector or array as discussed below. Zeroes are stored for atoms not in the specified group.</p> </div> <div class="section" id="restart-fix-modify-output-run-start-stop-minimize-info"> <h2>Restart, fix_modify, output, run start/stop, minimize info<a class="headerlink" href="#restart-fix-modify-output-run-start-stop-minimize-info" title="Permalink to this headline">¶</a></h2> <p>This fix writes the per-atom values it stores to <a class="reference internal" href="restart.html"><em>binary restart files</em></a>, so that the values can be restored when a simulation is restarted. See the <a class="reference internal" href="read_restart.html"><em>read_restart</em></a> command for info on how to re-specify a fix in an input script that reads a restart file, so that the operation of the fix continues in an uninterrupted fashion.</p> <p>None of the <a class="reference internal" href="fix_modify.html"><em>fix_modify</em></a> options are relevant to this fix.</p> <p>If a single input is specified, this fix produces a per-atom vector. If multiple inputs are specified, a per-atom array is produced where the number of columns for each atom is the number of inputs. These can be accessed by various <a class="reference internal" href="Section_howto.html#howto-15"><span>output commands</span></a>. The per-atom values be accessed on any timestep.</p> <p>No parameter of this fix can be used with the <em>start/stop</em> keywords of the <a class="reference internal" href="run.html"><em>run</em></a> command. This fix is not invoked during <a class="reference internal" href="minimize.html"><em>energy minimization</em></a>.</p> </div> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <blockquote> <div>none</div></blockquote> </div> <div class="section" id="related-commands"> <h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2> <p><a class="reference internal" href="dump.html"><em>dump custom</em></a>, <a class="reference internal" href="compute_property_atom.html"><em>compute property/atom</em></a>, <a class="reference internal" href="fix_property_atom.html"><em>fix property/atom</em></a>, <a class="reference internal" href="variable.html"><em>variable</em></a></p> </div> <div class="section" id="default"> <h2>Default<a class="headerlink" href="#default" title="Permalink to this headline">¶</a></h2> <p>The option default is com = no.</p> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/fix_tfmc.html b/doc/fix_tfmc.html index 38ae722f7..38d84ba4d 100644 --- a/doc/fix_tfmc.html +++ b/doc/fix_tfmc.html @@ -1,324 +1,324 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>fix tfmc command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>fix tfmc command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="fix-tfmc-command"> <span id="index-0"></span><h1>fix tfmc command<a class="headerlink" href="#fix-tfmc-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>fix ID group-ID tfmc Delta Temp seed keyword value </pre></div> </div> <ul class="simple"> <li>ID, group-ID are documented in <a class="reference internal" href="fix.html"><em>fix</em></a> command</li> <li>tfmc = style name of this fix command</li> <li>Delta = maximal displacement length (distance units)</li> <li>Temp = imposed temperature of the system</li> <li>seed = random number seed (positive integer)</li> <li>zero or more keyword/arg pairs may be appended</li> <li>keyword = <em>com</em> or <em>rot</em></li> </ul> <pre class="literal-block"> <em>com</em> args = xflag yflag zflag - xflag,yflag,zflag = 0/1 to exclude/include each dimension - <em>rot</em> args = none + xflag,yflag,zflag = 0/1 to exclude/include each dimension +<em>rot</em> args = none </pre> </div> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>fix 1 all tfmc 0.1 1000.0 159345 fix 1 all tfmc 0.05 600.0 658943 com 1 1 0 fix 1 all tfmc 0.1 750.0 387068 com 1 1 1 rot </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>Perform uniform-acceptance force-bias Monte Carlo (fbMC) simulations, using the time-stamped force-bias Monte Carlo (tfMC) algorithm described in <a class="reference internal" href="#mees"><span>(Mees)</span></a> and <a class="reference internal" href="#bal"><span>(Bal)</span></a>.</p> <p>One successful use case of force-bias Monte Carlo methods is that they can be used to extend the time scale of atomistic simulations, in particular when long time scale relaxation effects must be considered; some interesting examples are given in the review by <a class="reference internal" href="#neyts"><span>(Neyts)</span></a>. An example of a typical use case would be the modelling of chemical vapour deposition (CVD) processes on a surface, in which impacts by gas-phase species can be performed using MD, but subsequent relaxation of the surface is too slow to be done using MD only. Using tfMC can allow for a much faster relaxation of the surface, so that higher fluxes can be used, effectively extending the time scale of the simulation. (Such an alternating simulation approach could be set up using a <a class="reference internal" href="jump.html"><em>loop</em></a>.)</p> <p>The initial version of tfMC algorithm in <a class="reference internal" href="#mees"><span>(Mees)</span></a> contained an estimation of the effective time scale of such a simulation, but it was later shown that the speed-up one can gain from a tfMC simulation is system- and process-dependent, ranging from none to several orders of magnitude. In general, solid-state processes such as (re)crystallisation or growth can be accelerated by up to two or three orders of magnitude, whereas diffusion in the liquid phase is not accelerated at all. The observed pseudodynamics when using the tfMC method is not the actual dynamics one would obtain using MD, but the relative importance of processes can match the actual relative dynamics of the system quite well, provided <em>Delta</em> is chosen with care. Thus, the system’s equilibrium is reached faster than in MD, along a path that is generally roughly similar to a typical MD simulation (but not necessarily so). See <a class="reference internal" href="#bal"><span>(Bal)</span></a> for details.</p> <p>Each step, all atoms in the selected group are displaced using the stochastic tfMC algorithm, which is designed to sample the canonical (NVT) ensemble at the temperature <em>Temp</em>. Although tfMC is a Monte Carlo algorithm and thus strictly speaking does not perform time integration, it is similar in the sense that it uses the forces on all atoms in order to update their positions. Therefore, it is implemented as a time integration fix, and no other fixes of this type (such as <a class="reference internal" href="fix_nve.html"><em>fix nve</em></a>) should be used at the same time. Because velocities do not play a role in this kind of Monte Carlo simulations, instantaneous temperatures as calculated by <a class="reference internal" href="compute_temp.html"><em>temperature computes</em></a> or <a class="reference internal" href="thermo_style.html"><em>thermodynamic output</em></a> have no meaning: the only relevant temperature is the sampling temperature <em>Temp</em>. Similarly, performing tfMC simulations does not require setting a <a class="reference internal" href="timestep.html"><em>timestep</em></a> and the <a class="reference internal" href="thermo_style.html"><em>simulated time</em></a> as calculated by LAMMPS is meaningless.</p> <p>The critical parameter determining the success of a tfMC simulation is <em>Delta</em>, the maximal displacement length of the lightest element in the system: the larger it is, the longer the effective time scale of the simulation will be (there is an approximately quadratic dependence). However, <em>Delta</em> must also be chosen sufficiently small in order to comply with detailed balance; in general values between 5 and 10 % of the nearest neighbor distance are found to be a good choice. For a more extensive discussion with specific examples, please refer to <a class="reference internal" href="#bal"><span>(Bal)</span></a>, which also describes how the code calculates element-specific maximal displacements from <em>Delta</em>, based on the fourth root of their mass.</p> <p>Because of the uncorrelated movements of the atoms, the center-of-mass of the fix group will not necessarily be stationary, just like its orientation. When the <em>com</em> keyword is used, all atom positions will be shifted (after every tfMC iteration) in order to fix the position of the center-of-mass along the included directions, by setting the corresponding flag to 1. The <em>rot</em> keyword does the same for the rotational component of the tfMC displacements after every iteration.</p> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">the <em>com</em> and <em>rot</em> keywords should not be used if an external force is acting on the specified fix group, along the included directions. This can be either a true external force (e.g. through <a class="reference internal" href="fix_wall.html"><em>fix wall</em></a>) or forces due to the interaction with atoms not included in the fix group. This is because in such cases, translations or rotations of the fix group could be induced by these external forces, and removing them will lead to a violation of detailed balance.</p> </div> </div> <hr class="docutils" /> <div class="section" id="restart-fix-modify-output-run-start-stop-minimize-info"> <h2>Restart, fix_modify, output, run start/stop, minimize info<a class="headerlink" href="#restart-fix-modify-output-run-start-stop-minimize-info" title="Permalink to this headline">¶</a></h2> <p>No information about this fix is written to <a class="reference internal" href="restart.html"><em>binary restart files</em></a>.</p> <p>None of the <a class="reference internal" href="fix_modify.html"><em>fix_modify</em></a> options are relevant to this fix.</p> <p>This fix is not invoked during <a class="reference internal" href="minimize.html"><em>energy minimization</em></a>.</p> </div> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <p>This fix is part of the MC package. It is only enabled if LAMMPS was built with that package. See the <a class="reference internal" href="Section_start.html#start-3"><span>Making LAMMPS</span></a> section for more info.</p> <p>This fix is not compatible with <a class="reference internal" href="fix_shake.html"><em>fix shake</em></a>.</p> </div> <div class="section" id="related-commands"> <h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2> <p><a class="reference internal" href="fix_gcmc.html"><em>fix gcmc</em></a>, <a class="reference internal" href="fix_nh.html"><em>fix nvt</em></a></p> </div> <div class="section" id="default"> <h2>Default<a class="headerlink" href="#default" title="Permalink to this headline">¶</a></h2> <p>The option default is com = 0 0 0</p> <hr class="docutils" /> <p id="bal"><strong>(Bal)</strong> K. M Bal and E. C. Neyts, J. Chem. Phys. 141, 204104 (2014).</p> <p id="mees"><strong>(Mees)</strong> M. J. Mees, G. Pourtois, E. C. Neyts, B. J. Thijsse, and A. Stesmans, Phys. Rev. B 85, 134301 (2012).</p> <p id="neyts"><strong>(Neyts)</strong> E. C. Neyts and A. Bogaerts, Theor. Chem. Acc. 132, 1320 (2013).</p> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/fix_ti_rs.html b/doc/fix_ti_rs.html index 64bbf0f47..f86d03398 100644 --- a/doc/fix_ti_rs.html +++ b/doc/fix_ti_rs.html @@ -1,298 +1,298 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>fix ti/rs command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>fix ti/rs command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="fix-ti-rs-command"> <span id="index-0"></span><h1>fix ti/rs command<a class="headerlink" href="#fix-ti-rs-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>fix ID group-ID ti/rs lambda_initial lambda_final t_switch t_equil keyword value ... </pre></div> </div> <ul class="simple"> <li>ID, group-ID are documented in <a class="reference internal" href="fix.html"><em>fix</em></a> command</li> <li>ti/rs = style name of this fix command</li> <li>lambda_initial/lambda_final = initial/final values of the coupling parameter</li> <li>t_switch/t_equil = number of steps of the switching/equilibration procedure</li> <li>keyword = <em>function</em></li> </ul> <pre class="literal-block"> <em>function</em> value = function-ID - function-ID = ID of the switching function (1, 2 or 3) + function-ID = ID of the switching function (1, 2 or 3) </pre> <p><strong>Example:</strong></p> <div class="highlight-python"><div class="highlight"><pre>fix ref all ti/rs 50.0 2000 1000 fix vf vacancy ti/rs 10.0 70000 50000 function 2 </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>This fix allows you to compute the free energy temperature dependence by performing a thermodynamic integration procedure known as Reversible Scaling <a class="reference internal" href="#dekoning99"><span>(de Koning99,</span></a> <span class="xref std std-ref">de Koning00a)</span>. The thermodynamic integration is performed using the nonequilibrium method of Adiabatic Switching <a class="reference internal" href="fix_ti_spring.html#watanabe"><span>(Watanabe,</span></a> <a class="reference internal" href="fix_ti_spring.html#dekoning96"><span>de Koning96)</span></a>.</p> <p>The forces on the atoms are dynamically scaled during the simulation, the rescaling is done in the following manner:</p> <img alt="_images/fix_ti_rs_force.jpg" class="align-center" src="_images/fix_ti_rs_force.jpg" /> <p>where F_int is the total force on the atoms due to the interatomic potential and lambda is the coupling parameter of the thermodynamic integration.</p> <p>The fix acts as follows: during the first <em>t_equil</em> steps after the fix is defined the value of lambda is <em>lambda_initial</em> , this is the period to equilibrate the system in the lambda = <em>lambda_initial</em> state. After this the value of lambda changes continuously from <em>lambda_initial</em> to <em>lambda_final</em> according to the function defined using the keyword <em>function</em> (described below), this is done in <em>t_switch</em> steps. Then comes the second equilibration period of <em>t_equil</em> to equilibrate the system in the lambda = <em>lambda_final</em> state. After that the switching back to the lambda = <em>lambda_initial</em> state is done using <em>t_switch</em> timesteps and following the same switching function. After this period the value of lambda is kept equal to <em>lambda_initial</em> indefinitely or until a <a class="reference internal" href="unfix.html"><em>unfix</em></a> erase the fix.</p> <p>The description of thermodynamic integration in both directions is done in <a class="reference internal" href="#dekoning00b"><span>de Koning00b</span></a>, the main reason is to try to eliminate the dissipated heat due to the nonequilibrium process.</p> <p>The <em>function</em> keyword allows the use of three different switching rates. The option <em>1</em> results in a constant rescaling where the lambda parameter changes at a constant rate during the switching time according to the switching function</p> <img alt="_images/fix_ti_rs_function_1.jpg" class="align-center" src="_images/fix_ti_rs_function_1.jpg" /> <p>where tau is the scaled time variable t/t_switch. This switching function has the characteristic that the temperature scaling is faster at temperatures closer to the final temperature of the procedure. The option number <em>2</em> performs the switching at a rate defined by the following switching function</p> <img alt="_images/fix_ti_rs_function_2.jpg" class="align-center" src="_images/fix_ti_rs_function_2.jpg" /> <p>This switching function has the characteristic that the temperature scaling occurs at a constant rate during all the procedure. The option number <em>3</em> performs the switching at a rate defined by the following switching function</p> <img alt="_images/fix_ti_rs_function_3.jpg" class="align-center" src="_images/fix_ti_rs_function_3.jpg" /> <p>This switching function has the characteristic that the temperature scaling is faster at temperatures closer to the initial temperature of the procedure.</p> <p>An example script using this command is provided in the examples/USER/misc/ti directory.</p> </div> <div class="section" id="restart-fix-modify-output-run-start-stop-minimize-info"> <h2>Restart, fix_modify, output, run start/stop, minimize info<a class="headerlink" href="#restart-fix-modify-output-run-start-stop-minimize-info" title="Permalink to this headline">¶</a></h2> <p>No information about this fix is written to <a class="reference internal" href="restart.html"><em>binary restart files</em></a>.</p> <p>This fix computes a global vector quantitie which can be accessed by various <a class="reference internal" href="Section_howto.html#howto-15"><span>output commands</span></a>. The vector has 2 positions, the first one is the coupling parameter lambda and the second one is the time derivative of lambda. The scalar and vector values calculated by this fix are “extensive”.</p> <p>No parameter of this fix can be used with the <em>start/stop</em> keywords of the <a class="reference internal" href="run.html"><em>run</em></a> command.</p> <p>The forces due to this fix are imposed during an energy minimization, invoked by the <a class="reference internal" href="minimize.html"><em>minimize</em></a> command.</p> </div> <div class="section" id="related-commands"> <h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2> <p><a class="reference internal" href="fix_ti_spring.html"><em>fix ti/spring</em></a></p> </div> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <p>This command is part of the USER-MISC package. It is only enabled if LAMMPS was built with those packages. See the <a class="reference internal" href="Section_start.html#start-3"><span>Making LAMMPS</span></a> section for more info.</p> </div> <div class="section" id="default"> <h2>Default<a class="headerlink" href="#default" title="Permalink to this headline">¶</a></h2> <p>The keyword default is function = 1.</p> <hr class="docutils" /> <p id="dekoning99"><strong>(de Koning 99)</strong> M. de Koning, A. Antonelli and S. Yip, Phys Rev Lett, 83, 3973 (1999).</p> <p id="watanabe"><strong>(Watanabe)</strong> M. Watanabe and W. P. Reinhardt, Phys Rev Lett, 65, 3301 (1990).</p> <p id="dekoning96"><strong>(de Koning 96)</strong> M. de Koning and A. Antonelli, Phys Rev E, 53, 465 (1996).</p> <p id="dekoning00a"><strong>(de Koning 00a)</strong> M. de Koning, A. Antonelli and S. Yip, J Chem Phys, 115, 11025 (2000).</p> <p id="dekoning00b"><strong>(de Koning 00b)</strong> M. de Koning et al., Computing in Science & Engineering, 2, 88 (2000).</p> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/fix_ti_spring.html b/doc/fix_ti_spring.html index 22a08955e..327b4b8a7 100644 --- a/doc/fix_ti_spring.html +++ b/doc/fix_ti_spring.html @@ -1,322 +1,322 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>fix ti/spring command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>fix ti/spring command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="fix-ti-spring-command"> <span id="index-0"></span><h1>fix ti/spring command<a class="headerlink" href="#fix-ti-spring-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>fix ID group-ID ti/spring K t_switch t_equil keyword value ... </pre></div> </div> <ul class="simple"> <li>ID, group-ID are documented in <a class="reference internal" href="fix.html"><em>fix</em></a> command</li> <li>ti/spring = style name of this fix command</li> <li>K = spring constant (force/distance units)</li> <li>t_switch/t_equil = number of steps of the switching/equilibration procedure</li> <li>zero or more keyword/value pairs may be appended to args</li> <li>keyword = <em>function</em></li> </ul> <pre class="literal-block"> <em>function</em> value = function-ID - function-ID = ID of the switching function (1 or 2) + function-ID = ID of the switching function (1 or 2) </pre> <p><strong>Example:</strong></p> <div class="highlight-python"><div class="highlight"><pre>fix ref all ti/spring 50.0 2000 1000 function 2 </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>This fix allows you to compute the free energy of solids by performing a thermodynamic integration between the solid of interest and an Einstein crystal <a class="reference internal" href="#frenkel"><span>(Frenkel)</span></a>. The thermodynamic integration is performed using the nonequilibrium method of Adiabatic Switching <a class="reference internal" href="#watanabe"><span>(Watanabe,</span></a> <a class="reference internal" href="#dekoning96"><span>de Koning96)</span></a>.</p> <p>A spring force is applied independently to each atom in the group to tether it to its initial position. The initial position for each atom is its location at the time the fix command was issued. More details about the springs are available in <a class="reference internal" href="fix_spring_self.html"><em>fix spring/self</em></a>. The forces on the atoms are dynamically scaled during the simulation, the rescaling is done in the following manner:</p> <img alt="_images/fix_ti_spring_force.jpg" class="align-center" src="_images/fix_ti_spring_force.jpg" /> <p>where F_harm is the force due to the springs, F_solid is the total force on the atoms due to the interatomic potential and lambda is the coupling parameter of the thermodynamic integration.</p> <p>The fix acts as follows: during the first <em>t_equil</em> steps after the fix is defined the value of lambda is zero, this is the period to equilibrate the system in the lambda = 0 state. After this the value of lambda changes continuously from 0 to 1 according to the function defined using the keyword <em>function</em> (described below), this is done in <em>t_switch</em> steps. Then comes the second equilibration period of <em>t_equil</em> to equilibrate the system in the lambda = 1 state. After that the switching back to the lambda = 0 state is made using <em>t_switch</em> timesteps and following the same switching function. After this period the value of lambda is kept equal to zero and the fix has no action in the dynamics of the system anymore.</p> <p>The description of thermodynamic integration in both directions is done in <a class="reference internal" href="#dekoning97"><span>de Koning97</span></a>, the main reason is to try to eliminate the dissipated heat due to the nonequilibrium process.</p> <p>The <em>function</em> keyword allows the use of two different switching rates, the option <em>1</em> results in a constant rescaling where the lambda parameter changes at a constant rate during the switching time according to the switching function</p> <img alt="_images/fix_ti_spring_function_1.jpg" class="align-center" src="_images/fix_ti_spring_function_1.jpg" /> <p>where tau is the scaled time variable t/t_switch. The option number <em>2</em> performs the switching at a rate defined by the following switching function</p> <img alt="_images/fix_ti_spring_function_2.jpg" class="align-center" src="_images/fix_ti_spring_function_2.jpg" /> <p>This function has zero slope as lambda approaches its extreme values (0 and 1), according to (<a class="reference internal" href="#dekoning96"><span>de Koning96)</span></a> this results in smaller fluctuations on the integral to be computed on the thermodynamic integration.</p> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">It is importante to keep the center of mass fixed during the thermodynamic integration, a non-zero total velocity will result in divergencies during the integration due to the fact that the atoms are ‘attatched’ to its equilibrium positions by the Einstein crystal. Check the option <em>zero</em> of <a class="reference external" href="fix_langevin_html">fix langevin</a> and <a class="reference internal" href="velocity.html"><em>velocity</em></a>. The use of the Nose-Hoover thermostat (<code class="xref doc docutils literal"><span class="pre">fix</span> <span class="pre">nvt</span></code>) is NOT recommended due to its well documented issues with the canonical sampling of harmonic degrees of freedom (notice that the <em>chain</em> option will NOT solve this problem). The Langevin thermostat (<a class="reference external" href="fix_langevin.html"">fix langevin</a>) works fine.</p> </div> </div> <div class="section" id="restart-fix-modify-output-run-start-stop-minimize-info"> <h2>Restart, fix_modify, output, run start/stop, minimize info<a class="headerlink" href="#restart-fix-modify-output-run-start-stop-minimize-info" title="Permalink to this headline">¶</a></h2> <p>This fix writes the original coordinates of tethered atoms to <a class="reference internal" href="restart.html"><em>binary restart files</em></a>, so that the spring effect will be the same in a restarted simulation. See the <a class="reference internal" href="read_restart.html"><em>read restart</em></a> command for info on how to re-specify a fix in an input script that reads a restart file, so that the operation of the fix continues in an uninterrupted fashion.</p> <p>The <a class="reference internal" href="fix_modify.html"><em>fix modify</em></a> <em>energy</em> option is supported by this fix to add the energy stored in the per-atom springs to the system’s potential energy as part of <a class="reference internal" href="thermo_style.html"><em>thermodynamic output</em></a>.</p> <p>This fix computes a global scalar and a global vector quantities which can be accessed by various <a class="reference internal" href="Section_howto.html#howto-15"><span>output commands</span></a>. The scalar is an energy which is the sum of the spring energy for each atom, where the per-atom energy is 0.5 * K * r^2. The vector has 2 positions, the first one is the coupling parameter lambda and the second one is the time derivative of lambda. The scalar and vector values calculated by this fix are “extensive”.</p> <p>No parameter of this fix can be used with the <em>start/stop</em> keywords of the <a class="reference internal" href="run.html"><em>run</em></a> command.</p> <p>The forces due to this fix are imposed during an energy minimization, invoked by the <a class="reference internal" href="minimize.html"><em>minimize</em></a> command.</p> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">If you want the per-atom spring energy to be included in the total potential energy of the system (the quantity being minimized), you MUST enable the <a class="reference internal" href="fix_modify.html"><em>fix modify</em></a> <em>energy</em> option for this fix.</p> </div> <p>An example script using this command is provided in the examples/USER/misc/ti directory.</p> </div> <div class="section" id="related-commands"> <h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2> <p><a class="reference internal" href="fix_spring.html"><em>fix spring</em></a>, <a class="reference internal" href="fix_ti_rs.html"><em>fix ti/rs</em></a></p> </div> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <p>This command is part of the USER-MISC package. It is only enabled if LAMMPS was built with those packages. See the <a class="reference internal" href="Section_start.html#start-3"><span>Making LAMMPS</span></a> section for more info.</p> </div> <div class="section" id="default"> <h2>Default<a class="headerlink" href="#default" title="Permalink to this headline">¶</a></h2> <p>The keyword default is function = 1.</p> <hr class="docutils" /> <p id="frenkel"><strong>(Frenkel)</strong> Daan Frenkel and Anthony J. C. Ladd, J. Chem. Phys. 81, 3188 (1984).</p> <p id="watanabe"><strong>(Watanabe)</strong> M. Watanabe and W. P. Reinhardt, Phys Rev Lett, 65, 3301 (1990).</p> <p id="dekoning96"><strong>(de Koning 96)</strong> M. de Koning and A. Antonelli, Phys Rev E, 53, 465 (1996).</p> <p id="dekoning97"><strong>(de Koning 97)</strong> M. de Koning and A. Antonelli, Phys Rev B, 55, 735 (1997).</p> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/fix_ttm.html b/doc/fix_ttm.html index fcb4b3b52..45971a1ce 100644 --- a/doc/fix_ttm.html +++ b/doc/fix_ttm.html @@ -1,481 +1,481 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>fix ttm command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>fix ttm command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="fix-ttm-command"> <span id="index-0"></span><h1>fix ttm command<a class="headerlink" href="#fix-ttm-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="fix-ttm-mod-command"> <h1>fix ttm/mod command<a class="headerlink" href="#fix-ttm-mod-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>fix ID group-ID ttm seed C_e rho_e kappa_e gamma_p gamma_s v_0 Nx Ny Nz T_infile N T_outfile fix ID group-ID ttm/mod seed init_file Nx Ny Nz T_infile N T_outfile </pre></div> </div> <ul class="simple"> <li>ID, group-ID are documented in <a class="reference internal" href="fix.html"><em>fix</em></a> command</li> <li>style = <em>ttm</em> or <em>ttm_mod</em></li> <li>seed = random number seed to use for white noise (positive integer)</li> <li>remaining arguments for fix ttm:</li> </ul> <div class="highlight-python"><div class="highlight"><pre>C_e = electronic specific heat (energy/(electron*temperature) units) - rho_e = electronic density (electrons/volume units) - kappa_e = electronic thermal conductivity (energy/(time*distance*temperature) units) - gamma_p = friction coefficient due to electron-ion interactions (mass/time units) - gamma_s = friction coefficient due to electronic stopping (mass/time units) - v_0 = electronic stopping critical velocity (velocity units) - Nx = number of thermal solve grid points in the x-direction (positive integer) - Ny = number of thermal solve grid points in the y-direction (positive integer) - Nz = number of thermal solve grid points in the z-direction (positive integer) - T_infile = filename to read initial electronic temperature from - N = dump TTM temperatures every this many timesteps, 0 = no dump - T_outfile = filename to write TTM temperatures to (only needed if N > 0) +rho_e = electronic density (electrons/volume units) +kappa_e = electronic thermal conductivity (energy/(time*distance*temperature) units) +gamma_p = friction coefficient due to electron-ion interactions (mass/time units) +gamma_s = friction coefficient due to electronic stopping (mass/time units) +v_0 = electronic stopping critical velocity (velocity units) +Nx = number of thermal solve grid points in the x-direction (positive integer) +Ny = number of thermal solve grid points in the y-direction (positive integer) +Nz = number of thermal solve grid points in the z-direction (positive integer) +T_infile = filename to read initial electronic temperature from +N = dump TTM temperatures every this many timesteps, 0 = no dump +T_outfile = filename to write TTM temperatures to (only needed if N > 0) </pre></div> </div> <ul class="simple"> <li>remaining arguments for fix ttm/mod:</li> </ul> <div class="highlight-python"><div class="highlight"><pre>init_file = file with the parameters to TTM - Nx = number of thermal solve grid points in the x-direction (positive integer) - Ny = number of thermal solve grid points in the y-direction (positive integer) - Nz = number of thermal solve grid points in the z-direction (positive integer) - T_infile = filename to read initial electronic temperature from - N = dump TTM temperatures every this many timesteps, 0 = no dump - T_outfile = filename to write TTM temperatures to (only needed if N > 0) +Nx = number of thermal solve grid points in the x-direction (positive integer) +Ny = number of thermal solve grid points in the y-direction (positive integer) +Nz = number of thermal solve grid points in the z-direction (positive integer) +T_infile = filename to read initial electronic temperature from +N = dump TTM temperatures every this many timesteps, 0 = no dump +T_outfile = filename to write TTM temperatures to (only needed if N > 0) </pre></div> </div> </div> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>fix 2 all ttm 699489 1.0 1.0 10 0.1 0.0 2.0 1 12 1 initialTs 1000 T.out fix 2 all ttm 123456 1.0 1.0 1.0 1.0 1.0 5.0 5 5 5 Te.in 1 Te.out fix 2 all ttm/mod 34277 parameters.txt 5 5 5 T_init 10 T_out </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>Use a two-temperature model (TTM) to represent heat transfer through and between electronic and atomic subsystems. LAMMPS models the atomic subsystem as usual with a molecular dynamics model and the classical force field specified by the user, but the electronic subsystem is modeled as a continuum, or a background “gas”, on a regular grid. Energy can be transferred spatially within the grid representing the electrons. Energy can also be transferred between the electronic and the atomic subsystems. The algorithm underlying this fix was derived by D. M. Duffy and A. M. Rutherford and is discussed in two J Physics: Condensed Matter papers: <a class="reference internal" href="#duffy"><span>(Duffy)</span></a> and <a class="reference internal" href="#rutherford"><span>(Rutherford)</span></a>. They used this algorithm in cascade simulations where a primary knock-on atom (PKA) was initialized with a high velocity to simulate a radiation event.</p> <p>The description in this sub-section applies to both fix ttm and fix ttm/mod. Fix ttm/mod adds options to account for external heat sources (e.g. at a surface) and for specifying parameters that allow the electronic heat capacity to depend strongly on electronic temperature. It is more expensive computationally than fix ttm because it treats the thermal diffusion equation as non-linear. More details on fix ttm/mod are given below.</p> <p>Heat transfer between the electronic and atomic subsystems is carried out via an inhomogeneous Langevin thermostat. This thermostat differs from the regular Langevin thermostat (<a class="reference internal" href="fix_langevin.html"><em>fix langevin</em></a>) in three important ways. First, the Langevin thermostat is applied uniformly to all atoms in the user-specified group for a single target temperature, whereas the TTM fix applies Langevin thermostatting locally to atoms within the volumes represented by the user-specified grid points with a target temperature specific to that grid point. Second, the Langevin thermostat couples the temperature of the atoms to an infinite heat reservoir, whereas the heat reservoir for fix TTM is finite and represents the local electrons. Third, the TTM fix allows users to specify not just one friction coefficient, but rather two independent friction coefficients: one for the electron-ion interactions (<em>gamma_p</em>), and one for electron stopping (<em>gamma_s</em>).</p> <p>When the friction coefficient due to electron stopping, <em>gamma_s</em>, is non-zero, electron stopping effects are included for atoms moving faster than the electron stopping critical velocity, <em>v_0</em>. For further details about this algorithm, see <a class="reference internal" href="#duffy"><span>(Duffy)</span></a> and <a class="reference internal" href="#rutherford"><span>(Rutherford)</span></a>.</p> <p>Energy transport within the electronic subsystem is solved according to the heat diffusion equation with added source terms for heat transfer between the subsystems:</p> <img alt="_images/fix_ttm.jpg" class="align-center" src="_images/fix_ttm.jpg" /> <p>where C_e is the specific heat, rho_e is the density, kappa_e is the thermal conductivity, T is temperature, the “e” and “a” subscripts represent electronic and atomic subsystems respectively, g_p is the coupling constant for the electron-ion interaction, and g_s is the electron stopping coupling parameter. C_e, rho_e, and kappa_e are specified as parameters to the fix. The other quantities are derived. The form of the heat diffusion equation used here is almost the same as that in equation 6 of <a class="reference internal" href="#duffy"><span>(Duffy)</span></a>, with the exception that the electronic density is explicitly reprensented, rather than being part of the the specific heat parameter.</p> <p>Currently, fix ttm assumes that none of the user-supplied parameters will vary with temperature. Note that <a class="reference internal" href="#duffy"><span>(Duffy)</span></a> used a tanh() functional form for the temperature dependence of the electronic specific heat, but ignored temperature dependencies of any of the other parameters. See more discussion below for fix ttm/mod.</p> <p>These fixes require use of periodic boundary conditions and a 3D simulation. Periodic boundary conditions are also used in the heat equation solve for the electronic subsystem. This varies from the approach of <a class="reference internal" href="#rutherford"><span>(Rutherford)</span></a> where the atomic subsystem was embedded within a larger continuum representation of the electronic subsystem.</p> <p>The initial electronic temperature input file, <em>T_infile</em>, is a text file LAMMPS reads in with no header and with four numeric columns (ix,iy,iz,Temp) and with a number of rows equal to the number of user-specified grid points (Nx by Ny by Nz). The ix,iy,iz are node indices from 0 to nxnodes-1, etc. For example, the initial electronic temperatures on a 1 by 2 by 3 grid could be specified in a <em>T_infile</em> as follows:</p> <div class="highlight-python"><div class="highlight"><pre>0 0 0 1.0 0 0 1 1.0 0 0 2 1.0 0 1 0 2.0 0 1 1 2.0 0 1 2 2.0 </pre></div> </div> <p>where the electronic temperatures along the y=0 plane have been set to 1.0, and the electronic temperatures along the y=1 plane have been set to 2.0. The order of lines in this file is no important. If all the nodal values are not specified, LAMMPS will generate an error.</p> <p>The temperature output file, <em>T_oufile</em>, is created and written by this fix. Temperatures for both the electronic and atomic subsystems at every node and every N timesteps are output. If N is specified as zero, no output is generated, and no output filename is needed. The format of the output is as follows. One long line is written every output timestep. The timestep itself is given in the first column. The next Nx*Ny*Nz columns contain the temperatures for the atomic subsystem, and the final Nx*Ny*Nz columns contain the temperatures for the electronic subsystem. The ordering of the Nx*Ny*Nz columns is with the z index varing fastest, y the next fastest, and x the slowest.</p> <p>These fixes do not change the coordinates of their atoms; they only scales their velocities. Thus a time integration fix (e.g. <a class="reference internal" href="fix_nve.html"><em>fix nve</em></a>) should still be used to time integrate the affected atoms. The fixes should not normally be used on atoms that have their temperature controlled by another fix - e.g. <a class="reference internal" href="fix_nh.html"><em>fix nvt</em></a> or <a class="reference internal" href="fix_langevin.html"><em>fix langevin</em></a>.</p> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">The current implementations of these fixes create a copy of the electron grid that overlays the entire simulation domain, for each processor. Values on the grid are summed across all processors. Thus you should insure that this grid is not too large, else your simulation could incur high memory and communication costs.</p> </div> <hr class="docutils" /> <p><strong>Additional details for fix ttm/mod</strong></p> <p>Fix ttm/mod uses the heat diffusion equation with possible external heat sources (e.g. laser heating in ablation simulations):</p> <img alt="_images/fix_ttm_mod.jpg" class="align-center" src="_images/fix_ttm_mod.jpg" /> <p>where theta is the Heaviside step function, I_0 is the (absorbed) laser pulse intensity for ablation simulations, l_skin is the depth of skin-layer, and all other designations have the same meaning as in the former equation. The duration of the pulse is set by the parameter <em>tau</em> in the <em>init_file</em>.</p> <p>Fix ttm/mod also allows users to specify the dependencies of C_e and kappa_e on the electronic temperature. The specific heat is expressed as</p> <img alt="_images/fix_ttm_ce.jpg" class="align-center" src="_images/fix_ttm_ce.jpg" /> <p>where <em>X</em> = T_e/1000, and the thermal conductivity is defined as kappa_e = D_e*rho_e*C_e, where D_e is the thermal diffusion coefficient.</p> <p>Electronic pressure effects are included in the TTM model to account for the blast force acting on ions because of electronic pressure gradient (see <a class="reference internal" href="#chen"><span>(Chen)</span></a>, <a class="reference internal" href="#norman"><span>(Norman)</span></a>). The total force acting on an ion is:</p> <img alt="_images/fix_ttm_blast.jpg" class="align-center" src="_images/fix_ttm_blast.jpg" /> <p>where F_langevin is a force from Langevin thermostat simulating electron-phonon coupling, and nabla P_e/n_ion is the electron blast force.</p> <p>The electronic pressure is taken to be P_e = B*rho_e*C_e*T_e</p> <p>The current fix ttm/mod implementation allows TTM simulations with a vacuum. The vacuum region is defined as the grid cells with zero electronic temperature. The numerical scheme does not allow energy exchange with such cells. Since the material can expand to previously unoccupied region in some simulations, the vacuum border can be allowed to move. It is controlled by the <em>surface_movement</em> parameter in the <em>init_file</em>. If it is set to 1, then “vacuum” cells can be changed to “electron-filled” cells with the temperature <em>T_e_min</em> if atoms move into them (currently only implemented for the case of 1-dimensional motion of flat surface normal to the X axis). The initial borders of vacuum can be set in the <em>init_file</em> via <em>lsurface</em> and <em>rsurface</em> parameters. In this case, electronic pressure gradient is calculated as</p> <img alt="_images/fix_ttm_blast1.jpg" class="align-center" src="_images/fix_ttm_blast1.jpg" /> <p>where lambda is the electron mean free path (see <a class="reference internal" href="#norman"><span>(Norman)</span></a>, <a class="reference internal" href="#pisarev"><span>(Pisarev)</span></a>)</p> <p>The fix ttm/mod parameter file <em>init_file</em> has the following syntax/ Every line with the odd number is considered as a comment and ignored. The lines with the even numbers are treated as follows:</p> <div class="highlight-python"><div class="highlight"><pre>a_0, energy/(temperature*electron) units a_1, energy/(temperature^2*electron) units a_2, energy/(temperature^3*electron) units a_3, energy/(temperature^4*electron) units a_4, energy/(temperature^5*electron) units C_0, energy/(temperature*electron) units A, 1/temperature units rho_e, electrons/volume units D_e, length^2/time units gamma_p, mass/time units gamma_s, mass/time units v_0, length/time units I_0, energy/(time*length^2) units lsurface, electron grid units (positive integer) rsurface, electron grid units (positive integer) l_skin, length units tau, time units B, dimensionless lambda, length units n_ion, ions/volume units surface_movement: 0 to disable tracking of surface motion, 1 to enable T_e_min, temperature units </pre></div> </div> </div> <hr class="docutils" /> <div class="section" id="restart-fix-modify-output-run-start-stop-minimize-info"> <h2>Restart, fix_modify, output, run start/stop, minimize info<a class="headerlink" href="#restart-fix-modify-output-run-start-stop-minimize-info" title="Permalink to this headline">¶</a></h2> <p>These fixes write the state of the electronic subsystem and the energy exchange between the subsystems to <a class="reference internal" href="restart.html"><em>binary restart files</em></a>. See the <a class="reference internal" href="read_restart.html"><em>read_restart</em></a> command for info on how to re-specify a fix in an input script that reads a restart file, so that the operation of the fix continues in an uninterrupted fashion.</p> <p>Because the state of the random number generator is not saved in the restart files, this means you cannot do “exact” restarts with this fix, where the simulation continues on the same as if no restart had taken place. However, in a statistical sense, a restarted simulation should produce the same behavior.</p> <p>None of the <a class="reference internal" href="fix_modify.html"><em>fix_modify</em></a> options are relevant to these fixes.</p> <p>Both fixes compute 2 output quantities stored in a vector of length 2, which can be accessed by various <a class="reference internal" href="Section_howto.html#howto-15"><span>output commands</span></a>. The first quantity is the total energy of the electronic subsystem. The second quantity is the energy transferred from the electronic to the atomic subsystem on that timestep. Note that the velocity verlet integrator applies the fix ttm forces to the atomic subsystem as two half-step velocity updates: one on the current timestep and one on the subsequent timestep. Consequently, the change in the atomic subsystem energy is lagged by half a timestep relative to the change in the electronic subsystem energy. As a result of this, users may notice slight fluctuations in the sum of the atomic and electronic subsystem energies reported at the end of the timestep.</p> <p>The vector values calculated are “extensive”.</p> <p>No parameter of the fixes can be used with the <em>start/stop</em> keywords of the <a class="reference internal" href="run.html"><em>run</em></a> command. The fixes are not invoked during <a class="reference internal" href="minimize.html"><em>energy minimization</em></a>.</p> </div> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <p>Fix <em>ttm</em> is part of the MISC package. It is only enabled if LAMMPS was built with that package. Fix <em>ttm/mod</em> is part of the USER-MISC package. It is only enabled if LAMMPS was built with that package. See the <a class="reference internal" href="Section_start.html#start-3"><span>Making LAMMPS</span></a> section for more info.</p> <p>These fixes can only be used for 3d simulations and orthogonal simlulation boxes. You must also use periodic <a class="reference internal" href="boundary.html"><em>boundary</em></a> conditions.</p> </div> <div class="section" id="related-commands"> <h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2> <p><a class="reference internal" href="fix_langevin.html"><em>fix langevin</em></a>, <a class="reference internal" href="fix_dt_reset.html"><em>fix dt/reset</em></a></p> <p><strong>Default:</strong> none</p> <hr class="docutils" /> <p id="duffy"><strong>(Duffy)</strong> D M Duffy and A M Rutherford, J. Phys.: Condens. Matter, 19, 016207-016218 (2007).</p> <p id="rutherford"><strong>(Rutherford)</strong> A M Rutherford and D M Duffy, J. Phys.: Condens. Matter, 19, 496201-496210 (2007).</p> <p id="chen"><strong>(Chen)</strong> J Chen, D Tzou and J Beraun, Int. J. Heat Mass Transfer, 49, 307-316 (2006).</p> <p id="norman"><strong>(Norman)</strong> G E Norman, S V Starikov, V V Stegailov et al., Contrib. Plasma Phys., 53, 129-139 (2013).</p> <p id="pisarev"><strong>(Pisarev)</strong> V V Pisarev and S V Starikov, J. Phys.: Condens. Matter, 26, 475401 (2014).</p> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/fix_vector.html b/doc/fix_vector.html index 62dd1805b..e6be5371d 100644 --- a/doc/fix_vector.html +++ b/doc/fix_vector.html @@ -1,331 +1,331 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>fix vector command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>fix vector command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="fix-vector-command"> <span id="index-0"></span><h1>fix vector command<a class="headerlink" href="#fix-vector-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>fix ID group-ID vector Nevery value1 value2 ... </pre></div> </div> <ul class="simple"> <li>ID, group-ID are documented in <a class="reference internal" href="fix.html"><em>fix</em></a> command</li> <li>ave/time = style name of this fix command</li> <li>Nevery = use input values every this many timesteps</li> <li>one or more input values can be listed</li> <li>value = c_ID, c_ID[N], f_ID, f_ID[N], v_name</li> </ul> <div class="highlight-python"><div class="highlight"><pre>c_ID = global scalar calculated by a compute with ID - c_ID[I] = Ith component of global vector calculated by a compute with ID - f_ID = global scalar calculated by a fix with ID - f_ID[I] = Ith component of global vector calculated by a fix with ID - v_name = global value calculated by an equal-style variable with name +c_ID[I] = Ith component of global vector calculated by a compute with ID +f_ID = global scalar calculated by a fix with ID +f_ID[I] = Ith component of global vector calculated by a fix with ID +v_name = global value calculated by an equal-style variable with name </pre></div> </div> </div> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>fix 1 all vector 100 c_myTemp fix 1 all vector 5 c_myTemp v_integral </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>Use one or more global values as inputs every few timesteps, and simply store them. For a single specified value, the values are stored as a global vector of growing length. For multiple specified values, they are stored as rows in a global array, whose number of rows is growing. The resulting vector or array can be used by other <a class="reference internal" href="Section_howto.html#howto-15"><span>output commands</span></a>.</p> <p>One way to to use this command is to accumulate a vector that is time-integrated using the <a class="reference internal" href="variable.html"><em>variable trap()</em></a> function. For example the velocity auto-correlation function (VACF) can be time-integrated, to yield a diffusion coefficient, as follows:</p> <div class="highlight-python"><div class="highlight"><pre>compute 2 all vacf fix 5 all vector 1 c_2[4] variable diff equal dt*trap(f_5) thermo_style custom step v_diff </pre></div> </div> <p>The group specified with this command is ignored. However, note that specified values may represent calculations performed by computes and fixes which store their own “group” definitions.</p> <p>Each listed value can be the result of a <a class="reference internal" href="compute.html"><em>compute</em></a> or <a class="reference internal" href="fix.html"><em>fix</em></a> or the evaluation of an equal-style <a class="reference internal" href="variable.html"><em>variable</em></a>. In each case, the compute, fix, or variable must produce a global quantity, not a per-atom or local quantity. And the global quantity must be a scalar, not a vector or array.</p> <p><a class="reference internal" href="compute.html"><em>Computes</em></a> that produce global quantities are those which do not have the word <em>atom</em> in their style name. Only a few <a class="reference internal" href="fix.html"><em>fixes</em></a> produce global quantities. See the doc pages for individual fixes for info on which ones produce such values. <a class="reference internal" href="variable.html"><em>Variables</em></a> of style <em>equal</em> are the only ones that can be used with this fix. Variables of style <em>atom</em> cannot be used, since they produce per-atom values.</p> <p>The <em>Nevery</em> argument specifies on what timesteps the input values will be used in order to be stored. Only timesteps that are a multiple of <em>Nevery</em>, including timestep 0, will contribute values.</p> <p>Note that if you perform multiple runs, using the “pre no” option of the <a class="reference internal" href="run.html"><em>run</em></a> command to avoid initialization on subsequent runs, then you need to use the <em>stop</em> keyword with the first <a class="reference internal" href="run.html"><em>run</em></a> command with a timestep value that encompasses all the runs. This is so that the vector or array stored by this fix can be allocated to a sufficient size.</p> <hr class="docutils" /> <p>If a value begins with “<a href="#id1"><span class="problematic" id="id2">c_</span></a>”, a compute ID must follow which has been previously defined in the input script. If no bracketed term is appended, the global scalar calculated by the compute is used. If a bracketed term is appended, the Ith element of the global vector calculated by the compute is used.</p> <p>Note that there is a <a class="reference internal" href="compute_reduce.html"><em>compute reduce</em></a> command which can sum per-atom quantities into a global scalar or vector which can thus be accessed by fix vector. Or it can be a compute defined not in your input script, but by <a class="reference internal" href="thermo_style.html"><em>thermodynamic output</em></a> or other fixes such as <a class="reference internal" href="fix_nh.html"><em>fix nvt</em></a> or <a class="reference internal" href="fix_temp_rescale.html"><em>fix temp/rescale</em></a>. See the doc pages for these commands which give the IDs of these computes. Users can also write code for their own compute styles and <a class="reference internal" href="Section_modify.html"><em>add them to LAMMPS</em></a>.</p> <p>If a value begins with “<a href="#id3"><span class="problematic" id="id4">f_</span></a>”, a fix ID must follow which has been previously defined in the input script. If no bracketed term is appended, the global scalar calculated by the fix is used. If a bracketed term is appended, the Ith element of the global vector calculated by the fix is used.</p> <p>Note that some fixes only produce their values on certain timesteps, which must be compatible with <em>Nevery</em>, else an error will result. Users can also write code for their own fix styles and <a class="reference internal" href="Section_modify.html"><em>add them to LAMMPS</em></a>.</p> <p>If a value begins with “<a href="#id5"><span class="problematic" id="id6">v_</span></a>”, a variable name must follow which has been previously defined in the input script. Only equal-style variables can be referenced. See the <a class="reference internal" href="variable.html"><em>variable</em></a> command for details. Note that variables of style <em>equal</em> define a formula which can reference individual atom properties or thermodynamic keywords, or they can invoke other computes, fixes, or variables when they are evaluated, so this is a very general means of specifying quantities to be stored by fix vector.</p> </div> <hr class="docutils" /> <div class="section" id="restart-fix-modify-output-run-start-stop-minimize-info"> <h2>Restart, fix_modify, output, run start/stop, minimize info<a class="headerlink" href="#restart-fix-modify-output-run-start-stop-minimize-info" title="Permalink to this headline">¶</a></h2> <p>No information about this fix is written to <a class="reference internal" href="restart.html"><em>binary restart files</em></a>. None of the <a class="reference internal" href="fix_modify.html"><em>fix_modify</em></a> options are relevant to this fix.</p> <p>This fix produces a global vector or global array which can be accessed by various <a class="reference internal" href="Section_howto.html#howto-15"><span>output commands</span></a>. The values can only be accessed on timesteps that are multiples of <em>Nevery</em>.</p> <p>A vector is produced if only a single input value is specified. An array is produced if multiple input values are specified. The length of the vector or the number of rows in the array grows by 1 every <em>Nevery</em> timesteps.</p> <p>If the fix prouduces a vector, then the entire vector will be either “intensive” or “extensive”, depending on whether the values stored in the vector are “intensive” or “extensive”. If the fix produces an array, then all elements in the array must be the same, either “intensive” or “extensive”. If a compute or fix provides the value stored, then the compute or fix determines whether the value is intensive or extensive; see the doc page for that compute or fix for further info. Values produced by a variable are treated as intensive.</p> <p>This fix can allocate storage for stored values accumulated over multiple runs, using the <em>start</em> and <em>stop</em> keywords of the <a class="reference internal" href="run.html"><em>run</em></a> command. See the <a class="reference internal" href="run.html"><em>run</em></a> command for details of how to do this. If using the <a class="reference internal" href="run.html"><em>run pre no</em></a> command option, this is required to allow the fix to allocate sufficient storage for stored values.</p> <p>This fix is not invoked during <a class="reference internal" href="minimize.html"><em>energy minimization</em></a>.</p> </div> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <blockquote> <div>none</div></blockquote> </div> <div class="section" id="related-commands"> <h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2> <p><a class="reference internal" href="compute.html"><em>compute</em></a>, <a class="reference internal" href="variable.html"><em>variable</em></a></p> <p><strong>Default:</strong> none</p> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/fix_viscosity.html b/doc/fix_viscosity.html index 12a706717..8f0eab262 100644 --- a/doc/fix_viscosity.html +++ b/doc/fix_viscosity.html @@ -1,339 +1,339 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>fix viscosity command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>fix viscosity command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="fix-viscosity-command"> <span id="index-0"></span><h1>fix viscosity command<a class="headerlink" href="#fix-viscosity-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>fix ID group-ID viscosity N vdim pdim Nbin keyword value ... </pre></div> </div> <ul class="simple"> <li>ID, group-ID are documented in <a class="reference internal" href="fix.html"><em>fix</em></a> command</li> <li>viscosity = style name of this fix command</li> <li>N = perform momentum exchange every N steps</li> <li>vdim = <em>x</em> or <em>y</em> or <em>z</em> = which momentum component to exchange</li> <li>pdim = <em>x</em> or <em>y</em> or <em>z</em> = direction of momentum transfer</li> <li>Nbin = # of layers in pdim direction (must be even number)</li> <li>zero or more keyword/value pairs may be appended</li> <li>keyword = <em>swap</em> or <em>target</em></li> </ul> <pre class="literal-block"> <em>swap</em> value = Nswap = number of swaps to perform every N steps - <em>vtarget</em> value = V or INF = target velocity of swap partners (velocity units) +<em>vtarget</em> value = V or INF = target velocity of swap partners (velocity units) </pre> </div> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>fix 1 all viscosity 100 x z 20 fix 1 all viscosity 50 x z 20 swap 2 vtarget 1.5 </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>Use the Muller-Plathe algorithm described in <a class="reference internal" href="#muller-plathe"><span>this paper</span></a> to exchange momenta between two particles in different regions of the simulation box every N steps. This induces a shear velocity profile in the system. As described below this enables a viscosity of the fluid to be calculated. This algorithm is sometimes called a reverse non-equilibrium MD (reverse NEMD) approach to computing viscosity. This is because the usual NEMD approach is to impose a shear velocity profile on the system and measure the response via an off-diagonal component of the stress tensor, which is proportional to the momentum flux. In the Muller-Plathe method, the momentum flux is imposed, and the shear velocity profile is the system’s response.</p> <p>The simulation box is divided into <em>Nbin</em> layers in the <em>pdim</em> direction, where the layer 1 is at the low end of that dimension and the layer <em>Nbin</em> is at the high end. Every N steps, Nswap pairs of atoms are chosen in the following manner. Only atoms in the fix group are considered. Nswap atoms in layer 1 with positive velocity components in the <em>vdim</em> direction closest to the target value <em>V</em> are selected. Similarly, Nswap atoms in the “middle” layer (see below) with negative velocity components in the <em>vdim</em> direction closest to the negative of the target value <em>V</em> are selected. The two sets of Nswap atoms are paired up and their <em>vdim</em> momenta components are swapped within each pair. This resets their velocities, typically in opposite directions. Over time, this induces a shear velocity profile in the system which can be measured using commands such as the following, which writes the profile to the file tmp.profile:</p> <div class="highlight-python"><div class="highlight"><pre>fix f1 all ave/spatial 100 10 1000 z lower 0.05 vx & file tmp.profile units reduced </pre></div> </div> <p>Note that by default, Nswap = 1 and vtarget = INF, though this can be changed by the optional <em>swap</em> and <em>vtarget</em> keywords. When vtarget = INF, one or more atoms with the most positive and negative velocity components are selected. Setting these parameters appropriately, in conjunction with the swap rate N, allows the momentum flux rate to be adjusted across a wide range of values, and the momenta to be exchanged in large chunks or more smoothly.</p> <p>The “middle” layer for momenta swapping is defined as the <em>Nbin</em>/2 + 1 layer. Thus if <em>Nbin</em> = 20, the two swapping layers are 1 and 11. This should lead to a symmetric velocity profile since the two layers are separated by the same distance in both directions in a periodic sense. This is why <em>Nbin</em> is restricted to being an even number.</p> <p>As described below, the total momentum transferred by these velocity swaps is computed by the fix and can be output. Dividing this quantity by time and the cross-sectional area of the simulation box yields a momentum flux. The ratio of momentum flux to the slope of the shear velocity profile is proportional to the viscosity of the fluid, in appropriate units. See the <a class="reference internal" href="#muller-plathe"><span>Muller-Plathe paper</span></a> for details.</p> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">If your system is periodic in the direction of the momentum flux, then the flux is going in 2 directions. This means the effective momentum flux in one direction is reduced by a factor of 2. You will see this in the equations for viscosity in the Muller-Plathe paper. LAMMPS is simply tallying momentum which does not account for whether or not your system is periodic; you must use the value appropriately to yield a viscosity for your system.</p> </div> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">After equilibration, if the velocity profile you observe is not linear, then you are likely swapping momentum too frequently and are not in a regime of linear response. In this case you cannot accurately infer a viscosity and should try increasing the Nevery parameter.</p> </div> <p>An alternative method for calculating a viscosity is to run a NEMD simulation, as described in <a class="reference internal" href="Section_howto.html#howto-13"><span>Section_howto 13</span></a> of the manual. NEMD simulations deform the simmulation box via the <a class="reference internal" href="fix_deform.html"><em>fix deform</em></a> command. Thus they cannot be run on a charged system using a <a class="reference internal" href="kspace_style.html"><em>PPPM solver</em></a> since PPPM does not currently support non-orthogonal boxes. Using fix viscosity keeps the box orthogonal; thus it does not suffer from this limitation.</p> </div> <div class="section" id="restart-fix-modify-output-run-start-stop-minimize-info"> <h2>Restart, fix_modify, output, run start/stop, minimize info<a class="headerlink" href="#restart-fix-modify-output-run-start-stop-minimize-info" title="Permalink to this headline">¶</a></h2> <p>No information about this fix is written to <a class="reference internal" href="restart.html"><em>binary restart files</em></a>. None of the <a class="reference internal" href="fix_modify.html"><em>fix_modify</em></a> options are relevant to this fix.</p> <p>This fix computes a global scalar which can be accessed by various <a class="reference internal" href="Section_howto.html#howto-15"><span>output commands</span></a>. The scalar is the cummulative momentum transferred between the bottom and middle of the simulation box (in the <em>pdim</em> direction) is stored as a scalar quantity by this fix. This quantity is zeroed when the fix is defined and accumlates thereafter, once every N steps. The units of the quantity are momentum = mass*velocity. The scalar value calculated by this fix is “intensive”.</p> <p>No parameter of this fix can be used with the <em>start/stop</em> keywords of the <a class="reference internal" href="run.html"><em>run</em></a> command. This fix is not invoked during <a class="reference internal" href="minimize.html"><em>energy minimization</em></a>.</p> </div> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <p>This fix is part of the MISC package. It is only enabled if LAMMPS was built with that package. See the <a class="reference internal" href="Section_start.html#start-3"><span>Making LAMMPS</span></a> section for more info.</p> <p>Swaps conserve both momentum and kinetic energy, even if the masses of the swapped atoms are not equal. Thus you should not need to thermostat the system. If you do use a thermostat, you may want to apply it only to the non-swapped dimensions (other than <em>vdim</em>).</p> <p>LAMMPS does not check, but you should not use this fix to swap velocities of atoms that are in constrained molecules, e.g. via <a class="reference internal" href="fix_shake.html"><em>fix shake</em></a> or <a class="reference internal" href="fix_rigid.html"><em>fix rigid</em></a>. This is because application of the constraints will alter the amount of transferred momentum. You should, however, be able to use flexible molecules. See the <a class="reference internal" href="#maginn"><span>Maginn paper</span></a> for an example of using this algorithm in a computation of alcohol molecule properties.</p> <p>When running a simulation with large, massive particles or molecules in a background solvent, you may want to only exchange momenta bewteen solvent particles.</p> </div> <div class="section" id="related-commands"> <h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2> <p><a class="reference internal" href="fix_ave_spatial.html"><em>fix ave/spatial</em></a>, <a class="reference internal" href="fix_thermal_conductivity.html"><em>fix thermal/conductivity</em></a></p> </div> <div class="section" id="default"> <h2>Default<a class="headerlink" href="#default" title="Permalink to this headline">¶</a></h2> <p>The option defaults are swap = 1 and vtarget = INF.</p> <hr class="docutils" /> <p id="muller-plathe"><strong>(Muller-Plathe)</strong> Muller-Plathe, Phys Rev E, 59, 4894-4898 (1999).</p> <p id="maginn"><strong>(Maginn)</strong> Kelkar, Rafferty, Maginn, Siepmann, Fluid Phase Equilibria, 260, 218-231 (2007).</p> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/fix_wall.html b/doc/fix_wall.html index 153b9590b..8c04d166f 100644 --- a/doc/fix_wall.html +++ b/doc/fix_wall.html @@ -1,468 +1,468 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>fix wall/lj93 command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>fix wall/lj93 command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="fix-wall-lj93-command"> <span id="index-0"></span><h1>fix wall/lj93 command<a class="headerlink" href="#fix-wall-lj93-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="fix-wall-lj126-command"> <h1>fix wall/lj126 command<a class="headerlink" href="#fix-wall-lj126-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="fix-wall-lj1043-command"> <h1>fix wall/lj1043 command<a class="headerlink" href="#fix-wall-lj1043-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="fix-wall-colloid-command"> <h1>fix wall/colloid command<a class="headerlink" href="#fix-wall-colloid-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="fix-wall-harmonic-command"> <h1>fix wall/harmonic command<a class="headerlink" href="#fix-wall-harmonic-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>fix ID group-ID style face args ... keyword value ... </pre></div> </div> <ul class="simple"> <li>ID, group-ID are documented in <a class="reference internal" href="fix.html"><em>fix</em></a> command</li> <li>style = <em>wall/lj93</em> or <em>wall/lj126</em> or <em>wall/lj1043</em> or <em>wall/colloid</em> or <em>wall/harmonic</em></li> <li>one or more face/arg pairs may be appended</li> <li>face = <em>xlo</em> or <em>xhi</em> or <em>ylo</em> or <em>yhi</em> or <em>zlo</em> or <em>zhi</em></li> </ul> <pre class="literal-block"> args = coord epsilon sigma cutoff - coord = position of wall = EDGE or constant or variable - EDGE = current lo or hi edge of simulation box - constant = number like 0.0 or -30.0 (distance units) - variable = <a class="reference internal" href="variable.html"><em>equal-style variable</em></a> like v_x or v_wiggle - epsilon = strength factor for wall-particle interaction (energy or energy/distance^2 units) - epsilon can be a variable (see below) - sigma = size factor for wall-particle interaction (distance units) - sigma can be a variable (see below) - cutoff = distance from wall at which wall-particle interaction is cut off (distance units) + coord = position of wall = EDGE or constant or variable + EDGE = current lo or hi edge of simulation box + constant = number like 0.0 or -30.0 (distance units) + variable = <a class="reference internal" href="variable.html"><em>equal-style variable</em></a> like v_x or v_wiggle + epsilon = strength factor for wall-particle interaction (energy or energy/distance^2 units) + epsilon can be a variable (see below) + sigma = size factor for wall-particle interaction (distance units) + sigma can be a variable (see below) + cutoff = distance from wall at which wall-particle interaction is cut off (distance units) </pre> <ul class="simple"> <li>zero or more keyword/value pairs may be appended</li> <li>keyword = <em>units</em> or <em>fld</em></li> </ul> <pre class="literal-block"> <em>units</em> value = <em>lattice</em> or <em>box</em> - <em>lattice</em> = the wall position is defined in lattice units - <em>box</em> = the wall position is defined in simulation box units - <em>fld</em> value = <em>yes</em> or <em>no</em> - <em>yes</em> = invoke the wall constraint to be compatible with implicit FLD - <em>no</em> = invoke the wall constraint in the normal way - <em>pbc</em> value = <em>yes</em> or <em>no</em> - <em>yes</em> = allow periodic boundary in a wall dimension - <em>no</em> = require non-perioidic boundaries in any wall dimension + <em>lattice</em> = the wall position is defined in lattice units + <em>box</em> = the wall position is defined in simulation box units +<em>fld</em> value = <em>yes</em> or <em>no</em> + <em>yes</em> = invoke the wall constraint to be compatible with implicit FLD + <em>no</em> = invoke the wall constraint in the normal way +<em>pbc</em> value = <em>yes</em> or <em>no</em> + <em>yes</em> = allow periodic boundary in a wall dimension + <em>no</em> = require non-perioidic boundaries in any wall dimension </pre> </div> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>fix wallhi all wall/lj93 xlo -1.0 1.0 1.0 2.5 units box fix wallhi all wall/lj93 xhi EDGE 1.0 1.0 2.5 fix wallhi all wall/lj126 v_wiggle 23.2 1.0 1.0 2.5 fix zwalls all wall/colloid zlo 0.0 1.0 1.0 0.858 zhi 40.0 1.0 1.0 0.858 </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>Bound the simulation domain on one or more of its faces with a flat wall that interacts with the atoms in the group by generating a force on the atom in a direction perpendicular to the wall. The energy of wall-particle interactions depends on the style.</p> <p>For style <em>wall/lj93</em>, the energy E is given by the 9/3 potential:</p> <img alt="_images/fix_wall_lj93.jpg" class="align-center" src="_images/fix_wall_lj93.jpg" /> <p>For style <em>wall/lj126</em>, the energy E is given by the 12/6 potential:</p> <img alt="_images/pair_lj.jpg" class="align-center" src="_images/pair_lj.jpg" /> <p>For style <em>wall/lj1043</em>, the energy E is given by the 10/4/3 potential:</p> <img alt="_images/fix_wall_lj1043.jpg" class="align-center" src="_images/fix_wall_lj1043.jpg" /> <p>For style <em>wall/colloid</em>, the energy E is given by an integrated form of the <a class="reference internal" href="pair_colloid.html"><em>pair_style colloid</em></a> potential:</p> <img alt="_images/fix_wall_colloid.jpg" class="align-center" src="_images/fix_wall_colloid.jpg" /> <p>For style <em>wall/harmonic</em>, the energy E is given by a harmonic spring potential:</p> <img alt="_images/fix_wall_harmonic.jpg" class="align-center" src="_images/fix_wall_harmonic.jpg" /> <p>In all cases, <em>r</em> is the distance from the particle to the wall at position <em>coord</em>, and Rc is the <em>cutoff</em> distance at which the particle and wall no longer interact. The energy of the wall potential is shifted so that the wall-particle interaction energy is 0.0 at the cutoff distance.</p> <p>Up to 6 walls or faces can be specified in a single command: <em>xlo</em>, <em>xhi</em>, <em>ylo</em>, <em>yhi</em>, <em>zlo</em>, <em>zhi</em>. A <em>lo</em> face interacts with particles near the lower side of the simulation box in that dimension. A <em>hi</em> face interacts with particles near the upper side of the simulation box in that dimension.</p> <p>The position of each wall can be specified in one of 3 ways: as the EDGE of the simulation box, as a constant value, or as a variable. If EDGE is used, then the corresponding boundary of the current simulation box is used. If a numeric constant is specified then the wall is placed at that position in the appropriate dimension (x, y, or z). In both the EDGE and constant cases, the wall will never move. If the wall position is a variable, it should be specified as v_name, where name is an <a class="reference internal" href="variable.html"><em>equal-style variable</em></a> name. In this case the variable is evaluated each timestep and the result becomes the current position of the reflecting wall. Equal-style variables can specify formulas with various mathematical functions, and include <a class="reference internal" href="thermo_style.html"><em>thermo_style</em></a> command keywords for the simulation box parameters and timestep and elapsed time. Thus it is easy to specify a time-dependent wall position. See examples below.</p> <p>For the <em>wall/lj93</em> and <em>wall/lj126</em> and <em>wall/lj1043</em> styles, <em>epsilon</em> and <em>sigma</em> are the usual Lennard-Jones parameters, which determine the strength and size of the particle as it interacts with the wall. Epsilon has energy units. Note that this <em>epsilon</em> and <em>sigma</em> may be different than any <em>epsilon</em> or <em>sigma</em> values defined for a pair style that computes particle-particle interactions.</p> <p>The <em>wall/lj93</em> interaction is derived by integrating over a 3d half-lattice of Lennard-Jones 12/6 particles. The <em>wall/lj126</em> interaction is effectively a harder, more repulsive wall interaction. The <em>wall/lj1043</em> interaction is yet a different form of wall interaction, described in Magda et al in <a class="reference internal" href="#magda"><span>(Magda)</span></a>.</p> <p>For the <em>wall/colloid</em> style, <em>R</em> is the radius of the colloid particle, <em>D</em> is the distance from the surface of the colloid particle to the wall (r-R), and <em>sigma</em> is the size of a constituent LJ particle inside the colloid particle and wall. Note that the cutoff distance Rc in this case is the distance from the colloid particle center to the wall. The prefactor <em>epsilon</em> can be thought of as an effective Hamaker constant with energy units for the strength of the colloid-wall interaction. More specifically, the <em>epsilon</em> pre-factor = 4 * pi^2 * rho_wall * rho_colloid * epsilon * sigma^6, where epsilon and sigma are the LJ parameters for the constituent LJ particles. Rho_wall and rho_colloid are the number density of the constituent particles, in the wall and colloid respectively, in units of 1/volume.</p> <p>The <em>wall/colloid</em> interaction is derived by integrating over constituent LJ particles of size <em>sigma</em> within the colloid particle and a 3d half-lattice of Lennard-Jones 12/6 particles of size <em>sigma</em> in the wall. As mentioned in the preceeding paragraph, the density of particles in the wall and colloid can be different, as specified by the <em>epsilon</em> pre-factor.</p> <p>For the <em>wall/harmonic</em> style, <em>epsilon</em> is effectively the spring constant K, and has units (energy/distance^2). The input parameter <em>sigma</em> is ignored. The minimum energy position of the harmonic spring is at the <em>cutoff</em>. This is a repulsive-only spring since the interaction is truncated at the <em>cutoff</em></p> <p>For any wall, the <em>epsilon</em> and/or <em>sigma</em> parameter can be specified as an <a class="reference internal" href="variable.html"><em>equal-style variable</em></a>, in which case it should be specified as v_name, where name is the variable name. As with a variable wall position, the variable is evaluated each timestep and the result becomes the current epsilon or sigma of the wall. Equal-style variables can specify formulas with various mathematical functions, and include <a class="reference internal" href="thermo_style.html"><em>thermo_style</em></a> command keywords for the simulation box parameters and timestep and elapsed time. Thus it is easy to specify a time-dependent wall interaction.</p> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">For all of the styles, you must insure that r is always > 0 for all particles in the group, or LAMMPS will generate an error. This means you cannot start your simulation with particles at the wall position <em>coord</em> (r = 0) or with particles on the wrong side of the wall (r < 0). For the <em>wall/lj93</em> and <em>wall/lj126</em> styles, the energy of the wall/particle interaction (and hence the force on the particle) blows up as r -> 0. The <em>wall/colloid</em> style is even more restrictive, since the energy blows up as D = r-R -> 0. This means the finite-size particles of radius R must be a distance larger than R from the wall position <em>coord</em>. The <em>harmonic</em> style is a softer potential and does not blow up as r -> 0, but you must use a large enough <em>epsilon</em> that particles always reamin on the correct side of the wall (r > 0).</p> </div> <p>The <em>units</em> keyword determines the meaning of the distance units used to define a wall position, but only when a numeric constant or variable is used. It is not relevant when EDGE is used to specify a face position. In the variable case, the variable is assumed to produce a value compatible with the <em>units</em> setting you specify.</p> <p>A <em>box</em> value selects standard distance units as defined by the <a class="reference internal" href="units.html"><em>units</em></a> command, e.g. Angstroms for units = real or metal. A <em>lattice</em> value means the distance units are in lattice spacings. The <a class="reference internal" href="lattice.html"><em>lattice</em></a> command must have been previously used to define the lattice spacings.</p> <p>The <em>fld</em> keyword can be used with a <em>yes</em> setting to invoke the wall constraint before pairwise interactions are computed. This allows an implicit FLD model using <a class="reference internal" href="pair_lubricateU.html"><em>pair_style lubricateU</em></a> to include the wall force in its calculations. If the setting is <em>no</em>, wall forces are imposed after pairwise interactions, in the usual manner.</p> <p>The <em>pbc</em> keyword can be used with a <em>yes</em> setting to allow walls to be specified in a periodic dimension. See the <a class="reference internal" href="boundary.html"><em>boundary</em></a> command for options on simulation box boundaries. The default for <em>pbc</em> is <em>no</em>, which means the system must be non-periodic when using a wall. But you may wish to use a periodic box. E.g. to allow some particles to interact with the wall via the fix group-ID, and others to pass through it and wrap around a periodic box. In this case you should insure that the wall if sufficiently far enough away from the box boundary. If you do not, then particles may interact with both the wall and with periodic images on the other side of the box, which is probably not what you want.</p> <hr class="docutils" /> <p>Here are examples of variable definitions that move the wall position in a time-dependent fashion using equal-style <a class="reference internal" href="variable.html"><em>variables</em></a>. The wall interaction parameters (epsilon, sigma) could be varied with additional variable definitions.</p> <div class="highlight-python"><div class="highlight"><pre>variable ramp equal ramp(0,10) fix 1 all wall xlo v_ramp 1.0 1.0 2.5 </pre></div> </div> <div class="highlight-python"><div class="highlight"><pre>variable linear equal vdisplace(0,20) fix 1 all wall xlo v_linear 1.0 1.0 2.5 </pre></div> </div> <div class="highlight-python"><div class="highlight"><pre>variable wiggle equal swiggle(0.0,5.0,3.0) fix 1 all wall xlo v_wiggle 1.0 1.0 2.5 </pre></div> </div> <div class="highlight-python"><div class="highlight"><pre>variable wiggle equal cwiggle(0.0,5.0,3.0) fix 1 all wall xlo v_wiggle 1.0 1.0 2.5 </pre></div> </div> <p>The ramp(lo,hi) function adjusts the wall position linearly from lo to hi over the course of a run. The vdisplace(c0,velocity) function does something similar using the equation position = c0 + velocity*delta, where delta is the elapsed time.</p> <p>The swiggle(c0,A,period) function causes the wall position to oscillate sinusoidally according to this equation, where omega = 2 PI / period:</p> <div class="highlight-python"><div class="highlight"><pre>position = c0 + A sin(omega*delta) </pre></div> </div> <p>The cwiggle(c0,A,period) function causes the wall position to oscillate sinusoidally according to this equation, which will have an initial wall velocity of 0.0, and thus may impose a gentler perturbation on the particles:</p> <div class="highlight-python"><div class="highlight"><pre><span class="n">position</span> <span class="o">=</span> <span class="n">c0</span> <span class="o">+</span> <span class="n">A</span> <span class="p">(</span><span class="mi">1</span> <span class="o">-</span> <span class="n">cos</span><span class="p">(</span><span class="n">omega</span><span class="o">*</span><span class="n">delta</span><span class="p">))</span> </pre></div> </div> </div> <hr class="docutils" /> <div class="section" id="restart-fix-modify-output-run-start-stop-minimize-info"> <h2>Restart, fix_modify, output, run start/stop, minimize info<a class="headerlink" href="#restart-fix-modify-output-run-start-stop-minimize-info" title="Permalink to this headline">¶</a></h2> <p>No information about this fix is written to <a class="reference internal" href="restart.html"><em>binary restart files</em></a>.</p> <p>The <a class="reference internal" href="fix_modify.html"><em>fix_modify</em></a> <em>energy</em> option is supported by this fix to add the energy of interaction between atoms and each wall to the system’s potential energy as part of <a class="reference internal" href="thermo_style.html"><em>thermodynamic output</em></a>.</p> <p>This fix computes a global scalar energy and a global vector of forces, which can be accessed by various <a class="reference internal" href="Section_howto.html#howto-15"><span>output commands</span></a>. Note that the scalar energy is the sum of interactions with all defined walls. If you want the energy on a per-wall basis, you need to use multiple fix wall commands. The length of the vector is equal to the number of walls defined by the fix. Each vector value is the normal force on a specific wall. Note that an outward force on a wall will be a negative value for <em>lo</em> walls and a positive value for <em>hi</em> walls. The scalar and vector values calculated by this fix are “extensive”.</p> <p>No parameter of this fix can be used with the <em>start/stop</em> keywords of the <a class="reference internal" href="run.html"><em>run</em></a> command.</p> <p>The forces due to this fix are imposed during an energy minimization, invoked by the <a class="reference internal" href="minimize.html"><em>minimize</em></a> command.</p> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">If you want the atom/wall interaction energy to be included in the total potential energy of the system (the quantity being minimized), you MUST enable the <a class="reference internal" href="fix_modify.html"><em>fix_modify</em></a> <em>energy</em> option for this fix.</p> </div> </div> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <blockquote> <div>none</div></blockquote> </div> <div class="section" id="related-commands"> <h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2> <p><a class="reference internal" href="fix_wall_reflect.html"><em>fix wall/reflect</em></a>, <a class="reference internal" href="fix_wall_gran.html"><em>fix wall/gran</em></a>, <a class="reference internal" href="fix_wall_region.html"><em>fix wall/region</em></a></p> </div> <div class="section" id="default"> <h2>Default<a class="headerlink" href="#default" title="Permalink to this headline">¶</a></h2> <p>The option defaults units = lattice, fld = no, and pbc = no.</p> <hr class="docutils" /> <p id="magda"><strong>(Magda)</strong> Magda, Tirrell, Davis, J Chem Phys, 83, 1888-1901 (1985); erratum in JCP 84, 2901 (1986).</p> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/fix_wall_gran.html b/doc/fix_wall_gran.html index 3e30a6149..1216dd14a 100644 --- a/doc/fix_wall_gran.html +++ b/doc/fix_wall_gran.html @@ -1,340 +1,340 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>fix wall/gran command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>fix wall/gran command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="fix-wall-gran-command"> <span id="index-0"></span><h1>fix wall/gran command<a class="headerlink" href="#fix-wall-gran-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>fix ID group-ID wall/gran Kn Kt gamma_n gamma_t xmu dampflag wallstyle args keyword values ... </pre></div> </div> <ul class="simple"> <li>ID, group-ID are documented in <a class="reference internal" href="fix.html"><em>fix</em></a> command</li> <li>wall/gran = style name of this fix command</li> <li>Kn = elastic constant for normal particle repulsion (force/distance units or pressure units - see discussion below)</li> <li>Kt = elastic constant for tangential contact (force/distance units or pressure units - see discussion below)</li> <li>gamma_n = damping coefficient for collisions in normal direction (1/time units or 1/time-distance units - see discussion below)</li> <li>gamma_t = damping coefficient for collisions in tangential direction (1/time units or 1/time-distance units - see discussion below)</li> <li>xmu = static yield criterion (unitless value between 0.0 and 1.0e4)</li> <li>dampflag = 0 or 1 if tangential damping force is excluded or included</li> <li>wallstyle = <em>xplane</em> or <em>yplane</em> or <em>zplane</em> or <em>zcylinder</em></li> <li>args = list of arguments for a particular style</li> </ul> <pre class="literal-block"> <em>xplane</em> or <em>yplane</em> or <em>zplane</em> args = lo hi - lo,hi = position of lower and upper plane (distance units), either can be NULL) - <em>zcylinder</em> args = radius - radius = cylinder radius (distance units) + lo,hi = position of lower and upper plane (distance units), either can be NULL) +<em>zcylinder</em> args = radius + radius = cylinder radius (distance units) </pre> <ul class="simple"> <li>zero or more keyword/value pairs may be appended to args</li> <li>keyword = <em>wiggle</em> or <em>shear</em></li> </ul> <pre class="literal-block"> <em>wiggle</em> values = dim amplitude period - dim = <em>x</em> or <em>y</em> or <em>z</em> - amplitude = size of oscillation (distance units) - period = time of oscillation (time units) - <em>shear</em> values = dim vshear - dim = <em>x</em> or <em>y</em> or <em>z</em> - vshear = magnitude of shear velocity (velocity units) + dim = <em>x</em> or <em>y</em> or <em>z</em> + amplitude = size of oscillation (distance units) + period = time of oscillation (time units) +<em>shear</em> values = dim vshear + dim = <em>x</em> or <em>y</em> or <em>z</em> + vshear = magnitude of shear velocity (velocity units) </pre> </div> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>fix 1 all wall/gran 200000.0 NULL 50.0 NULL 0.5 0 xplane -10.0 10.0 fix 1 all wall/gran 200000.0 NULL 50.0 NULL 0.5 0 zplane 0.0 NULL fix 2 all wall/gran 100000.0 20000.0 50.0 30.0 0.5 1 zcylinder 15.0 wiggle z 3.0 2.0 </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>Bound the simulation domain of a granular system with a frictional wall. All particles in the group interact with the wall when they are close enough to touch it.</p> <p>The first set of parameters (Kn, Kt, gamma_n, gamma_t, xmu, and dampflag) have the same meaning as those specified with the <a class="reference internal" href="pair_gran.html"><em>pair_style granular</em></a> force fields. This means a NULL can be used for either Kt or gamma_t as described on that page. If a NULL is used for Kt, then a default value is used where Kt = 2/7 Kn. If a NULL is used for gamma_t, then a default value is used where gamma_t = 1/2 gamma_n.</p> <p>The nature of the wall/particle interactions are determined by which pair_style is used in your input script: <em>hooke</em>, <em>hooke/history</em>, or <em>hertz/history</em>. The equation for the force between the wall and particles touching it is the same as the corresponding equation on the <a class="reference internal" href="pair_gran.html"><em>pair_style granular</em></a> doc page, in the limit of one of the two particles going to infinite radius and mass (flat wall). I.e. delta = radius - r = overlap of particle with wall, m_eff = mass of particle, and sqrt(RiRj/Ri+Rj) becomes sqrt(radius of particle). The units for Kn, Kt, gamma_n, and gamma_t are as described on that doc page. The meaning of xmu and dampflag are also as described on that page. Note that you can choose different values for these 6 wall/particle coefficients than for particle/particle interactions, if you wish your wall to interact differently with the particles, e.g. if the wall is a different material.</p> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">As discussed on the doc page for <a class="reference internal" href="pair_gran.html"><em>pair_style granular</em></a>, versions of LAMMPS before 9Jan09 used a different equation for Hertzian interactions. This means Hertizian wall/particle interactions have also changed. They now include a sqrt(radius) term which was not present before. Also the previous versions used Kn and Kt from the pairwise interaction and hardwired dampflag to 1, rather than letting them be specified directly. This means you can set the values of the wall/particle coefficients appropriately in the current code to reproduce the results of a prevoius Hertzian monodisperse calculation. For example, for the common case of a monodisperse system with particles of diameter 1, Kn, Kt, gamma_n, and gamma_s should be set sqrt(2.0) larger than they were previously.</p> </div> <p>The <em>wallstyle</em> can be planar or cylindrical. The 3 planar options specify a pair of walls in a dimension. Wall positions are given by <em>lo</em> and <em>hi</em>. Either of the values can be specified as NULL if a single wall is desired. For a <em>zcylinder</em> wallstyle, the cylinder’s axis is at x = y = 0.0, and the radius of the cylinder is specified.</p> <p>Optionally, the wall can be moving, if the <em>wiggle</em> or <em>shear</em> keywords are appended. Both keywords cannot be used together.</p> <p>For the <em>wiggle</em> keyword, the wall oscillates sinusoidally, similar to the oscillations of particles which can be specified by the <a class="reference internal" href="fix_move.html"><em>fix_move</em></a> command. This is useful in packing simulations of granular particles. The arguments to the <em>wiggle</em> keyword specify a dimension for the motion, as well as it’s <em>amplitude</em> and <em>period</em>. Note that if the dimension is in the plane of the wall, this is effectively a shearing motion. If the dimension is perpendicular to the wall, it is more of a shaking motion. A <em>zcylinder</em> wall can only be wiggled in the z dimension.</p> <p>Each timestep, the position of a wiggled wall in the appropriate <em>dim</em> is set according to this equation:</p> <div class="highlight-python"><div class="highlight"><pre>position = coord + A - A cos (omega * delta) </pre></div> </div> <p>where <em>coord</em> is the specified initial position of the wall, <em>A</em> is the <em>amplitude</em>, <em>omega</em> is 2 PI / <em>period</em>, and <em>delta</em> is the time elapsed since the fix was specified. The velocity of the wall is set to the derivative of this expression.</p> <p>For the <em>shear</em> keyword, the wall moves continuously in the specified dimension with velocity <em>vshear</em>. The dimension must be tangential to walls with a planar <em>wallstyle</em>, e.g. in the <em>y</em> or <em>z</em> directions for an <em>xplane</em> wall. For <em>zcylinder</em> walls, a dimension of <em>z</em> means the cylinder is moving in the z-direction along it’s axis. A dimension of <em>x</em> or <em>y</em> means the cylinder is spinning around the z-axis, either in the clockwise direction for <em>vshear</em> > 0 or counter-clockwise for <em>vshear</em> < 0. In this case, <em>vshear</em> is the tangential velocity of the wall at whatever <em>radius</em> has been defined.</p> </div> <div class="section" id="restart-fix-modify-output-run-start-stop-minimize-info"> <h2>Restart, fix_modify, output, run start/stop, minimize info<a class="headerlink" href="#restart-fix-modify-output-run-start-stop-minimize-info" title="Permalink to this headline">¶</a></h2> <p>This fix writes the shear friction state of atoms interacting with the wall to <a class="reference internal" href="restart.html"><em>binary restart files</em></a>, so that a simulation can continue correctly if granular potentials with shear “history” effects are being used. See the <a class="reference internal" href="read_restart.html"><em>read_restart</em></a> command for info on how to re-specify a fix in an input script that reads a restart file, so that the operation of the fix continues in an uninterrupted fashion.</p> <p>None of the <a class="reference internal" href="fix_modify.html"><em>fix_modify</em></a> options are relevant to this fix. No global or per-atom quantities are stored by this fix for access by various <a class="reference internal" href="Section_howto.html#howto-15"><span>output commands</span></a>. No parameter of this fix can be used with the <em>start/stop</em> keywords of the <a class="reference internal" href="run.html"><em>run</em></a> command. This fix is not invoked during <a class="reference internal" href="minimize.html"><em>energy minimization</em></a>.</p> </div> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <p>This fix is part of the GRANULAR package. It is only enabled if LAMMPS was built with that package. See the <a class="reference internal" href="Section_start.html#start-3"><span>Making LAMMPS</span></a> section for more info.</p> <p>Any dimension (xyz) that has a granular wall must be non-periodic.</p> </div> <div class="section" id="related-commands"> <h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2> <p><a class="reference internal" href="fix_move.html"><em>fix_move</em></a>, <a class="reference internal" href="pair_gran.html"><em>pair_style granular</em></a></p> <p><strong>Default:</strong> none</p> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/fix_wall_piston.html b/doc/fix_wall_piston.html index ba0204f5e..463ced750 100644 --- a/doc/fix_wall_piston.html +++ b/doc/fix_wall_piston.html @@ -1,295 +1,295 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>fix wall/piston command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>fix wall/piston command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="fix-wall-piston-command"> <span id="index-0"></span><h1>fix wall/piston command<a class="headerlink" href="#fix-wall-piston-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>fix ID group-ID wall/piston face ... keyword value ... </pre></div> </div> <ul class="simple"> <li>ID, group-ID are documented in <a class="reference internal" href="fix.html"><em>fix</em></a> command</li> <li>wall/piston = style name of this fix command</li> <li>face = <em>zlo</em></li> <li>zero or more keyword/value pairs may be appended</li> <li>keyword = <em>pos</em> or <em>vel</em> or <em>ramp</em> or <em>units</em></li> </ul> <pre class="literal-block"> <em>pos</em> args = z - z = z coordinate at which the piston begins (distance units) - <em>vel</em> args = vz - vz = final velocity of the piston (velocity units) - <em>ramp</em> = use a linear velocity ramp from 0 to vz - <em>temp</em> args = target damp seed extent - target = target velocity for region immediately ahead of the piston - damp = damping paramter (time units) - seed = random number seed for langevin kicks - extent = extent of thermostated region (distance units) - <em>units</em> value = <em>lattice</em> or <em>box</em> - <em>lattice</em> = the wall position is defined in lattice units - <em>box</em> = the wall position is defined in simulation box units + z = z coordinate at which the piston begins (distance units) +<em>vel</em> args = vz + vz = final velocity of the piston (velocity units) +<em>ramp</em> = use a linear velocity ramp from 0 to vz +<em>temp</em> args = target damp seed extent + target = target velocity for region immediately ahead of the piston + damp = damping paramter (time units) + seed = random number seed for langevin kicks + extent = extent of thermostated region (distance units) +<em>units</em> value = <em>lattice</em> or <em>box</em> + <em>lattice</em> = the wall position is defined in lattice units + <em>box</em> = the wall position is defined in simulation box units </pre> </div> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>fix xwalls all wall/piston zlo fix walls all wall/piston zlo pos 1.0 vel 10.0 units box fix top all wall/piston zlo vel 10.0 ramp </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>Bound the simulation with a moving wall which reflect particles in the specified group and drive the system with an effective infinite-mass piston capable of driving shock waves.</p> <p>A momentum mirror technique is used, which means that if an atom (or the wall) moves such that an atom is outside the wall on a timestep by a distance delta (e.g. due to <a class="reference internal" href="fix_nve.html"><em>fix nve</em></a>), then it is put back inside the face by the same delta, and the velocity relative to the moving wall is flipped in z. For instance, a stationary particle hit with a piston wall with velocity vz, will end the timestep with a velocity of 2*vz.</p> <p>Currently the <em>face</em> keyword can only be <em>zlo</em>. This creates a piston moving in the positive z direction. Particles with z coordinate less than the wall position are reflected to a z coordinate greater than the wall position. If the piston velocity is vpz and the particle velocity before reflection is vzi, the particle velocity after reflection is -vzi + 2*vpz.</p> <p>The initial position of the wall can be specified by the <em>pos</em> keyword.</p> <p>The final velocity of the wall can be specified by the <em>vel</em> keyword</p> <p>The <em>ramp</em> keyword will cause the wall/piston to adjust the velocity linearly from zero velocity to <em>vel</em> over the course of the run. If the <em>ramp</em> keyword is omitted then the wall/piston moves at a constant velocity defined by <em>vel</em>.</p> <p>The <em>temp</em> keyword will cause the region immediately in front of the wall/piston to be thermostated with a Langevin thermostat. This region moves with the piston. The damping and kicking are measured in the reference frame of the piston. So, a temperature of zero would mean all particles were moving at exactly the speed of the wall/piston.</p> <p>The <em>units</em> keyword determines the meaning of the distance units used to define a wall position, but only when a numeric constant is used.</p> <p>A <em>box</em> value selects standard distance units as defined by the <a class="reference internal" href="units.html"><em>units</em></a> command, e.g. Angstroms for units = real or metal. A <em>lattice</em> value means the distance units are in lattice spacings. The <a class="reference internal" href="lattice.html"><em>lattice</em></a> command must have been previously used to define the lattice spacings.</p> </div> <hr class="docutils" /> <div class="section" id="restart-fix-modify-output-run-start-stop-minimize-info"> <h2>Restart, fix_modify, output, run start/stop, minimize info<a class="headerlink" href="#restart-fix-modify-output-run-start-stop-minimize-info" title="Permalink to this headline">¶</a></h2> <p>No information about this fix is written to <a class="reference internal" href="restart.html"><em>binary restart files</em></a>. None of the <a class="reference internal" href="fix_modify.html"><em>fix_modify</em></a> options are relevant to this fix. No global or per-atom quantities are stored by this fix for access by various <span class="xref std std-ref">output commands</span>. No parameter of this fix can be used with the <em>start/stop</em> keywords of the <a class="reference internal" href="run.html"><em>run</em></a> command. This fix is not invoked during <a class="reference internal" href="minimize.html"><em>energy minimization</em></a>.</p> </div> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <p>This fix style is part of the SHOCK package. It is only enabled if LAMMPS was built with that package. See the <a class="reference internal" href="Section_start.html#start-3"><span>Making LAMMPS</span></a> section for more info.</p> <p>The face that has the wall/piston must be boundary type ‘s’ (shrink-wrapped). The opposing face can be any boundary type other than periodic.</p> <p>A wall/piston should not be used with rigid bodies such as those defined by a “fix rigid” command. This is because the wall/piston displaces atoms directly rather than exerting a force on them.</p> </div> <div class="section" id="related-commands"> <h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2> <p><a class="reference internal" href="fix_wall.html"><em>fix wall/reflect</em></a> command, <a class="reference internal" href="fix_append_atoms.html"><em>fix append/atoms</em></a> command</p> </div> <div class="section" id="default"> <h2>Default<a class="headerlink" href="#default" title="Permalink to this headline">¶</a></h2> <p>The keyword defaults are pos = 0, vel = 0, units = lattice.</p> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/fix_wall_reflect.html b/doc/fix_wall_reflect.html index 6fecb8dc5..b8850e864 100644 --- a/doc/fix_wall_reflect.html +++ b/doc/fix_wall_reflect.html @@ -1,339 +1,339 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>fix wall/reflect command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>fix wall/reflect command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="fix-wall-reflect-command"> <span id="index-0"></span><h1>fix wall/reflect command<a class="headerlink" href="#fix-wall-reflect-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>fix ID group-ID wall/reflect face arg ... keyword value ... </pre></div> </div> <ul class="simple"> <li>ID, group-ID are documented in <a class="reference internal" href="fix.html"><em>fix</em></a> command</li> <li>wall/reflect = style name of this fix command</li> <li>one or more face/arg pairs may be appended</li> <li>face = <em>xlo</em> or <em>xhi</em> or <em>ylo</em> or <em>yhi</em> or <em>zlo</em> or <em>zhi</em></li> </ul> <pre class="literal-block"> <em>xlo</em>,*ylo*,*zlo* arg = EDGE or constant or variable - EDGE = current lo edge of simulation box - constant = number like 0.0 or -30.0 (distance units) - variable = <a class="reference internal" href="variable.html"><em>equal-style variable</em></a> like v_x or v_wiggle - <em>xhi</em>,*yhi*,*zhi* arg = EDGE or constant or variable - EDGE = current hi edge of simulation box - constant = number like 50.0 or 100.3 (distance units) - variable = <a class="reference internal" href="variable.html"><em>equal-style variable</em></a> like v_x or v_wiggle + EDGE = current lo edge of simulation box + constant = number like 0.0 or -30.0 (distance units) + variable = <a class="reference internal" href="variable.html"><em>equal-style variable</em></a> like v_x or v_wiggle +<em>xhi</em>,*yhi*,*zhi* arg = EDGE or constant or variable + EDGE = current hi edge of simulation box + constant = number like 50.0 or 100.3 (distance units) + variable = <a class="reference internal" href="variable.html"><em>equal-style variable</em></a> like v_x or v_wiggle </pre> <ul class="simple"> <li>zero or more keyword/value pairs may be appended</li> <li>keyword = <em>units</em></li> </ul> <pre class="literal-block"> <em>units</em> value = <em>lattice</em> or <em>box</em> - <em>lattice</em> = the wall position is defined in lattice units - <em>box</em> = the wall position is defined in simulation box units + <em>lattice</em> = the wall position is defined in lattice units + <em>box</em> = the wall position is defined in simulation box units </pre> </div> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>fix xwalls all wall/reflect xlo EDGE xhi EDGE fix walls all wall/reflect xlo 0.0 ylo 10.0 units box fix top all wall/reflect zhi v_pressdown </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>Bound the simulation with one or more walls which reflect particles in the specified group when they attempt to move thru them.</p> <p>Reflection means that if an atom moves outside the wall on a timestep by a distance delta (e.g. due to <a class="reference internal" href="fix_nve.html"><em>fix nve</em></a>), then it is put back inside the face by the same delta, and the sign of the corresponding component of its velocity is flipped.</p> <p>When used in conjunction with <a class="reference internal" href="fix_nve.html"><em>fix nve</em></a> and <a class="reference internal" href="run_style.html"><em>run_style verlet</em></a>, the resultant time-integration algorithm is equivalent to the primitive splitting algorithm (PSA) described by <a class="reference internal" href="#bond"><span>Bond</span></a>. Because each reflection event divides the corresponding timestep asymmetrically, energy conservation is only satisfied to O(dt), rather than to O(dt^2) as it would be for velocity-Verlet integration without reflective walls.</p> <p>Up to 6 walls or faces can be specified in a single command: <em>xlo</em>, <em>xhi</em>, <em>ylo</em>, <em>yhi</em>, <em>zlo</em>, <em>zhi</em>. A <em>lo</em> face reflects particles that move to a coordinate less than the wall position, back in the <em>hi</em> direction. A <em>hi</em> face reflects particles that move to a coordinate higher than the wall position, back in the <em>lo</em> direction.</p> <p>The position of each wall can be specified in one of 3 ways: as the EDGE of the simulation box, as a constant value, or as a variable. If EDGE is used, then the corresponding boundary of the current simulation box is used. If a numeric constant is specified then the wall is placed at that position in the appropriate dimension (x, y, or z). In both the EDGE and constant cases, the wall will never move. If the wall position is a variable, it should be specified as v_name, where name is an <a class="reference internal" href="variable.html"><em>equal-style variable</em></a> name. In this case the variable is evaluated each timestep and the result becomes the current position of the reflecting wall. Equal-style variables can specify formulas with various mathematical functions, and include <a class="reference internal" href="thermo_style.html"><em>thermo_style</em></a> command keywords for the simulation box parameters and timestep and elapsed time. Thus it is easy to specify a time-dependent wall position.</p> <p>The <em>units</em> keyword determines the meaning of the distance units used to define a wall position, but only when a numeric constant or variable is used. It is not relevant when EDGE is used to specify a face position. In the variable case, the variable is assumed to produce a value compatible with the <em>units</em> setting you specify.</p> <p>A <em>box</em> value selects standard distance units as defined by the <a class="reference internal" href="units.html"><em>units</em></a> command, e.g. Angstroms for units = real or metal. A <em>lattice</em> value means the distance units are in lattice spacings. The <a class="reference internal" href="lattice.html"><em>lattice</em></a> command must have been previously used to define the lattice spacings.</p> <hr class="docutils" /> <p>Here are examples of variable definitions that move the wall position in a time-dependent fashion using equal-style <a class="reference internal" href="variable.html"><em>variables</em></a>.</p> <div class="highlight-python"><div class="highlight"><pre>variable ramp equal ramp(0,10) fix 1 all wall/reflect xlo v_ramp </pre></div> </div> <div class="highlight-python"><div class="highlight"><pre>variable linear equal vdisplace(0,20) fix 1 all wall/reflect xlo v_linear </pre></div> </div> <div class="highlight-python"><div class="highlight"><pre>variable wiggle equal swiggle(0.0,5.0,3.0) fix 1 all wall/reflect xlo v_wiggle </pre></div> </div> <div class="highlight-python"><div class="highlight"><pre>variable wiggle equal cwiggle(0.0,5.0,3.0) fix 1 all wall/reflect xlo v_wiggle </pre></div> </div> <p>The ramp(lo,hi) function adjusts the wall position linearly from lo to hi over the course of a run. The vdisplace(c0,velocity) function does something similar using the equation position = c0 + velocity*delta, where delta is the elapsed time.</p> <p>The swiggle(c0,A,period) function causes the wall position to oscillate sinusoidally according to this equation, where omega = 2 PI / period:</p> <div class="highlight-python"><div class="highlight"><pre>position = c0 + A sin(omega*delta) </pre></div> </div> <p>The cwiggle(c0,A,period) function causes the wall position to oscillate sinusoidally according to this equation, which will have an initial wall velocity of 0.0, and thus may impose a gentler perturbation on the particles:</p> <div class="highlight-python"><div class="highlight"><pre><span class="n">position</span> <span class="o">=</span> <span class="n">c0</span> <span class="o">+</span> <span class="n">A</span> <span class="p">(</span><span class="mi">1</span> <span class="o">-</span> <span class="n">cos</span><span class="p">(</span><span class="n">omega</span><span class="o">*</span><span class="n">delta</span><span class="p">))</span> </pre></div> </div> </div> <hr class="docutils" /> <div class="section" id="restart-fix-modify-output-run-start-stop-minimize-info"> <h2>Restart, fix_modify, output, run start/stop, minimize info<a class="headerlink" href="#restart-fix-modify-output-run-start-stop-minimize-info" title="Permalink to this headline">¶</a></h2> <p>No information about this fix is written to <a class="reference internal" href="restart.html"><em>binary restart files</em></a>. None of the <a class="reference internal" href="fix_modify.html"><em>fix_modify</em></a> options are relevant to this fix. No global or per-atom quantities are stored by this fix for access by various <a class="reference internal" href="Section_howto.html#howto-15"><span>output commands</span></a>. No parameter of this fix can be used with the <em>start/stop</em> keywords of the <a class="reference internal" href="run.html"><em>run</em></a> command. This fix is not invoked during <a class="reference internal" href="minimize.html"><em>energy minimization</em></a>.</p> </div> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <p>Any dimension (xyz) that has a reflecting wall must be non-periodic.</p> <p>A reflecting wall should not be used with rigid bodies such as those defined by a “fix rigid” command. This is because the wall/reflect displaces atoms directly rather than exerts a force on them. For rigid bodies, use a soft wall instead, such as <a class="reference internal" href="fix_wall.html"><em>fix wall/lj93</em></a>. LAMMPS will flag the use of a rigid fix with fix wall/reflect with a warning, but will not generate an error.</p> </div> <div class="section" id="related-commands"> <h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2> <p><a class="reference internal" href="fix_wall.html"><em>fix wall/lj93</em></a>, <a class="reference internal" href="fix_oneway.html"><em>fix oneway</em></a></p> <p><strong>Default:</strong> none</p> <hr class="docutils" /> <p id="bond"><strong>(Bond)</strong> Bond and Leimkuhler, SIAM J Sci Comput, 30, p 134 (2007).</p> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/fix_wall_srd.html b/doc/fix_wall_srd.html index a76c35a4b..5e2e9d509 100644 --- a/doc/fix_wall_srd.html +++ b/doc/fix_wall_srd.html @@ -1,376 +1,376 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>fix wall/srd command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>fix wall/srd command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="fix-wall-srd-command"> <span id="index-0"></span><h1>fix wall/srd command<a class="headerlink" href="#fix-wall-srd-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>fix ID group-ID wall/srd face arg ... keyword value ... </pre></div> </div> <ul class="simple"> <li>ID, group-ID are documented in <a class="reference internal" href="fix.html"><em>fix</em></a> command</li> <li>wall/srd = style name of this fix command</li> <li>one or more face/arg pairs may be appended</li> <li>face = <em>xlo</em> or <em>xhi</em> or <em>ylo</em> or <em>yhi</em> or <em>zlo</em> or <em>zhi</em></li> </ul> <pre class="literal-block"> <em>xlo</em>,*ylo*,*zlo* arg = EDGE or constant or variable - EDGE = current lo edge of simulation box - constant = number like 0.0 or -30.0 (distance units) - variable = <a class="reference internal" href="variable.html"><em>equal-style variable</em></a> like v_x or v_wiggle - <em>xhi</em>,*yhi*,*zhi* arg = EDGE or constant or variable - EDGE = current hi edge of simulation box - constant = number like 50.0 or 100.3 (distance units) - variable = <a class="reference internal" href="variable.html"><em>equal-style variable</em></a> like v_x or v_wiggle + EDGE = current lo edge of simulation box + constant = number like 0.0 or -30.0 (distance units) + variable = <a class="reference internal" href="variable.html"><em>equal-style variable</em></a> like v_x or v_wiggle +<em>xhi</em>,*yhi*,*zhi* arg = EDGE or constant or variable + EDGE = current hi edge of simulation box + constant = number like 50.0 or 100.3 (distance units) + variable = <a class="reference internal" href="variable.html"><em>equal-style variable</em></a> like v_x or v_wiggle </pre> <ul class="simple"> <li>zero or more keyword/value pairs may be appended</li> <li>keyword = <em>units</em></li> </ul> <pre class="literal-block"> <em>units</em> value = <em>lattice</em> or <em>box</em> - <em>lattice</em> = the wall position is defined in lattice units - <em>box</em> = the wall position is defined in simulation box units + <em>lattice</em> = the wall position is defined in lattice units + <em>box</em> = the wall position is defined in simulation box units </pre> </div> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>fix xwalls all wall/srd xlo EDGE xhi EDGE fix walls all wall/srd xlo 0.0 ylo 10.0 units box fix top all wall/srd zhi v_pressdown </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>Bound the simulation with one or more walls which interact with stochastic reaction dynamics (SRD) particles as slip (smooth) or no-slip (rough) flat surfaces. The wall interaction is actually invoked via the <a class="reference internal" href="fix_srd.html"><em>fix srd</em></a> command, only on the group of SRD particles it defines, so the group setting for the fix wall/srd command is ignored.</p> <p>A particle/wall collision occurs if an SRD particle moves outside the wall on a timestep. This alters the position and velocity of the SRD particle and imparts a force to the wall.</p> <p>The <em>collision</em> and <em>Tsrd</em> settings specified via the <a class="reference internal" href="fix_srd.html"><em>fix srd</em></a> command affect the SRD/wall collisions. A <em>slip</em> setting for the <em>collision</em> keyword means that the tangential component of the SRD particle momentum is preserved. Thus only a normal force is imparted to the wall. The normal component of the new SRD velocity is sampled from a Gaussian distribution at temperature <em>Tsrd</em>.</p> <p>For a <em>noslip</em> setting of the <em>collision</em> keyword, both the normal and tangential components of the new SRD velocity are sampled from a Gaussian distribution at temperature <em>Tsrd</em>. Additionally, a new tangential direction for the SRD velocity is chosen randomly. This collision style imparts both a normal and tangential force to the wall.</p> <p>Up to 6 walls or faces can be specified in a single command: <em>xlo</em>, <em>xhi</em>, <em>ylo</em>, <em>yhi</em>, <em>zlo</em>, <em>zhi</em>. A <em>lo</em> face reflects particles that move to a coordinate less than the wall position, back in the <em>hi</em> direction. A <em>hi</em> face reflects particles that move to a coordinate higher than the wall position, back in the <em>lo</em> direction.</p> <p>The position of each wall can be specified in one of 3 ways: as the EDGE of the simulation box, as a constant value, or as a variable. If EDGE is used, then the corresponding boundary of the current simulation box is used. If a numeric constant is specified then the wall is placed at that position in the appropriate dimension (x, y, or z). In both the EDGE and constant cases, the wall will never move. If the wall position is a variable, it should be specified as v_name, where name is an <a class="reference internal" href="variable.html"><em>equal-style variable</em></a> name. In this case the variable is evaluated each timestep and the result becomes the current position of the reflecting wall. Equal-style variables can specify formulas with various mathematical functions, and include <a class="reference internal" href="thermo_style.html"><em>thermo_style</em></a> command keywords for the simulation box parameters and timestep and elapsed time. Thus it is easy to specify a time-dependent wall position.</p> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">Because the trajectory of the SRD particle is tracked as it collides with the wall, you must insure that r = distance of the particle from the wall, is always > 0 for SRD particles, or LAMMPS will generate an error. This means you cannot start your simulation with SRD particles at the wall position <em>coord</em> (r = 0) or with particles on the wrong side of the wall (r < 0).</p> </div> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">If you have 2 or more walls that come together at an edge or corner (e.g. walls in the x and y dimensions), then be sure to set the <em>overlap</em> keyword to <em>yes</em> in the <a class="reference internal" href="fix_srd.html"><em>fix srd</em></a> command, since the walls effectively overlap when SRD particles collide with them. LAMMPS will issue a warning if you do not do this.</p> </div> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">The walls of this fix only interact with SRD particles, as defined by the <a class="reference internal" href="fix_srd.html"><em>fix srd</em></a> command. If you are simulating a mixture containing other kinds of particles, then you should typically use <a class="reference internal" href="fix_wall.html"><em>another wall command</em></a> to act on the other particles. Since SRD particles will be colliding both with the walls and the other particles, it is important to insure that the other particle’s finite extent does not overlap an SRD wall. If you do not do this, you may generate errors when SRD particles end up “inside” another particle or a wall at the beginning of a collision step.</p> </div> <p>The <em>units</em> keyword determines the meaning of the distance units used to define a wall position, but only when a numeric constant is used. It is not relevant when EDGE or a variable is used to specify a face position.</p> <p>A <em>box</em> value selects standard distance units as defined by the <a class="reference internal" href="units.html"><em>units</em></a> command, e.g. Angstroms for units = real or metal. A <em>lattice</em> value means the distance units are in lattice spacings. The <a class="reference internal" href="lattice.html"><em>lattice</em></a> command must have been previously used to define the lattice spacings.</p> <hr class="docutils" /> <p>Here are examples of variable definitions that move the wall position in a time-dependent fashion using equal-style <a class="reference internal" href="variable.html"><em>variables</em></a>.</p> <div class="highlight-python"><div class="highlight"><pre>variable ramp equal ramp(0,10) fix 1 all wall/srd xlo v_ramp </pre></div> </div> <div class="highlight-python"><div class="highlight"><pre>variable linear equal vdisplace(0,20) fix 1 all wall/srd xlo v_linear </pre></div> </div> <div class="highlight-python"><div class="highlight"><pre>variable wiggle equal swiggle(0.0,5.0,3.0) fix 1 all wall/srd xlo v_wiggle </pre></div> </div> <div class="highlight-python"><div class="highlight"><pre>variable wiggle equal cwiggle(0.0,5.0,3.0) fix 1 all wall/srd xlo v_wiggle </pre></div> </div> <p>The ramp(lo,hi) function adjusts the wall position linearly from lo to hi over the course of a run. The displace(c0,velocity) function does something similar using the equation position = c0 + velocity*delta, where delta is the elapsed time.</p> <p>The swiggle(c0,A,period) function causes the wall position to oscillate sinusoidally according to this equation, where omega = 2 PI / period:</p> <div class="highlight-python"><div class="highlight"><pre>position = c0 + A sin(omega*delta) </pre></div> </div> <p>The cwiggle(c0,A,period) function causes the wall position to oscillate sinusoidally according to this equation, which will have an initial wall velocity of 0.0, and thus may impose a gentler perturbation on the particles:</p> <div class="highlight-python"><div class="highlight"><pre><span class="n">position</span> <span class="o">=</span> <span class="n">c0</span> <span class="o">+</span> <span class="n">A</span> <span class="p">(</span><span class="mi">1</span> <span class="o">-</span> <span class="n">cos</span><span class="p">(</span><span class="n">omega</span><span class="o">*</span><span class="n">delta</span><span class="p">))</span> </pre></div> </div> </div> <hr class="docutils" /> <div class="section" id="restart-fix-modify-output-run-start-stop-minimize-info"> <h2>Restart, fix_modify, output, run start/stop, minimize info<a class="headerlink" href="#restart-fix-modify-output-run-start-stop-minimize-info" title="Permalink to this headline">¶</a></h2> <p>No information about this fix is written to <a class="reference internal" href="restart.html"><em>binary restart files</em></a>. None of the <a class="reference internal" href="fix_modify.html"><em>fix_modify</em></a> options are relevant to this fix.</p> <p>This fix computes a global array of values which can be accessed by various <a class="reference internal" href="Section_howto.html#howto-15"><span>output commands</span></a>. The number of rows in the array is equal to the number of walls defined by the fix. The number of columns is 3, for the x,y,z components of force on each wall.</p> <p>Note that an outward normal force on a wall will be a negative value for <em>lo</em> walls and a positive value for <em>hi</em> walls. The array values calculated by this fix are “extensive”.</p> <p>No parameter of this fix can be used with the <em>start/stop</em> keywords of the <a class="reference internal" href="run.html"><em>run</em></a> command. This fix is not invoked during <a class="reference internal" href="minimize.html"><em>energy minimization</em></a>.</p> </div> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <p>Any dimension (xyz) that has an SRD wall must be non-periodic.</p> </div> <div class="section" id="related-commands"> <h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2> <p><a class="reference internal" href="fix_srd.html"><em>fix srd</em></a></p> <p><strong>Default:</strong> none</p> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/group.html b/doc/group.html index 641c18c38..72c8d0987 100644 --- a/doc/group.html +++ b/doc/group.html @@ -1,458 +1,458 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>group command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>group command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="group-command"> <span id="index-0"></span><h1>group command<a class="headerlink" href="#group-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>group ID style args </pre></div> </div> <ul class="simple"> <li>ID = user-defined name of the group</li> <li>style = <em>delete</em> or <em>region</em> or <em>type</em> or <em>id</em> or <em>molecule</em> or <em>variable</em> or <em>include</em> or <em>subtract</em> or <em>union</em> or <em>intersect</em> or <em>dynamic</em> or <em>static</em></li> </ul> <pre class="literal-block"> <em>delete</em> = no args - <em>clear</em> = no args - <em>region</em> args = region-ID - <em>type</em> or <em>id</em> or <em>molecule</em> - args = list of one or more atom types, atom IDs, or molecule IDs - any entry in list can be a sequence formatted as A:B or A:B:C where - A = starting index, B = ending index, - C = increment between indices, 1 if not specified - args = logical value - logical = "<" or "<=" or ">" or ">=" or "==" or "!=" - value = an atom type or atom ID or molecule ID (depending on <em>style</em>) - args = logical value1 value2 - logical = "<>" - value1,value2 = atom types or atom IDs or molecule IDs (depending on <em>style</em>) - <em>variable</em> args = variable-name - <em>include</em> args = molecule - molecule = add atoms to group with same molecule ID as atoms already in group - <em>subtract</em> args = two or more group IDs - <em>union</em> args = one or more group IDs - <em>intersect</em> args = two or more group IDs - <em>dynamic</em> args = parent-ID keyword value ... - one or more keyword/value pairs may be appended - keyword = <em>region</em> or <em>var</em> or <em>every</em> - <em>region</em> value = region-ID - <em>var</em> value = name of variable - <em>every</em> value = N = update group every this many timesteps - <em>static</em> = no args +<em>clear</em> = no args +<em>region</em> args = region-ID +<em>type</em> or <em>id</em> or <em>molecule</em> + args = list of one or more atom types, atom IDs, or molecule IDs + any entry in list can be a sequence formatted as A:B or A:B:C where + A = starting index, B = ending index, + C = increment between indices, 1 if not specified + args = logical value + logical = "<" or "<=" or ">" or ">=" or "==" or "!=" + value = an atom type or atom ID or molecule ID (depending on <em>style</em>) + args = logical value1 value2 + logical = "<>" + value1,value2 = atom types or atom IDs or molecule IDs (depending on <em>style</em>) +<em>variable</em> args = variable-name +<em>include</em> args = molecule + molecule = add atoms to group with same molecule ID as atoms already in group +<em>subtract</em> args = two or more group IDs +<em>union</em> args = one or more group IDs +<em>intersect</em> args = two or more group IDs +<em>dynamic</em> args = parent-ID keyword value ... + one or more keyword/value pairs may be appended + keyword = <em>region</em> or <em>var</em> or <em>every</em> + <em>region</em> value = region-ID + <em>var</em> value = name of variable + <em>every</em> value = N = update group every this many timesteps +<em>static</em> = no args </pre> </div> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>group edge region regstrip group water type 3 4 group sub id 10 25 50 group sub id 10 25 50 500:1000 group sub id 100:10000:10 group sub id <= 150 group polyA molecule <> 50 250 group hienergy variable eng group hienergy include molecule group boundary subtract all a2 a3 group boundary union lower upper group boundary intersect upper flow group boundary delete group mine dynamic all region myRegion every 100 </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>Identify a collection of atoms as belonging to a group. The group ID can then be used in other commands such as <a class="reference internal" href="fix.html"><em>fix</em></a>, <a class="reference internal" href="compute.html"><em>compute</em></a>, <a class="reference internal" href="dump.html"><em>dump</em></a>, or <a class="reference internal" href="velocity.html"><em>velocity</em></a> to act on those atoms together.</p> <p>If the group ID already exists, the group command adds the specified atoms to the group.</p> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">By default groups are static, meaning the atoms are permanently assigned to the group. For example, if the <em>region</em> style is used to assign atoms to a group, the atoms will remain in the group even if they later move out of the region. As explained below, the <em>dynamic</em> style can be used to make a group dynamic so that a periodic determination is made as to which atoms are in the group. Since many LAMMPS commands operate on groups of atoms, you should think carefully about whether making a group dynamic makes sense for your model.</p> </div> <p>A group with the ID <em>all</em> is predefined. All atoms belong to this group. This group cannot be deleted, or made dynamic.</p> <p>The <em>delete</em> style removes the named group and un-assigns all atoms that were assigned to that group. Since there is a restriction (see below) that no more than 32 groups can be defined at any time, the <em>delete</em> style allows you to remove groups that are no longer needed, so that more can be specified. You cannot delete a group if it has been used to define a current <a class="reference internal" href="fix.html"><em>fix</em></a> or <a class="reference internal" href="compute.html"><em>compute</em></a> or <a class="reference internal" href="dump.html"><em>dump</em></a>.</p> <p>The <em>clear</em> style un-assigns all atoms that were assigned to that group. This may be dangerous to do during a simulation run, e.g. using the <a class="reference internal" href="run.html"><em>run every</em></a> command if a fix or compute or other operation expects the atoms in the group to remain constant, but LAMMPS does not check for this.</p> <p>The <em>region</em> style puts all atoms in the region volume into the group. Note that this is a static one-time assignment. The atoms remain assigned (or not assigned) to the group even in they later move out of the region volume.</p> <p>The <em>type</em>, <em>id</em>, and <em>molecule</em> styles put all atoms with the specified atom types, atom IDs, or molecule IDs into the group. These 3 styles can use arguments specified in one of two formats.</p> <p>The first format is a list of values (types or IDs). For example, the 2nd command in the examples above puts all atoms of type 3 or 4 into the group named <em>water</em>. Each entry in the list can be a colon-separated sequence A:B or A:B:C, as in two of the examples above. A “sequence” generates a sequence of values (types or IDs), with an optional increment. The first example with 500:1000 has the default increment of 1 and would add all atom IDs from 500 to 1000 (inclusive) to the group sub, along with 10,25,50 since they also appear in the list of values. The second example with 100:10000:10 uses an increment of 10 and would thus would add atoms IDs 100,110,120, ... 9990,10000 to the group sub.</p> <p>The second format is a <em>logical</em> followed by one or two values (type or ID). The 7 valid logicals are listed above. All the logicals except <> take a single argument. The 3rd example above adds all atoms with IDs from 1 to 150 to the group named <em>sub</em>. The logical <> means “between” and takes 2 arguments. The 4th example above adds all atoms belonging to molecules with IDs from 50 to 250 (inclusive) to the group named polyA.</p> <p>The <em>variable</em> style evaluates a variable to determine which atoms to add to the group. It must be an <a class="reference internal" href="variable.html"><em>atom-style variable</em></a> previously defined in the input script. If the variable evaluates to a non-zero value for a particular atom, then that atom is added to the specified group.</p> <p>Atom-style variables can specify formulas that include thermodynamic quantities, per-atom values such as atom coordinates, or per-atom quantities calculated by computes, fixes, or other variables. They can also include Boolean logic where 2 numeric values are compared to yield a 1 or 0 (effectively a true or false). Thus using the <em>variable</em> style, is a general way to flag specific atoms to include or exclude from a group.</p> <p>For example, these lines define a variable “eatom” that calculates the potential energy of each atom and includes it in the group if its potential energy is above the threshhold value -3.0.</p> <div class="highlight-python"><div class="highlight"><pre>compute 1 all pe/atom compute 2 all reduce sum c_1 thermo_style custom step temp pe c_2 run 0 </pre></div> </div> <div class="highlight-python"><div class="highlight"><pre>variable eatom atom "c_1 > -3.0" group hienergy variable eatom </pre></div> </div> <p>Note that these lines</p> <div class="highlight-python"><div class="highlight"><pre>compute 2 all reduce sum c_1 thermo_style custom step temp pe c_2 run 0 </pre></div> </div> <p>are necessary to insure that the “eatom” variable is current when the group command invokes it. Because the eatom variable computes the per-atom energy via the pe/atom compute, it will only be current if a run has been performed which evaluated pairwise energies, and the pe/atom compute was actually invoked during the run. Printing the thermodyanmic info for compute 2 insures that this is the case, since it sums the pe/atom compute values (in the reduce compute) to output them to the screen. See the “Variable Accuracy” section of the <a class="reference internal" href="variable.html"><em>variable</em></a> doc page for more details on insuring that variables are current when they are evaluated between runs.</p> <p>The <em>include</em> style with its arg <em>molecule</em> adds atoms to a group that have the same molecule ID as atoms already in the group. The molecule ID = 0 is ignored in this operation, since it is assumed to flag isolated atoms that are not part of molecules. An example of where this operation is useful is if the <em>region</em> style has been used previously to add atoms to a group that are within a geometric region. If molecules straddle the region boundary, then atoms outside the region that are part of molecules with atoms inside the region will not be in the group. Using the group command a 2nd time with <em>include molecule</em> will add those atoms that are outside the region to the group.</p> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">The <em>include molecule</em> operation is relatively expensive in a parallel sense. This is because it requires communication of relevant molecule IDs between all the processors and each processor to loop over its atoms once per processor, to compare its atoms to the list of molecule IDs from every other processor. Hence it scales as N, rather than N/P as most of the group operations do, where N is the number of atoms, and P is the number of processors.</p> </div> <p>The <em>subtract</em> style takes a list of two or more existing group names as arguments. All atoms that belong to the 1st group, but not to any of the other groups are added to the specified group.</p> <p>The <em>union</em> style takes a list of one or more existing group names as arguments. All atoms that belong to any of the listed groups are added to the specified group.</p> <p>The <em>intersect</em> style takes a list of two or more existing group names as arguments. Atoms that belong to every one of the listed groups are added to the specified group.</p> <hr class="docutils" /> <p>The <em>dynamic</em> style flags an existing or new group as dynamic. This means atoms will be (re)assigned to the group periodically as a simulation runs. This is in contrast to static groups where atoms are permanently assigned to the group. The way the assignment occurs is as follows. Only atoms in the group specified as the parent group via the parent-ID are assigned to the dynamic group before the following conditions are applied. If the <em>region</em> keyword is used, atoms not in the specified region are removed from the dynamic group. If the <em>var</em> keyword is used, the variable name must be an atom-style or atomfile-style variable. The variable is evaluated and atoms whose per-atom values are 0.0, are removed from the dynamic group.</p> <p>The assignment of atoms to a dynamic group is done at the beginning of each run and on every timestep that is a multiple of <em>N</em>, which is the argument for the <em>every</em> keyword (N = 1 is the default). For an energy minimization, via the <a class="reference internal" href="minimize.html"><em>minimize</em></a> command, an assignement is made at the beginning of the minimization, but not during the iterations of the minimizer.</p> <p>The point in the timestep at which atoms are assigned to a dynamic group is after the initial stage of velocity Verlet time integration has been performed, and before neighbor lists or forces are computed. This is the point in the timestep where atom positions have just changed due to the time integration, so the region criterion should be accurate, if applied.</p> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">If the <em>region</em> keyword is used to determine what atoms are in the dynamic group, atoms can move outside of the simulation box between reneighboring events. Thus if you want to include all atoms on the left side of the simulation box, you probably want to set the left boundary of the region to be outside the simulation box by some reasonable amount (e.g. up to the cutoff of the potential), else they may be excluded from the dynamic region.</p> </div> <p>Here is an example of using a dynamic group to shrink the set of atoms being integrated by using a spherical region with a variable radius (shrinking from 18 to 5 over the course of the run). This could be used to model a quench of the system, freezing atoms outside the shrinking sphere, then converting the remaining atoms to a static group and running further.</p> <div class="highlight-python"><div class="highlight"><pre>variable nsteps equal 5000 variable rad equal 18-(step/v_nsteps)*(18-5) region ss sphere 20 20 0 v_rad group mobile dynamic all region ss fix 1 mobile nve run ${nsteps} group mobile static run ${nsteps} </pre></div> </div> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">All fixes and computes take a group ID as an argument, but they do not all allow for use of a dynamic group. If you get an error message that this is not allowed, but feel that it should be for the fix or compute in question, then please post your reasoning to the LAMMPS mail list and we can change it.</p> </div> <p>The <em>static</em> style removes the setting for a dynamic group, converting it to a static group (the default). The atoms in the static group are those currently in the dynamic group.</p> </div> <hr class="docutils" /> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <p>There can be no more than 32 groups defined at one time, including “all”.</p> <p>The parent group of a dynamic group cannot itself be a dynamic group.</p> </div> <div class="section" id="related-commands"> <h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2> <p><a class="reference internal" href="dump.html"><em>dump</em></a>, <a class="reference internal" href="fix.html"><em>fix</em></a>, <a class="reference internal" href="region.html"><em>region</em></a>, <a class="reference internal" href="velocity.html"><em>velocity</em></a></p> </div> <div class="section" id="default"> <h2>Default<a class="headerlink" href="#default" title="Permalink to this headline">¶</a></h2> <p>All atoms belong to the “all” group.</p> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/kspace_style.html b/doc/kspace_style.html index 0f0e1dbde..ee953b384 100644 --- a/doc/kspace_style.html +++ b/doc/kspace_style.html @@ -1,512 +1,512 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>kspace_style command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>kspace_style command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="kspace-style-command"> <span id="index-0"></span><h1>kspace_style command<a class="headerlink" href="#kspace-style-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>kspace_style style value </pre></div> </div> <ul class="simple"> <li>style = <em>none</em> or <em>ewald</em> or <em>ewald/disp</em> or <em>ewald/omp</em> or <em>pppm</em> or <em>pppm/cg</em> or <em>pppm/disp</em> or <em>pppm/tip4p</em> or <em>pppm/stagger</em> or <em>pppm/disp/tip4p</em> or <em>pppm/gpu</em> or <em>pppm/omp</em> or <em>pppm/cg/omp</em> or <em>pppm/tip4p/omp</em> or <em>msm</em> or <em>msm/cg</em> or <em>msm/omp</em> or <em>msm/cg/omp</em></li> </ul> <pre class="literal-block"> <em>none</em> value = none - <em>ewald</em> value = accuracy - accuracy = desired relative error in forces - <em>ewald/disp</em> value = accuracy - accuracy = desired relative error in forces - <em>ewald/omp</em> value = accuracy - accuracy = desired relative error in forces - <em>pppm</em> value = accuracy - accuracy = desired relative error in forces - <em>pppm/cg</em> value = accuracy (smallq) - accuracy = desired relative error in forces - smallq = cutoff for charges to be considered (optional) (charge units) - <em>pppm/disp</em> value = accuracy - accuracy = desired relative error in forces - <em>pppm/tip4p</em> value = accuracy - accuracy = desired relative error in forces - <em>pppm/disp/tip4p</em> value = accuracy - accuracy = desired relative error in forces - <em>pppm/gpu</em> value = accuracy - accuracy = desired relative error in forces - <em>pppm/omp</em> value = accuracy - accuracy = desired relative error in forces - <em>pppm/cg/omp</em> value = accuracy - accuracy = desired relative error in forces - <em>pppm/tip4p/omp</em> value = accuracy - accuracy = desired relative error in forces - <em>pppm/stagger</em> value = accuracy - accuracy = desired relative error in forces - <em>msm</em> value = accuracy - accuracy = desired relative error in forces - <em>msm/cg</em> value = accuracy (smallq) - accuracy = desired relative error in forces - smallq = cutoff for charges to be considered (optional) (charge units) - <em>msm/omp</em> value = accuracy - accuracy = desired relative error in forces - <em>msm/cg/omp</em> value = accuracy (smallq) - accuracy = desired relative error in forces - smallq = cutoff for charges to be considered (optional) (charge units) +<em>ewald</em> value = accuracy + accuracy = desired relative error in forces +<em>ewald/disp</em> value = accuracy + accuracy = desired relative error in forces +<em>ewald/omp</em> value = accuracy + accuracy = desired relative error in forces +<em>pppm</em> value = accuracy + accuracy = desired relative error in forces +<em>pppm/cg</em> value = accuracy (smallq) + accuracy = desired relative error in forces + smallq = cutoff for charges to be considered (optional) (charge units) +<em>pppm/disp</em> value = accuracy + accuracy = desired relative error in forces +<em>pppm/tip4p</em> value = accuracy + accuracy = desired relative error in forces +<em>pppm/disp/tip4p</em> value = accuracy + accuracy = desired relative error in forces +<em>pppm/gpu</em> value = accuracy + accuracy = desired relative error in forces +<em>pppm/omp</em> value = accuracy + accuracy = desired relative error in forces +<em>pppm/cg/omp</em> value = accuracy + accuracy = desired relative error in forces +<em>pppm/tip4p/omp</em> value = accuracy + accuracy = desired relative error in forces +<em>pppm/stagger</em> value = accuracy + accuracy = desired relative error in forces +<em>msm</em> value = accuracy + accuracy = desired relative error in forces +<em>msm/cg</em> value = accuracy (smallq) + accuracy = desired relative error in forces + smallq = cutoff for charges to be considered (optional) (charge units) +<em>msm/omp</em> value = accuracy + accuracy = desired relative error in forces +<em>msm/cg/omp</em> value = accuracy (smallq) + accuracy = desired relative error in forces + smallq = cutoff for charges to be considered (optional) (charge units) </pre> </div> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>kspace_style pppm 1.0e-4 kspace_style pppm/cg 1.0e-5 1.0e-6 kspace style msm 1.0e-4 kspace_style none </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>Define a long-range solver for LAMMPS to use each timestep to compute long-range Coulombic interactions or long-range 1/r^6 interactions. Most of the long-range solvers perform their computation in K-space, hence the name of this command.</p> <p>When such a solver is used in conjunction with an appropriate pair style, the cutoff for Coulombic or 1/r^N interactions is effectively infinite. If the Coulombic case, this means each charge in the system interacts with charges in an infinite array of periodic images of the simulation domain.</p> <p>Note that using a long-range solver requires use of a matching <code class="xref doc docutils literal"><span class="pre">pair</span> <span class="pre">style</span></code> to perform consistent short-range pairwise calculations. This means that the name of the pair style contains a matching keyword to the name of the KSpace style, as in this table:</p> <table border="1" class="docutils"> <colgroup> <col width="49%" /> <col width="51%" /> </colgroup> <tbody valign="top"> <tr class="row-odd"><td>Pair style</td> <td>KSpace style</td> </tr> <tr class="row-even"><td>coul/long</td> <td>ewald or pppm</td> </tr> <tr class="row-odd"><td>coul/msm</td> <td>msm</td> </tr> <tr class="row-even"><td>lj/long or buck/long</td> <td>disp (for dispersion)</td> </tr> <tr class="row-odd"><td>tip4p/long</td> <td>tip4p</td> </tr> </tbody> </table> <hr class="docutils" /> <p>The <em>ewald</em> style performs a standard Ewald summation as described in any solid-state physics text.</p> <p>The <em>ewald/disp</em> style adds a long-range dispersion sum option for 1/r^6 potentials and is useful for simulation of interfaces <a class="reference internal" href="pair_lj_long.html#veld"><span>(Veld)</span></a>. It also performs standard Coulombic Ewald summations, but in a more efficient manner than the <em>ewald</em> style. The 1/r^6 capability means that Lennard-Jones or Buckingham potentials can be used without a cutoff, i.e. they become full long-range potentials. The <em>ewald/disp</em> style can also be used with point-dipoles <a class="reference internal" href="pair_dipole.html#toukmaji"><span>(Toukmaji)</span></a> and is currently the only kspace solver in LAMMPS with this capability.</p> <hr class="docutils" /> <p>The <em>pppm</em> style invokes a particle-particle particle-mesh solver <a class="reference internal" href="#hockney"><span>(Hockney)</span></a> which maps atom charge to a 3d mesh, uses 3d FFTs to solve Poisson’s equation on the mesh, then interpolates electric fields on the mesh points back to the atoms. It is closely related to the particle-mesh Ewald technique (PME) <a class="reference internal" href="#darden"><span>(Darden)</span></a> used in AMBER and CHARMM. The cost of traditional Ewald summation scales as N^(3/2) where N is the number of atoms in the system. The PPPM solver scales as Nlog(N) due to the FFTs, so it is almost always a faster choice <a class="reference internal" href="#pollock"><span>(Pollock)</span></a>.</p> <p>The <em>pppm/cg</em> style is identical to the <em>pppm</em> style except that it has an optimization for systems where most particles are uncharged. Similarly the <em>msm/cg</em> style implements the same optimization for <em>msm</em>. The optional <em>smallq</em> argument defines the cutoff for the absolute charge value which determines whether a particle is considered charged or not. Its default value is 1.0e-5.</p> <p>The <em>pppm/tip4p</em> style is identical to the <em>pppm</em> style except that it adds a charge at the massless 4th site in each TIP4P water molecule. It should be used with <a class="reference internal" href="pair_style.html"><em>pair styles</em></a> with a <em>tip4p/long</em> in their style name.</p> <p>The <em>pppm/stagger</em> style performs calculations using two different meshes, one shifted slightly with respect to the other. This can reduce force aliasing errors and increase the accuracy of the method for a given mesh size. Or a coarser mesh can be used for the same target accuracy, which saves CPU time. However, there is a trade-off since FFTs on two meshes are now performed which increases the compuation required. See <a class="reference internal" href="#cerutti"><span>(Cerutti)</span></a>, <a class="reference internal" href="#neelov"><span>(Neelov)</span></a>, and <a class="reference internal" href="#hockney"><span>(Hockney)</span></a> for details of the method.</p> <p>For high relative accuracy, using staggered PPPM allows the mesh size to be reduced by a factor of 2 in each dimension as compared to regular PPPM (for the same target accuracy). This can give up to a 4x speedup in the KSpace time (8x less mesh points, 2x more expensive). However, for low relative accuracy, the staggered PPPM mesh size may be essentially the same as for regular PPPM, which means the method will be up to 2x slower in the KSpace time (simply 2x more expensive). For more details and timings, see <a class="reference internal" href="Section_accelerate.html"><em>Section_accelerate</em></a>.</p> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">Using <em>pppm/stagger</em> may not give the same increase in the accuracy of energy and pressure as it does in forces, so some caution must be used if energy and/or pressure are quantities of interest, such as when using a barostat.</p> </div> <hr class="docutils" /> <p>The <em>pppm/disp</em> and <em>pppm/disp/tip4p</em> styles add a mesh-based long-range dispersion sum option for 1/r^6 potentials <a class="reference internal" href="#isele-holder"><span>(Isele-Holder)</span></a>, similar to the <em>ewald/disp</em> style. The 1/r^6 capability means that Lennard-Jones or Buckingham potentials can be used without a cutoff, i.e. they become full long-range potentials.</p> <p>For these styles, you will possibly want to adjust the default choice of parameters by using the <a class="reference internal" href="kspace_modify.html"><em>kspace_modify</em></a> command. This can be done by either choosing the Ewald and grid parameters, or by specifying separate accuracies for the real and kspace calculations. When not making any settings, the simulation will stop with an error message. Further information on the influence of the parameters and how to choose them is described in <a class="reference internal" href="#isele-holder"><span>(Isele-Holder)</span></a>, <a class="reference internal" href="#isele-holder2"><span>(Isele-Holder2)</span></a> and the <a class="reference internal" href="Section_howto.html#howto-24"><span>How-To</span></a> discussion.</p> <hr class="docutils" /> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">All of the PPPM styles can be used with single-precision FFTs by using the compiler switch -DFFT_SINGLE for the FFT_INC setting in your lo-level Makefile. This setting also changes some of the PPPM operations (e.g. mapping charge to mesh and interpolating electric fields to particles) to be performed in single precision. This option can speed-up long-range calulations, particularly in parallel or on GPUs. The use of the -DFFT_SINGLE flag is discussed in <a class="reference internal" href="Section_start.html#start-2-4"><span>this section</span></a> of the manual. MSM does not currently support the -DFFT_SINGLE compiler switch.</p> </div> <hr class="docutils" /> <p>The <em>msm</em> style invokes a multi-level summation method MSM solver, <a class="reference internal" href="#hardy"><span>(Hardy)</span></a> or <a class="reference internal" href="#hardy2"><span>(Hardy2)</span></a>, which maps atom charge to a 3d mesh, and uses a multi-level hierarchy of coarser and coarser meshes on which direct coulomb solves are done. This method does not use FFTs and scales as N. It may therefore be faster than the other K-space solvers for relatively large problems when running on large core counts. MSM can also be used for non-periodic boundary conditions and for mixed periodic and non-periodic boundaries.</p> <p>MSM is most competitive versus Ewald and PPPM when only relatively low accuracy forces, about 1e-4 relative error or less accurate, are needed. Note that use of a larger coulomb cutoff (i.e. 15 angstroms instead of 10 angstroms) provides better MSM accuracy for both the real space and grid computed forces.</p> <p>Currently calculation of the full pressure tensor in MSM is expensive. Using the <a class="reference internal" href="kspace_modify.html"><em>kspace_modify</em></a> <em>pressure/scalar yes</em> command provides a less expensive way to compute the scalar pressure (Pxx + Pyy + Pzz)/3.0. The scalar pressure can be used, for example, to run an isotropic barostat. If the full pressure tensor is needed, then calculating the pressure at every timestep or using a fixed pressure simulation with MSM will cause the code to run slower.</p> <hr class="docutils" /> <p>The specified <em>accuracy</em> determines the relative RMS error in per-atom forces calculated by the long-range solver. It is set as a dimensionless number, relative to the force that two unit point charges (e.g. 2 monovalent ions) exert on each other at a distance of 1 Angstrom. This reference value was chosen as representative of the magnitude of electrostatic forces in atomic systems. Thus an accuracy value of 1.0e-4 means that the RMS error will be a factor of 10000 smaller than the reference force.</p> <p>The accuracy setting is used in conjunction with the pairwise cutoff to determine the number of K-space vectors for style <em>ewald</em> or the grid size for style <em>pppm</em> or <em>msm</em>.</p> <p>Note that style <em>pppm</em> only computes the grid size at the beginning of a simulation, so if the length or triclinic tilt of the simulation cell increases dramatically during the course of the simulation, the accuracy of the simulation may degrade. Likewise, if the <a class="reference internal" href="kspace_modify.html"><em>kspace_modify slab</em></a> option is used with shrink-wrap boundaries in the z-dimension, and the box size changes dramatically in z. For example, for a triclinic system with all three tilt factors set to the maximum limit, the PPPM grid should be increased roughly by a factor of 1.5 in the y direction and 2.0 in the z direction as compared to the same system using a cubic orthogonal simulation cell. One way to ensure the accuracy requirement is being met is to run a short simulation at the maximum expected tilt or length, note the required grid size, and then use the <a class="reference internal" href="kspace_modify.html"><em>kspace_modify</em></a> <em>mesh</em> command to manually set the PPPM grid size to this value.</p> <p>RMS force errors in real space for <em>ewald</em> and <em>pppm</em> are estimated using equation 18 of <a class="reference internal" href="#kolafa"><span>(Kolafa)</span></a>, which is also referenced as equation 9 of <a class="reference internal" href="#petersen"><span>(Petersen)</span></a>. RMS force errors in K-space for <em>ewald</em> are estimated using equation 11 of <a class="reference internal" href="#petersen"><span>(Petersen)</span></a>, which is similar to equation 32 of <a class="reference internal" href="#kolafa"><span>(Kolafa)</span></a>. RMS force errors in K-space for <em>pppm</em> are estimated using equation 38 of <a class="reference internal" href="#deserno"><span>(Deserno)</span></a>. RMS force errors for <em>msm</em> are estimated using ideas from chapter 3 of <a class="reference internal" href="#hardy"><span>(Hardy)</span></a>, with equation 3.197 of particular note. When using <em>msm</em> with non-periodic boundary conditions, it is expected that the error estimation will be too pessimistic. RMS force errors for dipoles when using <em>ewald/disp</em> are estimated using equations 33 and 46 of <a class="reference internal" href="pair_polymorphic.html#wang"><span>(Wang)</span></a>.</p> <p>See the <a class="reference internal" href="kspace_modify.html"><em>kspace_modify</em></a> command for additional options of the K-space solvers that can be set, including a <em>force</em> option for setting an absoulte RMS error in forces, as opposed to a relative RMS error.</p> <hr class="docutils" /> <p>Styles with a <em>cuda</em>, <em>gpu</em>, <em>intel</em>, <em>kk</em>, <em>omp</em>, or <em>opt</em> suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available hardware, as discussed in <a class="reference internal" href="Section_accelerate.html"><em>Section_accelerate</em></a> of the manual. The accelerated styles take the same arguments and should produce the same results, except for round-off and precision issues.</p> <p>More specifically, the <em>pppm/gpu</em> style performs charge assignment and force interpolation calculations on the GPU. These processes are performed either in single or double precision, depending on whether the -DFFT_SINGLE setting was specified in your lo-level Makefile, as discussed above. The FFTs themselves are still calculated on the CPU. If <em>pppm/gpu</em> is used with a GPU-enabled pair style, part of the PPPM calculation can be performed concurrently on the GPU while other calculations for non-bonded and bonded force calculation are performed on the CPU.</p> <p>These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP, and OPT packages respectively. They are only enabled if LAMMPS was built with those packages. See the <a class="reference internal" href="Section_start.html#start-3"><span>Making LAMMPS</span></a> section for more info.</p> <p>See <a class="reference internal" href="Section_accelerate.html"><em>Section_accelerate</em></a> of the manual for more instructions on how to use the accelerated styles effectively.</p> </div> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <p>Note that the long-range electrostatic solvers in LAMMPS assume conducting metal (tinfoil) boundary conditions for both charge and dipole interactions. Vacuum boundary conditions are not currently supported.</p> <p>The <em>ewald/disp</em>, <em>ewald</em>, <em>pppm</em>, and <em>msm</em> styles support non-orthogonal (triclinic symmetry) simulation boxes. However, triclinic simulation cells may not yet be supported by suffix versions of these styles (such as <em>pppm/cuda</em>).</p> <p>All of the kspace styles are part of the KSPACE package. They are only enabled if LAMMPS was built with that package. See the <a class="reference internal" href="Section_start.html#start-3"><span>Making LAMMPS</span></a> section for more info. Note that the KSPACE package is installed by default.</p> <p>For MSM, a simulation must be 3d and one can use any combination of periodic, non-periodic, or shrink-wrapped boundaries (specified using the <a class="reference internal" href="boundary.html"><em>boundary</em></a> command).</p> <p>For Ewald and PPPM, a simulation must be 3d and periodic in all dimensions. The only exception is if the slab option is set with <a class="reference internal" href="kspace_modify.html"><em>kspace_modify</em></a>, in which case the xy dimensions must be periodic and the z dimension must be non-periodic.</p> </div> <div class="section" id="related-commands"> <h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2> <p><a class="reference internal" href="kspace_modify.html"><em>kspace_modify</em></a>, <a class="reference internal" href="pair_lj.html"><em>pair_style lj/cut/coul/long</em></a>, <a class="reference internal" href="pair_charmm.html"><em>pair_style lj/charmm/coul/long</em></a>, <a class="reference internal" href="pair_lj_long.html"><em>pair_style lj/long/coul/long</em></a>, <a class="reference internal" href="pair_buck.html"><em>pair_style buck/coul/long</em></a></p> </div> <div class="section" id="default"> <h2>Default<a class="headerlink" href="#default" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>kspace_style none </pre></div> </div> <hr class="docutils" /> <p id="darden"><strong>(Darden)</strong> Darden, York, Pedersen, J Chem Phys, 98, 10089 (1993).</p> <p id="deserno"><strong>(Deserno)</strong> Deserno and Holm, J Chem Phys, 109, 7694 (1998).</p> <p id="hockney"><strong>(Hockney)</strong> Hockney and Eastwood, Computer Simulation Using Particles, Adam Hilger, NY (1989).</p> <p id="kolafa"><strong>(Kolafa)</strong> Kolafa and Perram, Molecular Simualtion, 9, 351 (1992).</p> <p id="petersen"><strong>(Petersen)</strong> Petersen, J Chem Phys, 103, 3668 (1995).</p> <p id="wang"><strong>(Wang)</strong> Wang and Holm, J Chem Phys, 115, 6277 (2001).</p> <p id="pollock"><strong>(Pollock)</strong> Pollock and Glosli, Comp Phys Comm, 95, 93 (1996).</p> <p id="cerutti"><strong>(Cerutti)</strong> Cerutti, Duke, Darden, Lybrand, Journal of Chemical Theory and Computation 5, 2322 (2009)</p> <p id="neelov"><strong>(Neelov)</strong> Neelov, Holm, J Chem Phys 132, 234103 (2010)</p> <p id="veld"><strong>(Veld)</strong> In ‘t Veld, Ismail, Grest, J Chem Phys, 127, 144711 (2007).</p> <p id="toukmaji"><strong>(Toukmaji)</strong> Toukmaji, Sagui, Board, and Darden, J Chem Phys, 113, 10913 (2000).</p> <p id="isele-holder"><strong>(Isele-Holder)</strong> Isele-Holder, Mitchell, Ismail, J Chem Phys, 137, 174107 (2012).</p> <p id="isele-holder2"><strong>(Isele-Holder2)</strong> Isele-Holder, Mitchell, Hammond, Kohlmeyer, Ismail, J Chem Theory Comput 9, 5412 (2013).</p> <p id="hardy"><strong>(Hardy)</strong> David Hardy thesis: Multilevel Summation for the Fast Evaluation of Forces for the Simulation of Biomolecules, University of Illinois at Urbana-Champaign, (2006).</p> <p id="hardy2"><strong>(Hardy)</strong> Hardy, Stone, Schulten, Parallel Computing 35 (2009) 164-177.</p> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/lattice.html b/doc/lattice.html index 22bfda217..9a7c8b719 100644 --- a/doc/lattice.html +++ b/doc/lattice.html @@ -1,434 +1,434 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>lattice command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>lattice command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="lattice-command"> <span id="index-0"></span><h1>lattice command<a class="headerlink" href="#lattice-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>lattice style scale keyword values ... </pre></div> </div> <ul class="simple"> <li>style = <em>none</em> or <em>sc</em> or <em>bcc</em> or <em>fcc</em> or <em>hcp</em> or <em>diamond</em> or <em>sq</em> or <em>sq2</em> or <em>hex</em> or <em>custom</em></li> <li>scale = scale factor between lattice and simulation box</li> </ul> <div class="highlight-python"><div class="highlight"><pre>scale = reduced density rho* (for LJ units) - scale = lattice constant in distance units (for all other units) +scale = lattice constant in distance units (for all other units) </pre></div> </div> <ul class="simple"> <li>zero or more keyword/value pairs may be appended</li> <li>keyword = <em>origin</em> or <em>orient</em> or <em>spacing</em> or <em>a1</em> or <em>a2</em> or <em>a3</em> or <em>basis</em></li> </ul> <pre class="literal-block"> <em>origin</em> values = x y z - x,y,z = fractions of a unit cell (0 <= x,y,z < 1) - <em>orient</em> values = dim i j k - dim = <em>x</em> or <em>y</em> or <em>z</em> - i,j,k = integer lattice directions - <em>spacing</em> values = dx dy dz - dx,dy,dz = lattice spacings in the x,y,z box directions - <em>a1</em>,*a2*,*a3* values = x y z - x,y,z = primitive vector components that define unit cell - <em>basis</em> values = x y z - x,y,z = fractional coords of a basis atom (0 <= x,y,z < 1) + x,y,z = fractions of a unit cell (0 <= x,y,z < 1) +<em>orient</em> values = dim i j k + dim = <em>x</em> or <em>y</em> or <em>z</em> + i,j,k = integer lattice directions +<em>spacing</em> values = dx dy dz + dx,dy,dz = lattice spacings in the x,y,z box directions +<em>a1</em>,*a2*,*a3* values = x y z + x,y,z = primitive vector components that define unit cell +<em>basis</em> values = x y z + x,y,z = fractional coords of a basis atom (0 <= x,y,z < 1) </pre> </div> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>lattice fcc 3.52 lattice hex 0.85 lattice sq 0.8 origin 0.0 0.5 0.0 orient x 1 1 0 orient y -1 1 0 lattice custom 3.52 a1 1.0 0.0 0.0 a2 0.5 1.0 0.0 a3 0.0 0.0 0.5 & basis 0.0 0.0 0.0 basis 0.5 0.5 0.5 lattice none 2.0 </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>Define a lattice for use by other commands. In LAMMPS, a lattice is simply a set of points in space, determined by a unit cell with basis atoms, that is replicated infinitely in all dimensions. The arguments of the lattice command can be used to define a wide variety of crystallographic lattices.</p> <p>A lattice is used by LAMMPS in two ways. First, the <a class="reference internal" href="create_atoms.html"><em>create_atoms</em></a> command creates atoms on the lattice points inside the simulation box. Note that the <a class="reference internal" href="create_atoms.html"><em>create_atoms</em></a> command allows different atom types to be assigned to different basis atoms of the lattice. Second, the lattice spacing in the x,y,z dimensions implied by the lattice, can be used by other commands as distance units (e.g. <a class="reference internal" href="create_box.html"><em>create_box</em></a>, <a class="reference internal" href="region.html"><em>region</em></a> and <a class="reference internal" href="velocity.html"><em>velocity</em></a>), which are often convenient to use when the underlying problem geometry is atoms on a lattice.</p> <p>The lattice style must be consistent with the dimension of the simulation - see the <a class="reference internal" href="dimension.html"><em>dimension</em></a> command. Styles <em>sc</em> or <em>bcc</em> or <em>fcc</em> or <em>hcp</em> or <em>diamond</em> are for 3d problems. Styles <em>sq</em> or <em>sq2</em> or <em>hex</em> are for 2d problems. Style <em>custom</em> can be used for either 2d or 3d problems.</p> <p>A lattice consists of a unit cell, a set of basis atoms within that cell, and a set of transformation parameters (scale, origin, orient) that map the unit cell into the simulation box. The vectors a1,a2,a3 are the edge vectors of the unit cell. This is the nomenclature for “primitive” vectors in solid-state crystallography, but in LAMMPS the unit cell they determine does not have to be a “primitive cell” of minimum volume.</p> <p>Note that the lattice command can be used multiple times in an input script. Each time it is invoked, the lattice attributes are re-defined and are used for all subsequent commands (that use lattice attributes). For example, a sequence of lattice, <a class="reference internal" href="region.html"><em>region</em></a>, and <a class="reference internal" href="create_atoms.html"><em>create_atoms</em></a> commands can be repeated multiple times to build a poly-crystalline model with different geometric regions populated with atoms in different lattice orientations.</p> <hr class="docutils" /> <p>A lattice of style <em>none</em> does not define a unit cell and basis set, so it cannot be used with the <a class="reference internal" href="create_atoms.html"><em>create_atoms</em></a> command. However it does define a lattice spacing via the specified scale parameter. As explained above the lattice spacings in x,y,z can be used by other commands as distance units. No additional keyword/value pairs can be specified for the <em>none</em> style. By default, a “lattice none 1.0” is defined, which means the lattice spacing is the same as one distance unit, as defined by the <a class="reference internal" href="units.html"><em>units</em></a> command.</p> <p>Lattices of style <em>sc</em>, <em>fcc</em>, <em>bcc</em>, and <em>diamond</em> are 3d lattices that define a cubic unit cell with edge length = 1.0. This means a1 = 1 0 0, a2 = 0 1 0, and a3 = 0 0 1. Style <em>hcp</em> has a1 = 1 0 0, a2 = 0 sqrt(3) 0, and a3 = 0 0 sqrt(8/3). The placement of the basis atoms within the unit cell are described in any solid-state physics text. A <em>sc</em> lattice has 1 basis atom at the lower-left-bottom corner of the cube. A <em>bcc</em> lattice has 2 basis atoms, one at the corner and one at the center of the cube. A <em>fcc</em> lattice has 4 basis atoms, one at the corner and 3 at the cube face centers. A <em>hcp</em> lattice has 4 basis atoms, two in the z = 0 plane and 2 in the z = 0.5 plane. A <em>diamond</em> lattice has 8 basis atoms.</p> <p>Lattices of style <em>sq</em> and <em>sq2</em> are 2d lattices that define a square unit cell with edge length = 1.0. This means a1 = 1 0 0 and a2 = 0 1 0. A <em>sq</em> lattice has 1 basis atom at the lower-left corner of the square. A <em>sq2</em> lattice has 2 basis atoms, one at the corner and one at the center of the square. A <em>hex</em> style is also a 2d lattice, but the unit cell is rectangular, with a1 = 1 0 0 and a2 = 0 sqrt(3) 0. It has 2 basis atoms, one at the corner and one at the center of the rectangle.</p> <p>A lattice of style <em>custom</em> allows you to specify a1, a2, a3, and a list of basis atoms to put in the unit cell. By default, a1 and a2 and a3 are 3 orthogonal unit vectors (edges of a unit cube). But you can specify them to be of any length and non-orthogonal to each other, so that they describe a tilted parallelepiped. Via the <em>basis</em> keyword you add atoms, one at a time, to the unit cell. Its arguments are fractional coordinates (0.0 <= x,y,z < 1.0). The position vector x of a basis atom within the unit cell is thus a linear combination of the the unit cell’s 3 edge vectors, i.e. x = bx a1 + by a2 + bz a3, where bx,by,bz are the 3 values specified for the <em>basis</em> keyword.</p> <hr class="docutils" /> <p>This sub-section discusses the arguments that determine how the idealized unit cell is transformed into a lattice of points within the simulation box.</p> <p>The <em>scale</em> argument determines how the size of the unit cell will be scaled when mapping it into the simulation box. I.e. it determines a multiplicative factor to apply to the unit cell, to convert it to a lattice of the desired size and distance units in the simulation box. The meaning of the <em>scale</em> argument depends on the <a class="reference internal" href="units.html"><em>units</em></a> being used in your simulation.</p> <p>For all unit styles except <em>lj</em>, the scale argument is specified in the distance units defined by the unit style. For example, in <em>real</em> or <em>metal</em> units, if the unit cell is a unit cube with edge length 1.0, specifying scale = 3.52 would create a cubic lattice with a spacing of 3.52 Angstroms. In <em>cgs</em> units, the spacing would be 3.52 cm.</p> <p>For unit style <em>lj</em>, the scale argument is the Lennard-Jones reduced density, typically written as rho*. LAMMPS converts this value into the multiplicative factor via the formula “factor^dim = rho/rho*”, where rho = N/V with V = the volume of the lattice unit cell and N = the number of basis atoms in the unit cell (described below), and dim = 2 or 3 for the dimensionality of the simulation. Effectively, this means that if LJ particles of size sigma = 1.0 are used in the simulation, the lattice of particles will be at the desired reduced density.</p> <p>The <em>origin</em> option specifies how the unit cell will be shifted or translated when mapping it into the simulation box. The x,y,z values are fractional values (0.0 <= x,y,z < 1.0) meaning shift the lattice by a fraction of the lattice spacing in each dimension. The meaning of “lattice spacing” is discussed below.</p> <p>The <em>orient</em> option specifies how the unit cell will be rotated when mapping it into the simulation box. The <em>dim</em> argument is one of the 3 coordinate axes in the simulation box. The other 3 arguments are the crystallographic direction in the lattice that you want to orient along that axis, specified as integers. E.g. “orient x 2 1 0” means the x-axis in the simulation box will be the [210] lattice direction, and similarly for y and z. The 3 lattice directions you specify do not have to be unit vectors, but they must be mutually orthogonal and obey the right-hand rule, i.e. (X cross Y) points in the Z direction.</p> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">The preceding paragraph describing lattice directions is only valid for orthogonal cubic unit cells (or square in 2d). If you are using a <em>hcp</em> or <em>hex</em> lattice or the more general lattice style <em>custom</em> with non-orthogonal a1,a2,a3 vectors, then you should think of the 3 <em>orient</em> vectors as creating a 3x3 rotation matrix which is applied to a1,a2,a3 to rotate the original unit cell to a new orientation in the simulation box.</p> </div> <hr class="docutils" /> <p>Several LAMMPS commands have the option to use distance units that are inferred from “lattice spacings” in the x,y,z box directions. E.g. the <a class="reference internal" href="region.html"><em>region</em></a> command can create a block of size 10x20x20, where 10 means 10 lattice spacings in the x direction.</p> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">Though they are called lattice spacings, all the commands that have a “units lattice” option, simply use the 3 values as scale factors on the distance units defined by the <a class="reference internal" href="units.html"><em>units</em></a> command. Thus if you do not like the lattice spacings computed by LAMMPS (e.g. for a non-orthogonal or rotated unit cell), you can define the 3 values to be whatever you wish, via the <em>spacing</em> option.</p> </div> <p>If the <em>spacing</em> option is not specified, the lattice spacings are computed by LAMMPS in the following way. A unit cell of the lattice is mapped into the simulation box (scaled and rotated), so that it now has (perhaps) a modified size and orientation. The lattice spacing in X is defined as the difference between the min/max extent of the x coordinates of the 8 corner points of the modified unit cell (4 in 2d). Similarly, the Y and Z lattice spacings are defined as the difference in the min/max of the y and z coordinates.</p> <p>Note that if the unit cell is orthogonal with axis-aligned edges (no rotation via the <em>orient</em> keyword), then the lattice spacings in each dimension are simply the scale factor (described above) multiplied by the length of a1,a2,a3. Thus a <em>hex</em> style lattice with a scale factor of 3.0 Angstroms, would have a lattice spacing of 3.0 in x and 3*sqrt(3.0) in y.</p> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">For non-orthogonal unit cells and/or when a rotation is applied via the <em>orient</em> keyword, then the lattice spacings computed by LAMMPS are typically less intuitive. In particular, in these cases, there is no guarantee that a particular lattice spacing is an integer multiple of the periodicity of the lattice in that direction. Thus, if you create an orthogonal periodic simulation box whose size in a dimension is a multiple of the lattice spacing, and then fill it with atoms via the <a class="reference internal" href="create_atoms.html"><em>create_atoms</em></a> command, you will NOT necessarily create a periodic system. I.e. atoms may overlap incorrectly at the faces of the simulation box.</p> </div> <p>The <em>spacing</em> option sets the 3 lattice spacings directly. All must be non-zero (use 1.0 for dz in a 2d simulation). The specified values are multiplied by the multiplicative factor described above that is associated with the scale factor. Thus a spacing of 1.0 means one unit cell edge length independent of the scale factor. As mentioned above, this option can be useful if the spacings LAMMPS computes are inconvenient to use in subsequent commands, which can be the case for non-orthogonal or rotated lattices.</p> <p>Note that whenever the lattice command is used, the values of the lattice spacings LAMMPS calculates are printed out. Thus their effect in commands that use the spacings should be decipherable.</p> </div> <hr class="docutils" /> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <p>The <em>a1,a2,a3,basis</em> keywords can only be used with style <em>custom</em>.</p> </div> <div class="section" id="related-commands"> <h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2> <p><a class="reference internal" href="dimension.html"><em>dimension</em></a>, <a class="reference internal" href="create_atoms.html"><em>create_atoms</em></a>, <a class="reference internal" href="region.html"><em>region</em></a></p> </div> <div class="section" id="default"> <h2>Default<a class="headerlink" href="#default" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>lattice none 1.0 </pre></div> </div> <p>For other lattice styles, the option defaults are origin = 0.0 0.0 0.0, orient = x 1 0 0, orient = y 0 1 0, orient = z 0 0 1, a1 = 1 0 0, a2 = 0 1 0, and a3 = 0 0 1.</p> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/molecule.html b/doc/molecule.html index 76ffe8d40..fc5b4506e 100644 --- a/doc/molecule.html +++ b/doc/molecule.html @@ -1,579 +1,579 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>molecule command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>molecule command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="molecule-command"> <span id="index-0"></span><h1>molecule command<a class="headerlink" href="#molecule-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>molecule ID file1 file2 ... keyword values ... </pre></div> </div> <ul class="simple"> <li>ID = user-assigned name for the molecule template</li> <li>file1,file2,... = names of files containing molecule descriptions</li> <li>zero or more keyword/value pairs may be appended</li> <li>keyword = <em>offset</em></li> </ul> <pre class="literal-block"> <em>offset</em> values = toff boff aoff doff ioff - toff = offset to add to atom types - boff = offset to add to bond types - aoff = offset to add to angle types - doff = offset to add to dihedral types - ioff = offset to add to improper types + toff = offset to add to atom types + boff = offset to add to bond types + aoff = offset to add to angle types + doff = offset to add to dihedral types + ioff = offset to add to improper types </pre> </div> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>molecule 1 mymol molecule 1 co2.txt h2o.txt molecule CO2 co2.txt molecule 1 mymol offset 6 9 18 23 14 </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>Define a molecule template that can be used as part of other LAMMPS commands, typically to define a collection of particles as a bonded molecule or a rigid body. Commands that currently use molecule templates include:</p> <ul class="simple"> <li><a class="reference internal" href="fix_deposit.html"><em>fix deposit</em></a></li> <li><a class="reference internal" href="fix_pour.html"><em>fix pour</em></a></li> <li><a class="reference internal" href="fix_rigid.html"><em>fix rigid/small</em></a></li> <li><a class="reference internal" href="fix_shake.html"><em>fix shake</em></a></li> <li><a class="reference internal" href="fix_gcmc.html"><em>fix gcmc</em></a></li> <li><a class="reference internal" href="create_atoms.html"><em>create_atoms</em></a></li> <li><a class="reference internal" href="atom_style.html"><em>atom_style template</em></a></li> </ul> <p>The ID of a molecule template can only contain alphanumeric characters and underscores.</p> <p>A single template can contain multiple molecules, listed one per file. Many of the commands listed above currently use only the first molecule in the template, and will issue a warning if the template contains multiple molecules. The <a class="reference internal" href="atom_style.html"><em>atom_style template</em></a> command allows multiple-molecule templates to define a system with more than one templated molecule.</p> <p>The optional <em>offset</em> keyword adds the specified offset values to the atom types, bond types, angle types, dihedral types, and improper types as they are read from the molecule file. E.g. if <em>toff</em> = 2, and the file uses atom types 1,2,3, then each created molecule will have atom types 3,4,5. This is to make it easy to use the same molecule template file in different simulations. Note that the same offsets are applied to the molecules in all specified files. All five offset values must be speicified, but individual values will be ignored if the molecule template does not use that attribute (e.g. no bonds).</p> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">This command can be used to define molecules with bonds, angles, dihedrals, imporopers, or special bond lists of neighbors within a molecular topology, so that you can later add the molecules to your simulation, via one or more of the commands listed above. If such molecules do not already exist when LAMMPS creates the simulation box, via the <a class="reference internal" href="create_box.html"><em>create_box</em></a> or <a class="reference internal" href="read_data.html"><em>read_data</em></a> command, when you later add them you may overflow the pre-allocated data structures which store molecular topology information with each atom, and an error will be generated. Both the <a class="reference internal" href="create_box.html"><em>create_box</em></a> command and the data files read by the <a class="reference internal" href="read_data.html"><em>read_data</em></a> command have “extra” options which insure space is allocated for storing topology info for molecules that are added later.</p> </div> <p>The format of an individual molecule file is similar to the data file read by the <a class="reference internal" href="read_data.html"><em>read_data</em></a> commands, and is as follows.</p> <p>A molecule file has a header and a body. The header appears first. The first line of the header is always skipped; it typically contains a description of the file. Then lines are read one at a time. Lines can have a trailing comment starting with ‘#’ that is ignored. If the line is blank (only whitespace after comment is deleted), it is skipped. If the line contains a header keyword, the corresponding value(s) is read from the line. If it doesn’t contain a header keyword, the line begins the body of the file.</p> <p>The body of the file contains zero or more sections. The first line of a section has only a keyword. The next line is skipped. The remaining lines of the section contain values. The number of lines depends on the section keyword as described below. Zero or more blank lines can be used between sections. Sections can appear in any order, with a few exceptions as noted below.</p> <p>These are the recognized header keywords. Header lines can come in any order. The numeric value(s) are read from the beginning of the line. The keyword should appear at the end of the line. All these settings have default values, as explained below. A line need only appear if the value(s) are different than the default.</p> <ul class="simple"> <li>N <em>atoms</em> = # of atoms N in molecule, default = 0</li> <li>Nb <em>bonds</em> = # of bonds Nb in molecule, default = 0</li> <li>Na <em>angles</em> = # of angles Na in molecule, default = 0</li> <li>Nd <em>dihedrals</em> = # of dihedrals Nd in molecule, default = 0</li> <li>Ni <em>impropers</em> = # of impropers Ni in molecule, default = 0</li> <li>Mtotal <em>mass</em> = total mass of molecule</li> <li>Xc Yc Zc <em>com</em> = coordinates of center-of-mass of molecule</li> <li>Ixx Iyy Izz Ixy Ixz Iyz <em>inertia</em> = 6 components of inertia tensor of molecule</li> </ul> <p>For <em>mass</em>, <em>com</em>, and <em>inertia</em>, the default is for LAMMPS to calculate this quantity itself if needed, assuming the molecules consists of a set of point particles or finite-size particles (with a non-zero diameter) that do not overlap. If finite-size particles in the molecule do overlap, LAMMPS will not account for the overlap effects when calculating any of these 3 quantities, so you should pre-compute them yourself and list the values in the file.</p> <p>The mass and center-of-mass coordinates (Xc,Yc,Zc) are self-explanatory. The 6 moments of inertia (ixx,iyy,izz,ixy,ixz,iyz) should be the values consistent with the current orientation of the rigid body around its center of mass. The values are with respect to the simulation box XYZ axes, not with respect to the prinicpal axes of the rigid body itself. LAMMPS performs the latter calculation internally.</p> <p>These are the allowed section keywords for the body of the file.</p> <ul class="simple"> <li><em>Coords, Types, Charges, Diameters, Masses</em> = atom-property sections</li> <li><em>Bonds, Angles, Dihedrals, Impropers</em> = molecular topology sections</li> <li><em>Special Bond Counts, Special Bonds</em> = special neighbor info</li> <li><em>Shake Flags, Shake Atoms, Shake Bond Types</em> = SHAKE info</li> </ul> <p>If a Bonds section is specified then the Special Bond Counts and Special Bonds sections can also be used, if desired, to explicitly list the 1-2, 1-3, 1-4 neighbors within the molecule topology (see details below). This is optional since if these sections are not included, LAMMPS will auto-generate this information. Note that LAMMPS uses this info to properly exclude or weight bonded pairwise interactions between bonded atoms. See the <a class="reference internal" href="special_bonds.html"><em>special_bonds</em></a> command for more details. One reason to list the special bond info explicitly is for the <a class="reference internal" href="tutorial_drude.html"><em>thermalized Drude oscillator model</em></a> which treats the bonds between nuclear cores and Drude electrons in a different manner.</p> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">Whether a section is required depends on how the molecule template is used by other LAMMPS commands. For example, to add a molecule via the <a class="reference internal" href="fix_deposit.html"><em>fix deposit</em></a> command, the Coords and Types sections are required. To add a rigid body via the <code class="xref doc docutils literal"><span class="pre">fix</span> <span class="pre">pour</span></code> command, the Bonds (Angles, etc) sections are not required, since the molecule will be treated as a rigid body. Some sections are optional. For example, the <a class="reference internal" href="fix_pour.html"><em>fix pour</em></a> command can be used to add “molecules” which are clusters of finite-size granular particles. If the Diameters section is not specified, each particle in the molecule will have a default diameter of 1.0. See the doc pages for LAMMPS commands that use molecule templates for more details.</p> </div> <p>Each section is listed below in alphabetic order. The format of each section is described including the number of lines it must contain and rules (if any) for whether it can appear in the data file. In each case the ID is ignored; it is simply included for readability, and should be a number from 1 to Nlines for the section, indicating which atom (or bond, etc) the entry applies to. The lines are assumed to be listed in order from 1 to Nlines, but LAMMPS does not check for this.</p> <hr class="docutils" /> <p><em>Coords</em> section:</p> <ul class="simple"> <li>one line per atom</li> <li>line syntax: ID x y z</li> <li>x,y,z = coordinate of atom</li> </ul> <hr class="docutils" /> <p><em>Types</em> section:</p> <ul class="simple"> <li>one line per atom</li> <li>line syntax: ID type</li> <li>type = atom type of atom</li> </ul> <hr class="docutils" /> <p><em>Charges</em> section:</p> <ul class="simple"> <li>one line per atom</li> <li>line syntax: ID q</li> <li>q = charge on atom</li> </ul> <p>This section is only allowed for <a class="reference internal" href="atom_style.html"><em>atom styles</em></a> that support charge. If this section is not included, the default charge on each atom in the molecule is 0.0.</p> <hr class="docutils" /> <p><em>Diameters</em> section:</p> <ul class="simple"> <li>one line per atom</li> <li>line syntax: ID diam</li> <li>diam = diameter of atom</li> </ul> <p>This section is only allowed for <a class="reference internal" href="atom_style.html"><em>atom styles</em></a> that support finite-size spherical particles, e.g. atom_style sphere. If not listed, the default diameter of each atom in the molecule is 1.0.</p> <hr class="docutils" /> <p><em>Masses</em> section:</p> <ul class="simple"> <li>one line per atom</li> <li>line syntax: ID mass</li> <li>mass = mass of atom</li> </ul> <p>This section is only allowed for <a class="reference internal" href="atom_style.html"><em>atom styles</em></a> that support per-atom mass, as opposed to per-type mass. See the <a class="reference internal" href="mass.html"><em>mass</em></a> command for details. If this section is not included, the default mass for each atom is derived from its volume (see Diameters section) and a default density of 1.0, in <a class="reference internal" href="units.html"><em>units</em></a> of mass/volume.</p> <hr class="docutils" /> <p><em>Bonds</em> section:</p> <ul class="simple"> <li>one line per bond</li> <li>line syntax: ID type atom1 atom2</li> <li>type = bond type (1-Nbondtype)</li> <li>atom1,atom2 = IDs of atoms in bond</li> </ul> <p>The IDs for the two atoms in each bond should be values from 1 to Natoms, where Natoms = # of atoms in the molecule.</p> <hr class="docutils" /> <p><em>Angles</em> section:</p> <ul class="simple"> <li>one line per angle</li> <li>line syntax: ID type atom1 atom2 atom3</li> <li>type = angle type (1-Nangletype)</li> <li>atom1,atom2,atom3 = IDs of atoms in angle</li> </ul> <p>The IDs for the three atoms in each angle should be values from 1 to Natoms, where Natoms = # of atoms in the molecule. The 3 atoms are ordered linearly within the angle. Thus the central atom (around which the angle is computed) is the atom2 in the list.</p> <hr class="docutils" /> <p><em>Dihedrals</em> section:</p> <ul class="simple"> <li>one line per dihedral</li> <li>line syntax: ID type atom1 atom2 atom3 atom4</li> <li>type = dihedral type (1-Ndihedraltype)</li> <li>atom1,atom2,atom3,atom4 = IDs of atoms in dihedral</li> </ul> <p>The IDs for the four atoms in each dihedral should be values from 1 to Natoms, where Natoms = # of atoms in the molecule. The 4 atoms are ordered linearly within the dihedral.</p> <hr class="docutils" /> <p><em>Impropers</em> section:</p> <ul class="simple"> <li>one line per improper</li> <li>line syntax: ID type atom1 atom2 atom3 atom4</li> <li>type = improper type (1-Nimpropertype)</li> <li>atom1,atom2,atom3,atom4 = IDs of atoms in improper</li> </ul> <p>The IDs for the four atoms in each improper should be values from 1 to Natoms, where Natoms = # of atoms in the molecule. The ordering of the 4 atoms determines the definition of the improper angle used in the formula for the defined <a class="reference internal" href="improper_style.html"><em>improper style</em></a>. See the doc pages for individual styles for details.</p> <hr class="docutils" /> <p><em>Special Bond Counts</em> section:</p> <ul class="simple"> <li>one line per atom</li> <li>line syntax: ID N1 N2 N3</li> <li>N1 = # of 1-2 bonds</li> <li>N2 = # of 1-3 bonds</li> <li>N3 = # of 1-4 bonds</li> </ul> <p>N1, N2, N3 are the number of 1-2, 1-3, 1-4 neighbors respectively of this atom within the topology of the molecule. See the <a class="reference internal" href="special_bonds.html"><em>special_bonds</em></a> doc page for more discussion of 1-2, 1-3, 1-4 neighbors. If this section appears, the Special Bonds section must also appear. If this section is not specied, the atoms in the molecule will have no special bonds.</p> <hr class="docutils" /> <p><em>Special Bonds</em> section:</p> <ul class="simple"> <li>one line per atom</li> <li>line syntax: ID a b c d ...</li> <li>a,b,c,d,... = IDs of atoms in N1+N2+N3 special bonds</li> </ul> <p>A, b, c, d, etc are the IDs of the n1+n2+n3 atoms that are 1-2, 1-3, 1-4 neighbors of this atom. The IDs should be values from 1 to Natoms, where Natoms = # of atoms in the molecule. The first N1 values should be the 1-2 neighbors, the next N2 should be the 1-3 neighbors, the last N3 should be the 1-4 neighbors. No atom ID should appear more than once. See the <a class="reference internal" href="special_bonds.html"><em>special_bonds</em></a> doc page for more discussion of 1-2, 1-3, 1-4 neighbors. If this section appears, the Special Bond Counts section must also appear. If this section is not specied, the atoms in the molecule will have no special bonds.</p> <hr class="docutils" /> <p><em>Shake Flags</em> section:</p> <ul class="simple"> <li>one line per atom</li> <li>line syntax: ID flag</li> <li>flag = 0,1,2,3,4</li> </ul> <p>This section is only needed when molecules created using the template will be constrained by SHAKE via the “fix shake” command. The other two Shake sections must also appear in the file, following this one.</p> <p>The meaning of the flag for each atom is as follows. See the <a class="reference internal" href="fix_shake.html"><em>fix shake</em></a> doc page for a further description of SHAKE clusters.</p> <ul class="simple"> <li>0 = not part of a SHAKE cluster</li> <li>1 = part of a SHAKE angle cluster (two bonds and the angle they form)</li> <li>2 = part of a 2-atom SHAKE cluster with a single bond</li> <li>3 = part of a 3-atom SHAKE cluster with two bonds</li> <li>4 = part of a 4-atom SHAKE cluster with three bonds</li> </ul> <hr class="docutils" /> <p><em>Shake Atoms</em> section:</p> <ul class="simple"> <li>one line per atom</li> <li>line syntax: ID a b c d</li> <li>a,b,c,d = IDs of atoms in cluster</li> </ul> <p>This section is only needed when molecules created using the template will be constrained by SHAKE via the “fix shake” command. The other two Shake sections must also appear in the file.</p> <p>The a,b,c,d values are atom IDs (from 1 to Natoms) for all the atoms in the SHAKE cluster that this atom belongs to. The number of values that must appear is determined by the shake flag for the atom (see the Shake Flags section above). All atoms in a particular cluster should list their a,b,c,d values identically.</p> <p>If flag = 0, no a,b,c,d values are listed on the line, just the (ignored) ID.</p> <p>If flag = 1, a,b,c are listed, where a = ID of central atom in the angle, and b,c the other two atoms in the angle.</p> <p>If flag = 2, a,b are listed, where a = ID of atom in bond with the the lowest ID, and b = ID of atom in bond with the highest ID.</p> <p>If flag = 3, a,b,c are listed, where a = ID of central atom, and b,c = IDs of other two atoms bonded to the central atom.</p> <p>If flag = 4, a,b,c,d are listed, where a = ID of central atom, and b,c,d = IDs of other three atoms bonded to the central atom.</p> <p>See the <a class="reference internal" href="fix_shake.html"><em>fix shake</em></a> doc page for a further description of SHAKE clusters.</p> <hr class="docutils" /> <p><em>Shake Bond Types</em> section:</p> <ul class="simple"> <li>one line per atom</li> <li>line syntax: ID a b c</li> <li>a,b,c = bond types (or angle type) of bonds (or angle) in cluster</li> </ul> <p>This section is only needed when molecules created using the template will be constrained by SHAKE via the “fix shake” command. The other two Shake sections must also appear in the file.</p> <p>The a,b,c values are bond types (from 1 to Nbondtypes) for all bonds in the SHAKE cluster that this atom belongs to. The number of values that must appear is determined by the shake flag for the atom (see the Shake Flags section above). All atoms in a particular cluster should list their a,b,c values identically.</p> <p>If flag = 0, no a,b,c values are listed on the line, just the (ignored) ID.</p> <p>If flag = 1, a,b,c are listed, where a = bondtype of the bond between the central atom and the first non-central atom (value b in the Shake Atoms section), b = bondtype of the bond between the central atom and the 2nd non-central atom (value c in the Shake Atoms section), and c = the angle type (1 to Nangletypes) of the angle between the 3 atoms.</p> <p>If flag = 2, only a is listed, where a = bondtype of the bond between the 2 atoms in the cluster.</p> <p>If flag = 3, a,b are listed, where a = bondtype of the bond between the central atom and the first non-central atom (value b in the Shake Atoms section), and b = bondtype of the bond between the central atom and the 2nd non-central atom (value c in the Shake Atoms section).</p> <p>If flag = 4, a,b,c are listed, where a = bondtype of the bond between the central atom and the first non-central atom (value b in the Shake Atoms section), b = bondtype of the bond between the central atom and the 2nd non-central atom (value c in the Shake Atoms section), and c = bondtype of the bond between the central atom and the 3rd non-central atom (value d in the Shake Atoms section).</p> <p>See the <a class="reference internal" href="fix_shake.html"><em>fix shake</em></a> doc page for a further description of SHAKE clusters.</p> </div> <hr class="docutils" /> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <blockquote> <div>none</div></blockquote> </div> <div class="section" id="related-commands"> <h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2> <p><a class="reference internal" href="fix_deposit.html"><em>fix deposit</em></a>, <a class="reference internal" href="fix_pour.html"><em>fix pour</em></a>, <a class="reference internal" href="fix_gcmc.html"><em>fix_gcmc</em></a></p> </div> <div class="section" id="default"> <h2>Default<a class="headerlink" href="#default" title="Permalink to this headline">¶</a></h2> <p>The default keyword value is offset 0 0 0 0 0.</p> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/neb.html b/doc/neb.html index 263cd66f5..45631fe49 100644 --- a/doc/neb.html +++ b/doc/neb.html @@ -1,584 +1,584 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>neb command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>neb command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="neb-command"> <span id="index-0"></span><h1>neb command<a class="headerlink" href="#neb-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>neb etol ftol N1 N2 Nevery file-style arg </pre></div> </div> <ul class="simple"> <li>etol = stopping tolerance for energy (energy units)</li> <li>ftol = stopping tolerance for force (force units)</li> <li>N1 = max # of iterations (timesteps) to run initial NEB</li> <li>N2 = max # of iterations (timesteps) to run barrier-climbing NEB</li> <li>Nevery = print replica energies and reaction coordinates every this many timesteps</li> <li>file-style= <em>final</em> or <em>each</em> or <em>none</em></li> </ul> <pre class="literal-block"> <em>final</em> arg = filename - filename = file with initial coords for final replica - coords for intermediate replicas are linearly interpolated between first and last replica - <em>each</em> arg = filename - filename = unique filename for each replica (except first) with its initial coords - <em>none</em> arg = no argument - all replicas assumed to already have their initial coords + filename = file with initial coords for final replica + coords for intermediate replicas are linearly interpolated between first and last replica +<em>each</em> arg = filename + filename = unique filename for each replica (except first) with its initial coords +<em>none</em> arg = no argument + all replicas assumed to already have their initial coords </pre> </div> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>neb 0.1 0.0 1000 500 50 final coords.final neb 0.0 0.001 1000 500 50 each coords.initial.$i neb 0.0 0.001 1000 500 50 none </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>Perform a nudged elastic band (NEB) calculation using multiple replicas of a system. Two or more replicas must be used; the first and last are the end points of the transition path.</p> <p>NEB is a method for finding both the atomic configurations and height of the energy barrier associated with a transition state, e.g. for an atom to perform a diffusive hop from one energy basin to another in a coordinated fashion with its neighbors. The implementation in LAMMPS follows the discussion in these 3 papers: <a class="reference internal" href="#henkelman1"><span>(Henkelman1)</span></a>, <a class="reference internal" href="#henkelman2"><span>(Henkelman2)</span></a>, and <a class="reference internal" href="#nakano"><span>(Nakano)</span></a>.</p> <p>Each replica runs on a partition of one or more processors. Processor partitions are defined at run-time using the -partition command-line switch; see <a class="reference internal" href="Section_start.html#start-7"><span>Section_start 7</span></a> of the manual. Note that if you have MPI installed, you can run a multi-replica simulation with more replicas (partitions) than you have physical processors, e.g you can run a 10-replica simulation on just one or two processors. You will simply not get the performance speed-up you would see with one or more physical processors per replica. See <a class="reference internal" href="Section_howto.html#howto-5"><span>this section</span></a> of the manual for further discussion.</p> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">The current NEB implementation in LAMMPS only allows there to be one processor per replica.</p> </div> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">As explained below, a NEB calculation perfoms a damped dynamics minimization across all the replicas. The mimimizer uses whatever timestep you have defined in your input script, via the <a class="reference internal" href="timestep.html"><em>timestep</em></a> command. Often NEB will converge more quickly if you use a timestep about 10x larger than you would normally use for dynamics simulations.</p> </div> <p>When a NEB calculation is performed, it is assumed that each replica is running the same system, though LAMMPS does not check for this. I.e. the simulation domain, the number of atoms, the interaction potentials, and the starting configuration when the neb command is issued should be the same for every replica.</p> <p>In a NEB calculation each atom in a replica is connected to the same atom in adjacent replicas by springs, which induce inter-replica forces. These forces are imposed by the <a class="reference internal" href="fix_neb.html"><em>fix neb</em></a> command, which must be used in conjunction with the neb command. The group used to define the fix neb command defines the NEB atoms which are the only ones that inter-replica springs are applied to. If the group does not include all atoms, then non-NEB atoms have no inter-replica springs and the forces they feel and their motion is computed in the usual way due only to other atoms within their replica. Conceptually, the non-NEB atoms provide a background force field for the NEB atoms. They can be allowed to move during the NEB minimiation procedure (which will typically induce different coordinates for non-NEB atoms in different replicas), or held fixed using other LAMMPS commands such as <a class="reference external" href="fix_setforce">fix setforce</a>. Note that the <a class="reference internal" href="partition.html"><em>partition</em></a> command can be used to invoke a command on a subset of the replicas, e.g. if you wish to hold NEB or non-NEB atoms fixed in only the end-point replicas.</p> <p>The initial atomic configuration for each of the replicas can be specified in different manners via the <em>file-style</em> setting, as discussed below. Only atoms whose initial coordinates should differ from the current configuration need be specified.</p> <p>Conceptually, the initial configuration for the first replica should be a state with all the atoms (NEB and non-NEB) having coordinates on one side of the energy barrier. A perfect energy minimum is not required, since atoms in the first replica experience no spring forces from the 2nd replica. Thus the damped dynamics minimizaiton will drive the first replica to an energy minimum if it is not already there. However, you will typically get better convergence if the initial state is already at a minimum. For example, for a system with a free surface, the surface should be fully relaxed before attempting a NEB calculation.</p> <p>Likewise, the initial configuration of the final replica should be a state with all the atoms (NEB and non-NEB) on the other side of the energy barrier. Again, a perfect energy minimum is not required, since the atoms in the last replica also experience no spring forces from the next-to-last replica, and thus the damped dynamics minimization will drive it to an energy minimum.</p> <p>As explained below, the initial configurations of intermediate replicas can be atomic coordinates interpolated in a linear fashion between the first and last replicas. This is often adequate state for simple transitions. For more complex transitions, it may lead to slow convergence or even bad results if the minimum energy path (MEP, see below) of states over the barrier cannot be correctly converged to from such an initial configuration. In this case, you will want to generate initial states for the intermediate replicas that are geometrically closer to the MEP and read them in.</p> <hr class="docutils" /> <p>For a <em>file-style</em> setting of <em>final</em>, a filename is specified which contains atomic coordinates for zero or more atoms, in the format described below. For each atom that appears in the file, the new coordinates are assigned to that atom in the final replica. Each intermediate replica also assigns a new position to that atom in an interpolated manner. This is done by using the current position of the atom as the starting point and the read-in position as the final point. The distance between them is calculated, and the new position is assigned to be a fraction of the distance. E.g. if there are 10 replicas, the 2nd replica will assign a position that is 10% of the distance along a line between the starting and final point, and the 9th replica will assign a position that is 90% of the distance along the line. Note that this procedure to produce consistent coordinates across all the replicas, the current coordinates need to be the same in all replicas. LAMMPS does not check for this, but invalid initial configurations will likely result if it is not the case.</p> <div class="admonition note"> <p class="first admonition-title">Note</p> <p class="last">The “distance” between the starting and final point is calculated in a minimum-image sense for a periodic simulation box. This means that if the two positions are on opposite sides of a box (periodic in that dimension), the distance between them will be small, because the periodic image of one of the atoms is close to the other. Similarly, even if the assigned position resulting from the interpolation is outside the periodic box, the atom will be wrapped back into the box when the NEB calculation begins.</p> </div> <p>For a <em>file-style</em> setting of <em>each</em>, a filename is specified which is assumed to be unique to each replica. This can be done by using a variable in the filename, e.g.</p> <div class="highlight-python"><div class="highlight"><pre>variable i equal part neb 0.0 0.001 1000 500 50 each coords.initial.$i </pre></div> </div> <p>which in this case will substitute the partition ID (0 to N-1) for the variable I, which is also effectively the replica ID. See the <a class="reference internal" href="variable.html"><em>variable</em></a> command for other options, such as using world-, universe-, or uloop-style variables.</p> <p>Each replica (except the first replica) will read its file, formatted as described below, and for any atom that appears in the file, assign the specified coordinates to its atom. The various files do not need to contain the same set of atoms.</p> <p>For a <em>file-style</em> setting of <em>none</em>, no filename is specified. Each replica is assumed to already be in its initial configuration at the time the neb command is issued. This allows each replica to define its own configuration by reading a replica-specific data or restart or dump file, via the <a class="reference internal" href="read_data.html"><em>read_data</em></a>, <a class="reference internal" href="read_restart.html"><em>read_restart</em></a>, or <a class="reference internal" href="read_dump.html"><em>read_dump</em></a> commands. The replica-specific names of these files can be specified as in the discussion above for the <em>each</em> file-style. Also see the section below for how a NEB calculation can produce restart files, so that a long calculation can be restarted if needed.</p> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">None of the <em>file-style</em> settings change the initial configuration of any atom in the first replica. The first replica must thus be in the correct initial configuration at the time the neb command is issued.</p> </div> <hr class="docutils" /> <p>A NEB calculation proceeds in two stages, each of which is a minimization procedure, performed via damped dynamics. To enable this, you must first define a damped dynamics <a class="reference internal" href="min_style.html"><em>min_style</em></a>, such as <em>quickmin</em> or <em>fire</em>. The <em>cg</em>, <em>sd</em>, and <em>hftn</em> styles cannot be used, since they perform iterative line searches in their inner loop, which cannot be easily synchronized across multiple replicas.</p> <p>The minimizer tolerances for energy and force are set by <em>etol</em> and <em>ftol</em>, the same as for the <a class="reference internal" href="minimize.html"><em>minimize</em></a> command.</p> <p>A non-zero <em>etol</em> means that the NEB calculation will terminate if the energy criterion is met by every replica. The energies being compared to <em>etol</em> do not include any contribution from the inter-replica forces, since these are non-conservative. A non-zero <em>ftol</em> means that the NEB calculation will terminate if the force criterion is met by every replica. The forces being compared to <em>ftol</em> include the inter-replica forces between an atom and its images in adjacent replicas.</p> <p>The maximum number of iterations in each stage is set by <em>N1</em> and <em>N2</em>. These are effectively timestep counts since each iteration of damped dynamics is like a single timestep in a dynamics <a class="reference internal" href="run.html"><em>run</em></a>. During both stages, the potential energy of each replica and its normalized distance along the reaction path (reaction coordinate RD) will be printed to the screen and log file every <em>Nevery</em> timesteps. The RD is 0 and 1 for the first and last replica. For intermediate replicas, it is the cumulative distance (normalized by the total cumulative distance) between adjacent replicas, where “distance” is defined as the length of the 3N-vector of differences in atomic coordinates, where N is the number of NEB atoms involved in the transition. These outputs allow you to monitor NEB’s progress in finding a good energy barrier. <em>N1</em> and <em>N2</em> must both be multiples of <em>Nevery</em>.</p> <p>In the first stage of NEB, the set of replicas should converge toward the minimum energy path (MEP) of conformational states that transition over the barrier. The MEP for a barrier is defined as a sequence of 3N-dimensional states that cross the barrier at its saddle point, each of which has a potential energy gradient parallel to the MEP itself. The replica states will also be roughly equally spaced along the MEP due to the inter-replica spring force added by the <a class="reference internal" href="fix_neb.html"><em>fix neb</em></a> command.</p> <p>In the second stage of NEB, the replica with the highest energy is selected and the inter-replica forces on it are converted to a force that drives its atom coordinates to the top or saddle point of the barrier, via the barrier-climbing calculation described in <span class="xref std std-ref">(Henkelman2)</span>. As before, the other replicas rearrange themselves along the MEP so as to be roughly equally spaced.</p> <p>When both stages are complete, if the NEB calculation was successful, one of the replicas should be an atomic configuration at the top or saddle point of the barrier, the potential energies for the set of replicas should represent the energy profile of the barrier along the MEP, and the configurations of the replicas should be a sequence of configurations along the MEP.</p> <hr class="docutils" /> <p>A few other settings in your input script are required or advised to perform a NEB calculation. See the IMPORTANT NOTE about the choice of timestep at the beginning of this doc page.</p> <p>An atom map must be defined which it is not by default for <a class="reference internal" href="atom_style.html"><em>atom_style atomic</em></a> problems. The <a class="reference internal" href="atom_modify.html"><em>atom_modify map</em></a> command can be used to do this.</p> <p>The “atom_modify sort 0 0.0” command should be used to turn off atom sorting.</p> <div class="admonition note"> <p class="first admonition-title">Note</p> <p class="last">This sorting restriction will be removed in a future version of NEB in LAMMPS.</p> </div> <p>The minimizers in LAMMPS operate on all atoms in your system, even non-NEB atoms, as defined above. To prevent non-NEB atoms from moving during the minimization, you should use the <a class="reference internal" href="fix_setforce.html"><em>fix setforce</em></a> command to set the force on each of those atoms to 0.0. This is not required, and may not even be desired in some cases, but if those atoms move too far (e.g. because the initial state of your system was not well-minimized), it can cause problems for the NEB procedure.</p> <p>The damped dynamics <a class="reference internal" href="min_style.html"><em>minimizers</em></a>, such as <em>quickmin</em> and <em>fire</em>), adjust the position and velocity of the atoms via an Euler integration step. Thus you must define an appropriate <a class="reference internal" href="timestep.html"><em>timestep</em></a> to use with NEB. As mentioned above, NEB will often converge more quickly if you use a timestep about 10x larger than you would normally use for dynamics simulations.</p> <hr class="docutils" /> <p>Each file read by the neb command containing atomic coordinates used to initialize one or more replicas must be formatted as follows.</p> <p>The file can be ASCII text or a gzipped text file (detected by a .gz suffix). The file can contain initial blank lines or comment lines starting with “#” which are ignored. The first non-blank, non-comment line should list N = the number of lines to follow. The N successive lines contain the following information:</p> <div class="highlight-python"><div class="highlight"><pre>ID1 x1 y1 z1 ID2 x2 y2 z2 ... IDN xN yN zN </pre></div> </div> <p>The fields are the the atom ID, followed by the x,y,z coordinates. The lines can be listed in any order. Additional trailing information on the line is OK, such as a comment.</p> <p>Note that for a typical NEB calculation you do not need to specify initial coordinates for very many atoms to produce differing starting and final replicas whose intermediate replicas will converge to the energy barrier. Typically only new coordinates for atoms geometrically near the barrier need be specified.</p> <p>Also note there is no requirement that the atoms in the file correspond to the NEB atoms in the group defined by the <a class="reference internal" href="fix_neb.html"><em>fix neb</em></a> command. Not every NEB atom need be in the file, and non-NEB atoms can be listed in the file.</p> <hr class="docutils" /> <p>Four kinds of output can be generated during a NEB calculation: energy barrier statistics, thermodynamic output by each replica, dump files, and restart files.</p> <p>When running with multiple partitions (each of which is a replica in this case), the print-out to the screen and master log.lammps file contains a line of output, printed once every <em>Nevery</em> timesteps. It contains the timestep, the maximum force per replica, the maximum force per atom (in any replica), potential gradients in the initial,</p> <blockquote> <div>final, and climbing replicas,</div></blockquote> <p>the forward and backward energy barriers, the total reaction coordinate (RDT), and the normalized reaction coordinate and potential energy of each replica.</p> <p>The “maximum force per replica” is the two-norm of the 3N-length force vector for the atoms in each replica, maximized across replicas, which is what the <em>ftol</em> setting is checking against. In this case, N is all the atoms in each replica. The “maximum force per atom” is the maximum force component of any atom in any replica. The potential gradients are the two-norm of the 3N-length force vector solely due to the interaction potential i.e. without adding in inter-replica forces. Note that inter-replica forces are zero in the initial and final replicas, and only affect the direction in the climbing replica. For this reason, the “maximum force per replica” is often equal to the potential gradient in the climbing replica. In the first stage of NEB, there is no climbing replica, and so the potential gradient in the highest energy replica is reported, since this replica will become the climbing replica in the second stage of NEB.</p> <p>The “reaction coordinate” (RD) for each replica is the two-norm of the 3N-length vector of distances between its atoms and the preceding replica’s atoms, added to the RD of the preceding replica. The RD of the first replica RD1 = 0.0; the RD of the final replica RDN = RDT, the total reaction coordinate. The normalized RDs are divided by RDT, so that they form a monotonically increasing sequence from zero to one. When computing RD, N only includes the atoms being operated on by the fix neb command.</p> <p>The forward (reverse) energy barrier is the potential energy of the highest replica minus the energy of the first (last) replica.</p> <p>When running on multiple partitions, LAMMPS produces additional log files for each partition, e.g. log.lammps.0, log.lammps.1, etc. For a NEB calculation, these contain the thermodynamic output for each replica.</p> <p>If <a class="reference internal" href="dump.html"><em>dump</em></a> commands in the input script define a filename that includes a <em>universe</em> or <em>uloop</em> style <a class="reference internal" href="variable.html"><em>variable</em></a>, then one dump file (per dump command) will be created for each replica. At the end of the NEB calculation, the final snapshot in each file will contain the sequence of snapshots that transition the system over the energy barrier. Earlier snapshots will show the convergence of the replicas to the MEP.</p> <p>Likewise, <a class="reference internal" href="restart.html"><em>restart</em></a> filenames can be specified with a <em>universe</em> or <em>uloop</em> style <a class="reference internal" href="variable.html"><em>variable</em></a>, to generate restart files for each replica. These may be useful if the NEB calculation fails to converge properly to the MEP, and you wish to restart the calculation from an intermediate point with altered parameters.</p> <p>There are 2 Python scripts provided in the tools/python directory, neb_combine.py and neb_final.py, which are useful in analyzing output from a NEB calculation. Assume a NEB simulation with M replicas, and the NEB atoms labelled with a specific atom type.</p> <p>The neb_combine.py script extracts atom coords for the NEB atoms from all M dump files and creates a single dump file where each snapshot contains the NEB atoms from all the replicas and one copy of non-NEB atoms from the first replica (presumed to be identical in other replicas). This can be visualized/animated to see how the NEB atoms relax as the NEB calculation proceeds.</p> <p>The neb_final.py script extracts the final snapshot from each of the M dump files to create a single dump file with M snapshots. This can be visualized to watch the system make its transition over the energy barrier.</p> <p>To illustrate, here are images from the final snapshot produced by the neb_combine.py script run on the dump files produced by the two example input scripts in examples/neb. Click on them to see a larger image.</p> <a data-lightbox="group-default" href="_images/hop1.jpg" class="" title="" data-title="" ><img src="_images/hop1.jpg" class="" width="25%" height="auto" alt=""/> </a><a data-lightbox="group-default" href="_images/hop2.jpg" class="" title="" data-title="" ><img src="_images/hop2.jpg" class="" width="25%" height="auto" alt=""/> </a></div> <hr class="docutils" /> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <p>This command can only be used if LAMMPS was built with the REPLICA package. See the <a class="reference internal" href="Section_start.html#start-3"><span>Making LAMMPS</span></a> section for more info on packages.</p> </div> <div class="section" id="related-commands"> <h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2> <p><a class="reference internal" href="prd.html"><em>prd</em></a>, <a class="reference internal" href="temper.html"><em>temper</em></a>, <a class="reference internal" href="fix_langevin.html"><em>fix langevin</em></a>, <a class="reference internal" href="fix_viscous.html"><em>fix viscous</em></a></p> <p><strong>Default:</strong> none</p> <hr class="docutils" /> <p id="henkelman1"><strong>(Henkelman1)</strong> Henkelman and Jonsson, J Chem Phys, 113, 9978-9985 (2000).</p> <p id="henkelman2"><strong>(Henkelman2)</strong> Henkelman, Uberuaga, Jonsson, J Chem Phys, 113, 9901-9904 (2000).</p> <p id="nakano"><strong>(Nakano)</strong> Nakano, Comp Phys Comm, 178, 280-289 (2008).</p> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/package.html b/doc/package.html index 620ce5c35..8e2b6375b 100644 --- a/doc/package.html +++ b/doc/package.html @@ -1,763 +1,763 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>package command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>package command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="package-command"> <span id="index-0"></span><h1>package command<a class="headerlink" href="#package-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>package style args </pre></div> </div> <ul class="simple"> <li>style = <em>cuda</em> or <em>gpu</em> or <em>intel</em> or <em>kokkos</em> or <em>omp</em></li> <li>args = arguments specific to the style</li> </ul> <pre class="literal-block"> <em>cuda</em> args = Ngpu keyword value ... - Ngpu = # of GPUs per node - zero or more keyword/value pairs may be appended - keywords = <em>newton</em> or <em>gpuID</em> or <em>timing</em> or <em>test</em> or <em>thread</em> - <em>newton</em> = <em>off</em> or <em>on</em> - off = set Newton pairwise and bonded flags off (default) - on = set Newton pairwise and bonded flags on - <em>gpuID</em> values = gpu1 .. gpuN - gpu1 .. gpuN = IDs of the Ngpu GPUs to use - <em>timing</em> values = none - <em>test</em> values = id - id = atom-ID of a test particle - <em>thread</em> = auto or tpa or bpa - auto = test whether tpa or bpa is faster - tpa = one thread per atom - bpa = one block per atom - <em>gpu</em> args = Ngpu keyword value ... - Ngpu = # of GPUs per node - zero or more keyword/value pairs may be appended - keywords = <em>neigh</em> or <em>newton</em> or <em>binsize</em> or <em>split</em> or <em>gpuID</em> or <em>tpa</em> or <em>device</em> - <em>neigh</em> value = <em>yes</em> or <em>no</em> - yes = neighbor list build on GPU (default) - no = neighbor list build on CPU - <em>newton</em> = <em>off</em> or <em>on</em> - off = set Newton pairwise flag off (default and required) - on = set Newton pairwise flag on (currently not allowed) - <em>binsize</em> value = size - size = bin size for neighbor list construction (distance units) - <em>split</em> = fraction - fraction = fraction of atoms assigned to GPU (default = 1.0) - <em>gpuID</em> values = first last - first = ID of first GPU to be used on each node - last = ID of last GPU to be used on each node - <em>tpa</em> value = Nthreads - Nthreads = # of GPU threads used per atom - <em>device</em> value = device_type - device_type = <em>kepler</em> or <em>fermi</em> or <em>cypress</em> or <em>generic</em> - <em>intel</em> args = NPhi keyword value ... - Nphi = # of coprocessors per node - zero or more keyword/value pairs may be appended - keywords = <em>omp</em> or <em>mode</em> or <em>balance</em> or <em>ghost</em> or <em>tpc</em> or <em>tptask</em> or <em>no_affinity</em> - <em>omp</em> value = Nthreads - Nthreads = number of OpenMP threads to use on CPU (default = 0) - <em>mode</em> value = <em>single</em> or <em>mixed</em> or <em>double</em> - single = perform force calculations in single precision - mixed = perform force calculations in mixed precision - double = perform force calculations in double precision - <em>balance</em> value = split - split = fraction of work to offload to coprocessor, -1 for dynamic - <em>ghost</em> value = <em>yes</em> or <em>no</em> - yes = include ghost atoms for offload - no = do not include ghost atoms for offload - <em>tpc</em> value = Ntpc - Ntpc = max number of coprocessor threads per coprocessor core (default = 4) - <em>tptask</em> value = Ntptask - Ntptask = max number of coprocessor threads per MPI task (default = 240) - <em>no_affinity</em> values = none - <em>kokkos</em> args = keyword value ... - zero or more keyword/value pairs may be appended - keywords = <em>neigh</em> or <em>newton</em> or <em>binsize</em> or <em>comm</em> or <em>comm/exchange</em> or <em>comm/forward</em> - <em>neigh</em> value = <em>full</em> or <em>half/thread</em> or <em>half</em> or <em>n2</em> or <em>full/cluster</em> - full = full neighbor list - half/thread = half neighbor list built in thread-safe manner - half = half neighbor list, not thread-safe, only use when 1 thread/MPI task - n2 = non-binning neighbor list build, O(N^2) algorithm - full/cluster = full neighbor list with clustered groups of atoms - <em>newton</em> = <em>off</em> or <em>on</em> - off = set Newton pairwise and bonded flags off (default) - on = set Newton pairwise and bonded flags on - <em>binsize</em> value = size - size = bin size for neighbor list construction (distance units) - <em>comm</em> value = <em>no</em> or <em>host</em> or <em>device</em> - use value for both comm/exchange and comm/forward - <em>comm/exchange</em> value = <em>no</em> or <em>host</em> or <em>device</em> - <em>comm/forward</em> value = <em>no</em> or <em>host</em> or <em>device</em> - no = perform communication pack/unpack in non-KOKKOS mode - host = perform pack/unpack on host (e.g. with OpenMP threading) - device = perform pack/unpack on device (e.g. on GPU) - <em>omp</em> args = Nthreads keyword value ... - Nthread = # of OpenMP threads to associate with each MPI process - zero or more keyword/value pairs may be appended - keywords = <em>neigh</em> - <em>neigh</em> value = <em>yes</em> or <em>no</em> - yes = threaded neighbor list build (default) - no = non-threaded neighbor list build + Ngpu = # of GPUs per node + zero or more keyword/value pairs may be appended + keywords = <em>newton</em> or <em>gpuID</em> or <em>timing</em> or <em>test</em> or <em>thread</em> + <em>newton</em> = <em>off</em> or <em>on</em> + off = set Newton pairwise and bonded flags off (default) + on = set Newton pairwise and bonded flags on + <em>gpuID</em> values = gpu1 .. gpuN + gpu1 .. gpuN = IDs of the Ngpu GPUs to use + <em>timing</em> values = none + <em>test</em> values = id + id = atom-ID of a test particle + <em>thread</em> = auto or tpa or bpa + auto = test whether tpa or bpa is faster + tpa = one thread per atom + bpa = one block per atom +<em>gpu</em> args = Ngpu keyword value ... + Ngpu = # of GPUs per node + zero or more keyword/value pairs may be appended + keywords = <em>neigh</em> or <em>newton</em> or <em>binsize</em> or <em>split</em> or <em>gpuID</em> or <em>tpa</em> or <em>device</em> + <em>neigh</em> value = <em>yes</em> or <em>no</em> + yes = neighbor list build on GPU (default) + no = neighbor list build on CPU + <em>newton</em> = <em>off</em> or <em>on</em> + off = set Newton pairwise flag off (default and required) + on = set Newton pairwise flag on (currently not allowed) + <em>binsize</em> value = size + size = bin size for neighbor list construction (distance units) + <em>split</em> = fraction + fraction = fraction of atoms assigned to GPU (default = 1.0) + <em>gpuID</em> values = first last + first = ID of first GPU to be used on each node + last = ID of last GPU to be used on each node + <em>tpa</em> value = Nthreads + Nthreads = # of GPU threads used per atom + <em>device</em> value = device_type + device_type = <em>kepler</em> or <em>fermi</em> or <em>cypress</em> or <em>generic</em> +<em>intel</em> args = NPhi keyword value ... + Nphi = # of coprocessors per node + zero or more keyword/value pairs may be appended + keywords = <em>omp</em> or <em>mode</em> or <em>balance</em> or <em>ghost</em> or <em>tpc</em> or <em>tptask</em> or <em>no_affinity</em> + <em>omp</em> value = Nthreads + Nthreads = number of OpenMP threads to use on CPU (default = 0) + <em>mode</em> value = <em>single</em> or <em>mixed</em> or <em>double</em> + single = perform force calculations in single precision + mixed = perform force calculations in mixed precision + double = perform force calculations in double precision + <em>balance</em> value = split + split = fraction of work to offload to coprocessor, -1 for dynamic + <em>ghost</em> value = <em>yes</em> or <em>no</em> + yes = include ghost atoms for offload + no = do not include ghost atoms for offload + <em>tpc</em> value = Ntpc + Ntpc = max number of coprocessor threads per coprocessor core (default = 4) + <em>tptask</em> value = Ntptask + Ntptask = max number of coprocessor threads per MPI task (default = 240) + <em>no_affinity</em> values = none +<em>kokkos</em> args = keyword value ... + zero or more keyword/value pairs may be appended + keywords = <em>neigh</em> or <em>newton</em> or <em>binsize</em> or <em>comm</em> or <em>comm/exchange</em> or <em>comm/forward</em> + <em>neigh</em> value = <em>full</em> or <em>half/thread</em> or <em>half</em> or <em>n2</em> or <em>full/cluster</em> + full = full neighbor list + half/thread = half neighbor list built in thread-safe manner + half = half neighbor list, not thread-safe, only use when 1 thread/MPI task + n2 = non-binning neighbor list build, O(N^2) algorithm + full/cluster = full neighbor list with clustered groups of atoms + <em>newton</em> = <em>off</em> or <em>on</em> + off = set Newton pairwise and bonded flags off (default) + on = set Newton pairwise and bonded flags on + <em>binsize</em> value = size + size = bin size for neighbor list construction (distance units) + <em>comm</em> value = <em>no</em> or <em>host</em> or <em>device</em> + use value for both comm/exchange and comm/forward + <em>comm/exchange</em> value = <em>no</em> or <em>host</em> or <em>device</em> + <em>comm/forward</em> value = <em>no</em> or <em>host</em> or <em>device</em> + no = perform communication pack/unpack in non-KOKKOS mode + host = perform pack/unpack on host (e.g. with OpenMP threading) + device = perform pack/unpack on device (e.g. on GPU) +<em>omp</em> args = Nthreads keyword value ... + Nthread = # of OpenMP threads to associate with each MPI process + zero or more keyword/value pairs may be appended + keywords = <em>neigh</em> + <em>neigh</em> value = <em>yes</em> or <em>no</em> + yes = threaded neighbor list build (default) + no = non-threaded neighbor list build </pre> </div> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>package gpu 1 package gpu 1 split 0.75 package gpu 2 split -1.0 package cuda 2 gpuID 0 2 package cuda 1 test 3948 package kokkos neigh half/thread comm device package omp 0 neigh no package omp 4 package intel 1 package intel 2 omp 4 mode mixed balance 0.5 </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>This command invokes package-specific settings for the various accelerator packages available in LAMMPS. Currently the following packages use settings from this command: USER-CUDA, GPU, USER-INTEL, KOKKOS, and USER-OMP.</p> <p>If this command is specified in an input script, it must be near the top of the script, before the simulation box has been defined. This is because it specifies settings that the accelerator packages use in their intialization, before a simultion is defined.</p> <p>This command can also be specified from the command-line when launching LAMMPS, using the “-pk” <a class="reference internal" href="Section_start.html#start-7"><span>command-line switch</span></a>. The syntax is exactly the same as when used in an input script.</p> <p>Note that all of the accelerator packages require the package command to be specified (except the OPT package), if the package is to be used in a simulation (LAMMPS can be built with an accelerator package without using it in a particular simulation). However, in all cases, a default version of the command is typically invoked by other accelerator settings.</p> <p>The USER-CUDA and KOKKOS packages require a “-c on” or “-k on” <a class="reference internal" href="Section_start.html#start-7"><span>command-line switch</span></a> respectively, which invokes a “package cuda” or “package kokkos” command with default settings.</p> <p>For the GPU, USER-INTEL, and USER-OMP packages, if a “-sf gpu” or “-sf intel” or “-sf omp” <a class="reference internal" href="Section_start.html#start-7"><span>command-line switch</span></a> is used to auto-append accelerator suffixes to various styles in the input script, then those switches also invoke a “package gpu”, “package intel”, or “package omp” command with default settings.</p> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">A package command for a particular style can be invoked multiple times when a simulation is setup, e.g. by the “-c on”, “-k on”, “-sf”, and “-pk” <a class="reference internal" href="Section_start.html#start-7"><span>command-line switches</span></a>, and by using this command in an input script. Each time it is used all of the style options are set, either to default values or to specified settings. I.e. settings from previous invocations do not persist across multiple invocations.</p> </div> <p>See the <a class="reference internal" href="Section_accelerate.html"><em>Section Accelerate</em></a> section of the manual for more details about using the various accelerator packages for speeding up LAMMPS simulations.</p> <hr class="docutils" /> <p>The <em>cuda</em> style invokes settings associated with the use of the USER-CUDA package.</p> <p>The <em>Ngpus</em> argument sets the number of GPUs per node. There must be exactly one MPI task per GPU, as set by the mpirun or mpiexec command.</p> <p>Optional keyword/value pairs can also be specified. Each has a default value as listed below.</p> <p>The <em>newton</em> keyword sets the Newton flags for pairwise and bonded interactions to <em>off</em> or <em>on</em>, the same as the <a class="reference internal" href="newton.html"><em>newton</em></a> command allows. The default is <em>off</em> because this will almost always give better performance for the USER-CUDA package. This means more computation is done, but less communication.</p> <p>The <em>gpuID</em> keyword allows selection of which GPUs on each node will be used for a simulation. GPU IDs range from 0 to N-1 where N is the physical number of GPUs/node. An ID is specified for each of the Ngpus being used. For example if you have three GPUs on a machine, one of which is used for the X-Server (the GPU with the ID 1) while the others (with IDs 0 and 2) are used for computations you would specify:</p> <div class="highlight-python"><div class="highlight"><pre>package cuda 2 gpuID 0 2 </pre></div> </div> <p>The purpose of the <em>gpuID</em> keyword is to allow two (or more) simulations to be run on one workstation. In that case one could set the first simulation to use GPU 0 and the second to use GPU 1. This is not necessary however, if the GPUs are in what is called <em>compute exclusive</em> mode. Using that setting, every process will get its own GPU automatically. This <em>compute exclusive</em> mode can be set as root using the <em>nvidia-smi</em> tool which is part of the CUDA installation.</p> <p>Also note that if the <em>gpuID</em> keyword is not used, the USER-CUDA package sorts existing GPUs on each node according to their number of multiprocessors. This way, compute GPUs will be priorized over X-Server GPUs.</p> <p>If the <em>timing</em> keyword is specified, detailed timing information for various subroutines will be output.</p> <p>If the <em>test</em> keyword is specified, information for the specified atom with atom-ID will be output at several points during each timestep. This is mainly usefull for debugging purposes. Note that the simulation slow down dramatically if this option is used.</p> <p>The <em>thread</em> keyword can be used to specify how GPU threads are assigned work during pair style force evaluation. If the value = <em>tpa</em>, one thread per atom is used. If the value = <em>bpa</em>, one block per atom is used. If the value = <em>auto</em>, a short test is performed at the beginning of each run to determing where <em>tpa</em> or <em>bpa</em> mode is faster. The result of this test is output. Since <em>auto</em> is the default value, it is usually not necessary to use this keyword.</p> <hr class="docutils" /> <p>The <em>gpu</em> style invokes settings associated with the use of the GPU package.</p> <p>The <em>Ngpu</em> argument sets the number of GPUs per node. There must be at least as many MPI tasks per node as GPUs, as set by the mpirun or mpiexec command. If there are more MPI tasks (per node) than GPUs, multiple MPI tasks will share each GPU.</p> <p>Optional keyword/value pairs can also be specified. Each has a default value as listed below.</p> <p>The <em>neigh</em> keyword specifies where neighbor lists for pair style computation will be built. If <em>neigh</em> is <em>yes</em>, which is the default, neighbor list building is performed on the GPU. If <em>neigh</em> is <em>no</em>, neighbor list building is performed on the CPU. GPU neighbor list building currently cannot be used with a triclinic box. GPU neighbor list calculation currently cannot be used with <a class="reference internal" href="pair_hybrid.html"><em>hybrid</em></a> pair styles. GPU neighbor lists are not compatible with comannds that are not GPU-enabled. When a non-GPU enabled command requires a neighbor list, it will also be built on the CPU. In these cases, it will typically be more efficient to only use CPU neighbor list builds.</p> <p>The <em>newton</em> keyword sets the Newton flags for pairwise (not bonded) interactions to <em>off</em> or <em>on</em>, the same as the <a class="reference internal" href="newton.html"><em>newton</em></a> command allows. Currently, only an <em>off</em> value is allowed, since all the GPU package pair styles require this setting. This means more computation is done, but less communication. In the future a value of <em>on</em> may be allowed, so the <em>newton</em> keyword is included as an option for compatibility with the package command for other accelerator styles. Note that the newton setting for bonded interactions is not affected by this keyword.</p> <p>The <em>binsize</em> keyword sets the size of bins used to bin atoms in neighbor list builds performed on the GPU, if <em>neigh</em> = <em>yes</em> is set. If <em>binsize</em> is set to 0.0 (the default), then bins = the size of the pairwise cutoff + neighbor skin distance. This is 2x larger than the LAMMPS default used for neighbor list building on the CPU. This will be close to optimal for the GPU, so you do not normally need to use this keyword. Note that if you use a longer-than-usual pairwise cutoff, e.g. to allow for a smaller fraction of KSpace work with a <a class="reference internal" href="kspace_style.html"><em>long-range Coulombic solver</em></a> because the GPU is faster at performing pairwise interactions, then it may be optimal to make the <em>binsize</em> smaller than the default. For example, with a cutoff of 20*sigma in LJ <a class="reference internal" href="units.html"><em>units</em></a> and a neighbor skin distance of sigma, a <em>binsize</em> = 5.25*sigma can be more efficient than the default.</p> <p>The <em>split</em> keyword can be used for load balancing force calculations between CPU and GPU cores in GPU-enabled pair styles. If 0 < <em>split</em> < 1.0, a fixed fraction of particles is offloaded to the GPU while force calculation for the other particles occurs simulataneously on the CPU. If <em>split</em> < 0.0, the optimal fraction (based on CPU and GPU timings) is calculated every 25 timesteps, i.e. dynamic load-balancing across the CPU and GPU is performed. If <em>split</em> = 1.0, all force calculations for GPU accelerated pair styles are performed on the GPU. In this case, other <a class="reference internal" href="pair_hybrid.html"><em>hybrid</em></a> pair interactions, <a class="reference internal" href="bond_style.html"><em>bond</em></a>, <a class="reference internal" href="angle_style.html"><em>angle</em></a>, <a class="reference internal" href="dihedral_style.html"><em>dihedral</em></a>, <a class="reference internal" href="improper_style.html"><em>improper</em></a>, and <a class="reference internal" href="kspace_style.html"><em>long-range</em></a> calculations can be performed on the CPU while the GPU is performing force calculations for the GPU-enabled pair style. If all CPU force computations complete before the GPU completes, LAMMPS will block until the GPU has finished before continuing the timestep.</p> <p>As an example, if you have two GPUs per node and 8 CPU cores per node, and would like to run on 4 nodes (32 cores) with dynamic balancing of force calculation across CPU and GPU cores, you could specify</p> <div class="highlight-python"><div class="highlight"><pre>mpirun -np 32 -sf gpu -in in.script # launch command package gpu 2 split -1 # input script command </pre></div> </div> <p>In this case, all CPU cores and GPU devices on the nodes would be utilized. Each GPU device would be shared by 4 CPU cores. The CPU cores would perform force calculations for some fraction of the particles at the same time the GPUs performed force calculation for the other particles.</p> <p>The <em>gpuID</em> keyword allows selection of which GPUs on each node will be used for a simulation. The <em>first</em> and <em>last</em> values specify the GPU IDs to use (from 0 to Ngpu-1). By default, first = 0 and last = Ngpu-1, so that all GPUs are used, assuming Ngpu is set to the number of physical GPUs. If you only wish to use a subset, set Ngpu to a smaller number and first/last to a sub-range of the available GPUs.</p> <p>The <em>tpa</em> keyword sets the number of GPU thread per atom used to perform force calculations. With a default value of 1, the number of threads will be chosen based on the pair style, however, the value can be set explicitly with this keyword to fine-tune performance. For large cutoffs or with a small number of particles per GPU, increasing the value can improve performance. The number of threads per atom must be a power of 2 and currently cannot be greater than 32.</p> <p>The <em>device</em> keyword can be used to tune parameters optimized for a specific accelerator, when using OpenCL. For CUDA, the <em>device</em> keyword is ignored. Currently, the device type is limited to NVIDIA Kepler, NVIDIA Fermi, AMD Cypress, or a generic device. More devices may be added later. The default device type can be specified when building LAMMPS with the GPU library, via settings in the lib/gpu/Makefile that is used.</p> <hr class="docutils" /> <p>The <em>intel</em> style invokes settings associated with the use of the USER-INTEL package. All of its settings, except the <em>omp</em> and <em>mode</em> keywords, are ignored if LAMMPS was not built with Xeon Phi coprocessor support. All of its settings, including the <em>omp</em> and <em>mode</em> keyword are applicable if LAMMPS was built with coprocessor support.</p> <p>The <em>Nphi</em> argument sets the number of coprocessors per node. This can be set to any value, including 0, if LAMMPS was not built with coprocessor support.</p> <p>Optional keyword/value pairs can also be specified. Each has a default value as listed below.</p> <p>The <em>omp</em> keyword determines the number of OpenMP threads allocated for each MPI task when any portion of the interactions computed by a USER-INTEL pair style are run on the CPU. This can be the case even if LAMMPS was built with coprocessor support; see the <em>balance</em> keyword discussion below. If you are running with less MPI tasks/node than there are CPUs, it can be advantageous to use OpenMP threading on the CPUs.</p> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">The <em>omp</em> keyword has nothing to do with coprocessor threads on the Xeon Phi; see the <em>tpc</em> and <em>tptask</em> keywords below for a discussion of coprocessor threads.</p> </div> <p>The <em>Nthread</em> value for the <em>omp</em> keyword sets the number of OpenMP threads allocated for each MPI task. Setting <em>Nthread</em> = 0 (the default) instructs LAMMPS to use whatever value is the default for the given OpenMP environment. This is usually determined via the <em>OMP_NUM_THREADS</em> environment variable or the compiler runtime, which is usually a value of 1.</p> <p>For more details, including examples of how to set the OMP_NUM_THREADS environment variable, see the discussion of the <em>Nthreads</em> setting on this doc page for the “package omp” command. Nthreads is a required argument for the USER-OMP package. Its meaning is exactly the same for the USER-INTEL pacakge.</p> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">If you build LAMMPS with both the USER-INTEL and USER-OMP packages, be aware that both packages allow setting of the <em>Nthreads</em> value via their package commands, but there is only a single global <em>Nthreads</em> value used by OpenMP. Thus if both package commands are invoked, you should insure the two values are consistent. If they are not, the last one invoked will take precedence, for both packages. Also note that if the “-sf intel” <a class="reference internal" href="Section_start.html#start-7"><span>command-line switch</span></a> is used, it invokes a “package intel” command, followed by a “package omp” command, both with a setting of <em>Nthreads</em> = 0.</p> </div> <p>The <em>mode</em> keyword determines the precision mode to use for computing pair style forces, either on the CPU or on the coprocessor, when using a USER-INTEL supported <a class="reference internal" href="pair_style.html"><em>pair style</em></a>. It can take a value of <em>single</em>, <em>mixed</em> which is the default, or <em>double</em>. <em>Single</em> means single precision is used for the entire force calculation. <em>Mixed</em> means forces between a pair of atoms are computed in single precision, but accumulated and stored in double precision, including storage of forces, torques, energies, and virial quantities. <em>Double</em> means double precision is used for the entire force calculation.</p> <p>The <em>balance</em> keyword sets the fraction of <a class="reference internal" href="pair_style.html"><em>pair style</em></a> work offloaded to the coprocessor for split values between 0.0 and 1.0 inclusive. While this fraction of work is running on the coprocessor, other calculations will run on the host, including neighbor and pair calculations that are not offloaded, as well as angle, bond, dihedral, kspace, and some MPI communications. If <em>split</em> is set to -1, the fraction of work is dynamically adjusted automatically throughout the run. This typically give performance within 5 to 10 percent of the optimal fixed fraction.</p> <p>The <em>ghost</em> keyword determines whether or not ghost atoms, i.e. atoms at the boundaries of proessor sub-domains, are offloaded for neighbor and force calculations. When the value = “no”, ghost atoms are not offloaded. This option can reduce the amount of data transfer with the coprocessor and can also overlap MPI communication of forces with computation on the coprocessor when the <a class="reference internal" href="newton.html"><em>newton pair</em></a> setting is “on”. When the value = “yes”, ghost atoms are offloaded. In some cases this can provide better performance, especially if the <em>balance</em> fraction is high.</p> <p>The <em>tpc</em> keyword sets the max # of coprocessor threads <em>Ntpc</em> that will run on each core of the coprocessor. The default value = 4, which is the number of hardware threads per core supported by the current generation Xeon Phi chips.</p> <p>The <em>tptask</em> keyword sets the max # of coprocessor threads (Ntptask* assigned to each MPI task. The default value = 240, which is the total # of threads an entire current generation Xeon Phi chip can run (240 = 60 cores * 4 threads/core). This means each MPI task assigned to the Phi will enough threads for the chip to run the max allowed, even if only 1 MPI task is assigned. If 8 MPI tasks are assigned to the Phi, each will run with 30 threads. If you wish to limit the number of threads per MPI task, set <em>tptask</em> to a smaller value. E.g. for <em>tptask</em> = 16, if 8 MPI tasks are assigned, each will run with 16 threads, for a total of 128.</p> <p>Note that the default settings for <em>tpc</em> and <em>tptask</em> are fine for most problems, regardless of how many MPI tasks you assign to a Phi.</p> <p>The <em>no_affinity</em> keyword will turn off automatic setting of core affinity for MPI tasks and OpenMP threads on the host when using offload to a coprocessor. Affinity settings are used when possible to prevent MPI tasks and OpenMP threads from being on separate NUMA domains and to prevent offload threads from interfering with other processes/threads used for LAMMPS.</p> <hr class="docutils" /> <p>The <em>kokkos</em> style invokes settings associated with the use of the KOKKOS package.</p> <p>All of the settings are optional keyword/value pairs. Each has a default value as listed below.</p> <p>The <em>neigh</em> keyword determines how neighbor lists are built. A value of <em>half</em> uses half-neighbor lists, the same as used by most pair styles in LAMMPS. A value of <em>half/thread</em> uses a thread-safe variant of the half-neighbor list. It should be used instead of <em>half</em> when running with more than 1 threads per MPI task on a CPU. A value of <em>n2</em> uses an O(N^2) algorithm to build the neighbor list without binning, where N = # of atoms on a processor. It is typically slower than the other methods, which use binning.</p> <p>A value of <em>full</em> uses a full neighbor lists and is the default. This performs twice as much computation as the <em>half</em> option, however that is often a win because it is thread-safe and doesn’t require atomic operations in the calculation of pair forces. For that reason, <em>full</em> is the default setting. However, when running in MPI-only mode with 1 thread per MPI task, <em>half</em> neighbor lists will typically be faster, just as it is for non-accelerated pair styles.</p> <p>A value of <em>full/cluster</em> is an experimental neighbor style, where particles interact with all particles within a small cluster, if at least one of the clusters particles is within the neighbor cutoff range. This potentially allows for better vectorization on architectures such as the Intel Phi. If also reduces the size of the neighbor list by roughly a factor of the cluster size, thus reducing the total memory footprint considerably.</p> <p>The <em>newton</em> keyword sets the Newton flags for pairwise and bonded interactions to <em>off</em> or <em>on</em>, the same as the <a class="reference internal" href="newton.html"><em>newton</em></a> command allows. The default is <em>off</em> because this will almost always give better performance for the KOKKOS package. This means more computation is done, but less communication. However, when running in MPI-only mode with 1 thread per MPI task, a value of <em>on</em> will typically be faster, just as it is for non-accelerated pair styles.</p> <p>The <em>binsize</em> keyword sets the size of bins used to bin atoms in neighbor list builds. The same value can be set by the <a class="reference internal" href="neigh_modify.html"><em>neigh_modify binsize</em></a> command. Making it an option in the package kokkos command allows it to be set from the command line. The default value is 0.0, which means the LAMMPS default will be used, which is bins = 1/2 the size of the pairwise cutoff + neighbor skin distance. This is fine when neighbor lists are built on the CPU. For GPU builds, a 2x larger binsize equal to the pairwise cutoff + neighbor skin, is often faster, which can be set by this keyword. Note that if you use a longer-than-usual pairwise cutoff, e.g. to allow for a smaller fraction of KSpace work with a <a class="reference internal" href="kspace_style.html"><em>long-range Coulombic solver</em></a> because the GPU is faster at performing pairwise interactions, then this rule of thumb may give too large a binsize.</p> <p>The <em>comm</em> and <em>comm/exchange</em> and <em>comm/forward</em> keywords determine whether the host or device performs the packing and unpacking of data when communicating per-atom data between processors. “Exchange” communication happens only on timesteps that neighbor lists are rebuilt. The data is only for atoms that migrate to new processors. “Forward” communication happens every timestep. The data is for atom coordinates and any other atom properties that needs to be updated for ghost atoms owned by each processor.</p> <p>The <em>comm</em> keyword is simply a short-cut to set the same value for both the <em>comm/exchange</em> and <em>comm/forward</em> keywords.</p> <p>The value options for all 3 keywords are <em>no</em> or <em>host</em> or <em>device</em>. A value of <em>no</em> means to use the standard non-KOKKOS method of packing/unpacking data for the communication. A value of <em>host</em> means to use the host, typically a multi-core CPU, and perform the packing/unpacking in parallel with threads. A value of <em>device</em> means to use the device, typically a GPU, to perform the packing/unpacking operation.</p> <p>The optimal choice for these keywords depends on the input script and the hardware used. The <em>no</em> value is useful for verifying that the Kokkos-based <em>host</em> and <em>device</em> values are working correctly. It may also be the fastest choice when using Kokkos styles in MPI-only mode (i.e. with a thread count of 1).</p> <p>When running on CPUs or Xeon Phi, the <em>host</em> and <em>device</em> values work identically. When using GPUs, the <em>device</em> value will typically be optimal if all of your styles used in your input script are supported by the KOKKOS package. In this case data can stay on the GPU for many timesteps without being moved between the host and GPU, if you use the <em>device</em> value. This requires that your MPI is able to access GPU memory directly. Currently that is true for OpenMPI 1.8 (or later versions), Mvapich2 1.9 (or later), and CrayMPI. If your script uses styles (e.g. fixes) which are not yet supported by the KOKKOS package, then data has to be move between the host and device anyway, so it is typically faster to let the host handle communication, by using the <em>host</em> value. Using <em>host</em> instead of <em>no</em> will enable use of multiple threads to pack/unpack communicated data.</p> <hr class="docutils" /> <p>The <em>omp</em> style invokes settings associated with the use of the USER-OMP package.</p> <p>The <em>Nthread</em> argument sets the number of OpenMP threads allocated for each MPI task. For example, if your system has nodes with dual quad-core processors, it has a total of 8 cores per node. You could use two MPI tasks per node (e.g. using the -ppn option of the mpirun command in MPICH or -npernode in OpenMPI), and set <em>Nthreads</em> = 4. This would use all 8 cores on each node. Note that the product of MPI tasks * threads/task should not exceed the physical number of cores (on a node), otherwise performance will suffer.</p> <p>Setting <em>Nthread</em> = 0 instructs LAMMPS to use whatever value is the default for the given OpenMP environment. This is usually determined via the <em>OMP_NUM_THREADS</em> environment variable or the compiler runtime. Note that in most cases the default for OpenMP capable compilers is to use one thread for each available CPU core when <em>OMP_NUM_THREADS</em> is not explicitly set, which can lead to poor performance.</p> <p>Here are examples of how to set the environment variable when launching LAMMPS:</p> <div class="highlight-python"><div class="highlight"><pre>env OMP_NUM_THREADS=4 lmp_machine -sf omp -in in.script env OMP_NUM_THREADS=2 mpirun -np 2 lmp_machine -sf omp -in in.script mpirun -x OMP_NUM_THREADS=2 -np 2 lmp_machine -sf omp -in in.script </pre></div> </div> <p>or you can set it permanently in your shell’s start-up script. All three of these examples use a total of 4 CPU cores.</p> <p>Note that different MPI implementations have different ways of passing the OMP_NUM_THREADS environment variable to all MPI processes. The 2nd example line above is for MPICH; the 3rd example line with -x is for OpenMPI. Check your MPI documentation for additional details.</p> <p>What combination of threads and MPI tasks gives the best performance is difficult to predict and can depend on many components of your input. Not all features of LAMMPS support OpenMP threading via the USER-OMP packaage and the parallel efficiency can be very different, too.</p> <p>Optional keyword/value pairs can also be specified. Each has a default value as listed below.</p> <p>The <em>neigh</em> keyword specifies whether neighbor list building will be multi-threaded in addition to force calculations. If <em>neigh</em> is set to <em>no</em> then neighbor list calculation is performed only by MPI tasks with no OpenMP threading. If <em>mode</em> is <em>yes</em> (the default), a multi-threaded neighbor list build is used. Using <em>neigh</em> = <em>yes</em> is almost always faster and should produce idential neighbor lists at the expense of using more memory. Specifically, neighbor list pages are allocated for all threads at the same time and each thread works within its own pages.</p> </div> <hr class="docutils" /> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <p>This command cannot be used after the simulation box is defined by a <a class="reference internal" href="read_data.html"><em>read_data</em></a> or <a class="reference internal" href="create_box.html"><em>create_box</em></a> command.</p> <p>The cuda style of this command can only be invoked if LAMMPS was built with the USER-CUDA package. See the <a class="reference internal" href="Section_start.html#start-3"><span>Making LAMMPS</span></a> section for more info.</p> <p>The gpu style of this command can only be invoked if LAMMPS was built with the GPU package. See the <a class="reference internal" href="Section_start.html#start-3"><span>Making LAMMPS</span></a> section for more info.</p> <p>The intel style of this command can only be invoked if LAMMPS was built with the USER-INTEL package. See the <a class="reference internal" href="Section_start.html#start-3"><span>Making LAMMPS</span></a> section for more info.</p> <p>The kk style of this command can only be invoked if LAMMPS was built with the KOKKOS package. See the <a class="reference internal" href="Section_start.html#start-3"><span>Making LAMMPS</span></a> section for more info.</p> <p>The omp style of this command can only be invoked if LAMMPS was built with the USER-OMP package. See the <a class="reference internal" href="Section_start.html#start-3"><span>Making LAMMPS</span></a> section for more info.</p> </div> <div class="section" id="related-commands"> <h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2> <p><a class="reference internal" href="suffix.html"><em>suffix</em></a>, “-pk” <a class="reference internal" href="Section_start.html#start-7"><span>command-line setting</span></a></p> </div> <div class="section" id="default"> <h2>Default<a class="headerlink" href="#default" title="Permalink to this headline">¶</a></h2> <p>For the USER-CUDA package, the default is Ngpu = 1 and the option defaults are newton = off, gpuID = 0 to Ngpu-1, timing = not enabled, test = not enabled, and thread = auto. These settings are made automatically by the required “-c on” <a class="reference internal" href="Section_start.html#start-7"><span>command-line switch</span></a>. You can change them bu using the package cuda command in your input script or via the “-pk cuda” <a class="reference internal" href="Section_start.html#start-7"><span>command-line switch</span></a>.</p> <p>For the GPU package, the default is Ngpu = 1 and the option defaults are neigh = yes, newton = off, binsize = 0.0, split = 1.0, gpuID = 0 to Ngpu-1, tpa = 1, and device = not used. These settings are made automatically if the “-sf gpu” <a class="reference internal" href="Section_start.html#start-7"><span>command-line switch</span></a> is used. If it is not used, you must invoke the package gpu command in your input script or via the “-pk gpu” <a class="reference internal" href="Section_start.html#start-7"><span>command-line switch</span></a>.</p> <p>For the USER-INTEL package, the default is Nphi = 1 and the option defaults are omp = 0, mode = mixed, balance = -1, tpc = 4, tptask = 240. The default ghost option is determined by the pair style being used. This value is output to the screen in the offload report at the end of each run. Note that all of these settings, except “omp” and “mode”, are ignored if LAMMPS was not built with Xeon Phi coprocessor support. These settings are made automatically if the “-sf intel” <a class="reference internal" href="Section_start.html#start-7"><span>command-line switch</span></a> is used. If it is not used, you must invoke the package intel command in your input script or or via the “-pk intel” <a class="reference internal" href="Section_start.html#start-7"><span>command-line switch</span></a>.</p> <p>For the KOKKOS package, the option defaults neigh = full, newton = off, binsize = 0.0, and comm = host. These settings are made automatically by the required “-k on” <a class="reference internal" href="Section_start.html#start-7"><span>command-line switch</span></a>. You can change them bu using the package kokkos command in your input script or via the “-pk kokkos” <a class="reference internal" href="Section_start.html#start-7"><span>command-line switch</span></a>.</p> <p>For the OMP package, the default is Nthreads = 0 and the option defaults are neigh = yes. These settings are made automatically if the “-sf omp” <a class="reference internal" href="Section_start.html#start-7"><span>command-line switch</span></a> is used. If it is not used, you must invoke the package omp command in your input script or via the “-pk omp” <a class="reference internal" href="Section_start.html#start-7"><span>command-line switch</span></a>.</p> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/pair_awpmd.html b/doc/pair_awpmd.html index 99fd54347..84513ee99 100644 --- a/doc/pair_awpmd.html +++ b/doc/pair_awpmd.html @@ -1,297 +1,297 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>pair_style awpmd/cut command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>pair_style awpmd/cut command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="pair-style-awpmd-cut-command"> <span id="index-0"></span><h1>pair_style awpmd/cut command<a class="headerlink" href="#pair-style-awpmd-cut-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>pair_style awpmd/cut Rc keyword value ... </pre></div> </div> <ul class="simple"> <li>Rc = global cutoff, -1 means cutoff of half the shortest box length</li> <li>zero or more keyword/value pairs may be appended</li> <li>keyword = <em>hartree</em> or <em>dproduct</em> or <em>uhf</em> or <em>free</em> or <em>pbc</em> or <em>fix</em> or <em>harm</em> or <em>ermscale</em> or <em>flex_press</em></li> </ul> <pre class="literal-block"> <em>hartree</em> value = none - <em>dproduct</em> value = none - <em>uhf</em> value = none - <em>free</em> value = none - <em>pbc</em> value = Plen - Plen = periodic width of electron = -1 or positive value (distance units) - <em>fix</em> value = Flen - Flen = fixed width of electron = -1 or positive value (distance units) - <em>harm</em> value = width - width = harmonic width constraint - <em>ermscale</em> value = factor - factor = scaling between electron mass and width variable mass - <em>flex_press</em> value = none +<em>dproduct</em> value = none +<em>uhf</em> value = none +<em>free</em> value = none +<em>pbc</em> value = Plen + Plen = periodic width of electron = -1 or positive value (distance units) +<em>fix</em> value = Flen + Flen = fixed width of electron = -1 or positive value (distance units) +<em>harm</em> value = width + width = harmonic width constraint +<em>ermscale</em> value = factor + factor = scaling between electron mass and width variable mass +<em>flex_press</em> value = none </pre> </div> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>pair_style awpmd/cut -1 pair_style awpmd/cut 40.0 uhf free pair_coeff * * pair_coeff 2 2 20.0 </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>This pair style contains an implementation of the Antisymmetrized Wave Packet Molecular Dynamics (AWPMD) method. Need citation here. Need basic formulas here. Could be links to other documents.</p> <p>Rc is the cutoff.</p> <p>The pair_style command allows for several optional keywords to be specified.</p> <p>The <em>hartree</em>, <em>dproduct</em>, and <em>uhf</em> keywords specify the form of the initial trial wave function for the system. If the <em>hartree</em> keyword is used, then a Hartree multielectron trial wave function is used. If the <em>dproduct</em> keyword is used, then a trial function which is a product of two determinants for each spin type is used. If the <em>uhf</em> keyword is used, then an unrestricted Hartree-Fock trial wave function is used.</p> <p>The <em>free</em>, <em>pbc</em>, and <em>fix</em> keywords specify a width constraint on the electron wavepackets. If the <em>free</em> keyword is specified, then there is no constraint. If the <em>pbc</em> keyword is used and <em>Plen</em> is specified as -1, then the maximum width is half the shortest box length. If <em>Plen</em> is a positive value, then the value is the maximum width. If the <em>fix</em> keyword is used and <em>Flen</em> is specified as -1, then electrons have a constant width that is read from the data file. If <em>Flen</em> is a positive value, then the constant width for all electrons is set to <em>Flen</em>.</p> <p>The <em>harm</em> keyword allow oscillations in the width of the electron wavepackets. More details are needed.</p> <p>The <em>ermscale</em> keyword specifies a unitless scaling factor between the electron masses and the width variable mass. More details needed.</p> <p>If the <em>flex_press</em> keyword is used, then a contribution from the electrons is added to the total virial and pressure of the system.</p> <p>This potential is designed to be used with <a class="reference internal" href="atom_style.html"><em>atom_style wavepacket</em></a> definitions, in order to handle the description of systems with interacting nuclei and explicit electrons.</p> <p>The following coefficients must be defined for each pair of atoms types via the <a class="reference internal" href="pair_coeff.html"><em>pair_coeff</em></a> command as in the examples above, or in the data file or restart files read by the <a class="reference internal" href="read_data.html"><em>read_data</em></a> or <a class="reference internal" href="read_restart.html"><em>read_restart</em></a> commands, or by mixing as described below:</p> <ul class="simple"> <li>cutoff (distance units)</li> </ul> <p>For <em>awpmd/cut</em>, the cutoff coefficient is optional. If it is not used (as in some of the examples above), the default global value specified in the pair_style command is used.</p> <hr class="docutils" /> <p><strong>Mixing, shift, table, tail correction, restart, rRESPA info</strong>:</p> <p>The <a class="reference internal" href="pair_modify.html"><em>pair_modify</em></a> mix, shift, table, and tail options are not relevant for this pair style.</p> <p>This pair style writes its information to <a class="reference internal" href="restart.html"><em>binary restart files</em></a>, so pair_style and pair_coeff commands do not need to be specified in an input script that reads a restart file.</p> <p>This pair style can only be used via the <em>pair</em> keyword of the <a class="reference internal" href="run_style.html"><em>run_style respa</em></a> command. It does not support the <em>inner</em>, <em>middle</em>, <em>outer</em> keywords.</p> </div> <hr class="docutils" /> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <blockquote> <div>none</div></blockquote> </div> <div class="section" id="related-commands"> <h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2> <p><a class="reference internal" href="pair_coeff.html"><em>pair_coeff</em></a></p> </div> <div class="section" id="default"> <h2>Default<a class="headerlink" href="#default" title="Permalink to this headline">¶</a></h2> <p>These are the defaults for the pair_style keywords: <em>hartree</em> for the initial wavefunction, <em>free</em> for the wavepacket width.</p> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/pair_born.html b/doc/pair_born.html index 24cf823b6..8628ab51b 100644 --- a/doc/pair_born.html +++ b/doc/pair_born.html @@ -1,377 +1,377 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>pair_style born command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>pair_style born command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="pair-style-born-command"> <span id="index-0"></span><h1>pair_style born command<a class="headerlink" href="#pair-style-born-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="pair-style-born-omp-command"> <h1>pair_style born/omp command<a class="headerlink" href="#pair-style-born-omp-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="pair-style-born-gpu-command"> <h1>pair_style born/gpu command<a class="headerlink" href="#pair-style-born-gpu-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="pair-style-born-coul-long-command"> <h1>pair_style born/coul/long command<a class="headerlink" href="#pair-style-born-coul-long-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="pair-style-born-coul-long-cs-command"> <h1>pair_style born/coul/long/cs command<a class="headerlink" href="#pair-style-born-coul-long-cs-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="pair-style-born-coul-long-cuda-command"> <h1>pair_style born/coul/long/cuda command<a class="headerlink" href="#pair-style-born-coul-long-cuda-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="pair-style-born-coul-long-gpu-command"> <h1>pair_style born/coul/long/gpu command<a class="headerlink" href="#pair-style-born-coul-long-gpu-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="pair-style-born-coul-long-omp-command"> <h1>pair_style born/coul/long/omp command<a class="headerlink" href="#pair-style-born-coul-long-omp-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="pair-style-born-coul-msm-command"> <h1>pair_style born/coul/msm command<a class="headerlink" href="#pair-style-born-coul-msm-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="pair-style-born-coul-msm-omp-command"> <h1>pair_style born/coul/msm/omp command<a class="headerlink" href="#pair-style-born-coul-msm-omp-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="pair-style-born-coul-wolf-command"> <h1>pair_style born/coul/wolf command<a class="headerlink" href="#pair-style-born-coul-wolf-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="pair-style-born-coul-wolf-gpu-command"> <h1>pair_style born/coul/wolf/gpu command<a class="headerlink" href="#pair-style-born-coul-wolf-gpu-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="pair-style-born-coul-wolf-omp-command"> <h1>pair_style born/coul/wolf/omp command<a class="headerlink" href="#pair-style-born-coul-wolf-omp-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>pair_style style args </pre></div> </div> <ul class="simple"> <li>style = <em>born</em> or <em>born/coul/long</em> or <em>born/coul/long/cs</em> or <em>born/coul/msm</em> or <em>born/coul/wolf</em></li> <li>args = list of arguments for a particular style</li> </ul> <pre class="literal-block"> <em>born</em> args = cutoff - cutoff = global cutoff for non-Coulombic interactions (distance units) - <em>born/coul/long</em> or <em>born/coul/long/cs</em> args = cutoff (cutoff2) - cutoff = global cutoff for non-Coulombic (and Coulombic if only 1 arg) (distance units) - cutoff2 = global cutoff for Coulombic (optional) (distance units) - <em>born/coul/msm</em> args = cutoff (cutoff2) - cutoff = global cutoff for non-Coulombic (and Coulombic if only 1 arg) (distance units) - cutoff2 = global cutoff for Coulombic (optional) (distance units) - <em>born/coul/wolf</em> args = alpha cutoff (cutoff2) - alpha = damping parameter (inverse distance units) - cutoff = global cutoff for non-Coulombic (and Coulombic if only 1 arg) (distance units) - cutoff2 = global cutoff for Coulombic (optional) (distance units) + cutoff = global cutoff for non-Coulombic interactions (distance units) +<em>born/coul/long</em> or <em>born/coul/long/cs</em> args = cutoff (cutoff2) + cutoff = global cutoff for non-Coulombic (and Coulombic if only 1 arg) (distance units) + cutoff2 = global cutoff for Coulombic (optional) (distance units) +<em>born/coul/msm</em> args = cutoff (cutoff2) + cutoff = global cutoff for non-Coulombic (and Coulombic if only 1 arg) (distance units) + cutoff2 = global cutoff for Coulombic (optional) (distance units) +<em>born/coul/wolf</em> args = alpha cutoff (cutoff2) + alpha = damping parameter (inverse distance units) + cutoff = global cutoff for non-Coulombic (and Coulombic if only 1 arg) (distance units) + cutoff2 = global cutoff for Coulombic (optional) (distance units) </pre> </div> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>pair_style born 10.0 pair_coeff * * 6.08 0.317 2.340 24.18 11.51 pair_coeff 1 1 6.08 0.317 2.340 24.18 11.51 </pre></div> </div> <div class="highlight-python"><div class="highlight"><pre>pair_style born/coul/long 10.0 pair_style born/coul/long/cs 10.0 pair_style born/coul/long 10.0 8.0 pair_style born/coul/long/cs 10.0 8.0 pair_coeff * * 6.08 0.317 2.340 24.18 11.51 pair_coeff 1 1 6.08 0.317 2.340 24.18 11.51 </pre></div> </div> <div class="highlight-python"><div class="highlight"><pre>pair_style born/coul/msm 10.0 pair_style born/coul/msm 10.0 8.0 pair_coeff * * 6.08 0.317 2.340 24.18 11.51 pair_coeff 1 1 6.08 0.317 2.340 24.18 11.51 </pre></div> </div> <div class="highlight-python"><div class="highlight"><pre>pair_style born/coul/wolf 0.25 10.0 pair_style born/coul/wolf 0.25 10.0 9.0 pair_coeff * * 6.08 0.317 2.340 24.18 11.51 pair_coeff 1 1 6.08 0.317 2.340 24.18 11.51 </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>The <em>born</em> style computes the Born-Mayer-Huggins or Tosi/Fumi potential described in <a class="reference internal" href="#fumitosi"><span>(Fumi and Tosi)</span></a>, given by</p> <img alt="_images/pair_born.jpg" class="align-center" src="_images/pair_born.jpg" /> <p>where sigma is an interaction-dependent length parameter, rho is an ionic-pair dependent length parameter, and Rc is the cutoff.</p> <p>The styles with <em>coul/long</em> or <em>coul/msm</em> add a Coulombic term as described for the <a class="reference internal" href="pair_lj.html"><em>lj/cut</em></a> pair styles. An additional damping factor is applied to the Coulombic term so it can be used in conjunction with the <a class="reference internal" href="kspace_style.html"><em>kspace_style</em></a> command and its <em>ewald</em> or <em>pppm</em> of <em>msm</em> option. The Coulombic cutoff specified for this style means that pairwise interactions within this distance are computed directly; interactions outside that distance are computed in reciprocal space.</p> <p>If one cutoff is specified for the <em>born/coul/long</em> and <em>born/coul/msm</em> style, it is used for both the A,C,D and Coulombic terms. If two cutoffs are specified, the first is used as the cutoff for the A,C,D terms, and the second is the cutoff for the Coulombic term.</p> <p>The <em>born/coul/wolf</em> style adds a Coulombic term as described for the Wolf potential in the <a class="reference internal" href="pair_coul.html"><em>coul/wolf</em></a> pair style.</p> <p>Style <em>born/coul/long/cs</em> is identical to <em>born/coul/long</em> except that a term is added for the <a class="reference internal" href="Section_howto.html#howto-25"><span>core/shell model</span></a> to allow charges on core and shell particles to be separated by r = 0.0.</p> <p>Note that these potentials are related to the <a class="reference internal" href="pair_buck.html"><em>Buckingham potential</em></a>.</p> <p>The following coefficients must be defined for each pair of atoms types via the <a class="reference internal" href="pair_coeff.html"><em>pair_coeff</em></a> command as in the examples above, or in the data file or restart files read by the <a class="reference internal" href="read_data.html"><em>read_data</em></a> or <a class="reference internal" href="read_restart.html"><em>read_restart</em></a> commands, or by mixing as described below:</p> <ul class="simple"> <li>A (energy units)</li> <li>rho (distance units)</li> <li>sigma (distance units)</li> <li>C (energy units * distance units^6)</li> <li>D (energy units * distance units^8)</li> <li>cutoff (distance units)</li> </ul> <p>The second coefficient, rho, must be greater than zero.</p> <p>The last coefficient is optional. If not specified, the global A,C,D cutoff specified in the pair_style command is used.</p> <p>For <em>born/coul/long</em> and <em>born/coul/wolf</em> no Coulombic cutoff can be specified for an individual I,J type pair. All type pairs use the same global Coulombic cutoff specified in the pair_style command.</p> <hr class="docutils" /> <p>Styles with a <em>cuda</em>, <em>gpu</em>, <em>intel</em>, <em>kk</em>, <em>omp</em>, or <em>opt</em> suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available hardware, as discussed in <a class="reference internal" href="Section_accelerate.html"><em>Section_accelerate</em></a> of the manual. The accelerated styles take the same arguments and should produce the same results, except for round-off and precision issues.</p> <p>These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if LAMMPS was built with those packages. See the <a class="reference internal" href="Section_start.html#start-3"><span>Making LAMMPS</span></a> section for more info.</p> <p>You can specify the accelerated styles explicitly in your input script by including their suffix, or you can use the <a class="reference internal" href="Section_start.html#start-7"><span>-suffix command-line switch</span></a> when you invoke LAMMPS, or you can use the <a class="reference internal" href="suffix.html"><em>suffix</em></a> command in your input script.</p> <p>See <a class="reference internal" href="Section_accelerate.html"><em>Section_accelerate</em></a> of the manual for more instructions on how to use the accelerated styles effectively.</p> <hr class="docutils" /> <p><strong>Mixing, shift, table, tail correction, restart, rRESPA info</strong>:</p> <p>These pair styles do not support mixing. Thus, coefficients for all I,J pairs must be specified explicitly.</p> <p>These styles support the <a class="reference internal" href="pair_modify.html"><em>pair_modify</em></a> shift option for the energy of the exp(), 1/r^6, and 1/r^8 portion of the pair interaction.</p> <p>The <em>born/coul/long</em> pair style supports the <a class="reference internal" href="pair_modify.html"><em>pair_modify</em></a> table option ti tabulate the short-range portion of the long-range Coulombic interaction.</p> <p>These styles support the pair_modify tail option for adding long-range tail corrections to energy and pressure.</p> <p>Thess styles writes thei information to binary <a class="reference internal" href="restart.html"><em>restart</em></a> files, so pair_style and pair_coeff commands do not need to be specified in an input script that reads a restart file.</p> <p>These styles can only be used via the <em>pair</em> keyword of the <a class="reference internal" href="run_style.html"><em>run_style respa</em></a> command. They do not support the <em>inner</em>, <em>middle</em>, <em>outer</em> keywords.</p> </div> <hr class="docutils" /> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <p>The <em>born/coul/long</em> style is part of the KSPACE package. It is only enabled if LAMMPS was built with that package (which it is by default). See the <a class="reference internal" href="Section_start.html#start-3"><span>Making LAMMPS</span></a> section for more info.</p> </div> <div class="section" id="related-commands"> <h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2> <p><a class="reference internal" href="pair_coeff.html"><em>pair_coeff</em></a>, <a class="reference internal" href="pair_buck.html"><em>pair_style buck</em></a></p> <p><strong>Default:</strong> none</p> <hr class="docutils" /> <p id="fumitosi">Fumi and Tosi, J Phys Chem Solids, 25, 31 (1964), Fumi and Tosi, J Phys Chem Solids, 25, 45 (1964).</p> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/pair_buck.html b/doc/pair_buck.html index 5804523f4..f93499e8b 100644 --- a/doc/pair_buck.html +++ b/doc/pair_buck.html @@ -1,398 +1,398 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>pair_style buck command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>pair_style buck command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="pair-style-buck-command"> <span id="index-0"></span><h1>pair_style buck command<a class="headerlink" href="#pair-style-buck-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="pair-style-buck-cuda-command"> <h1>pair_style buck/cuda command<a class="headerlink" href="#pair-style-buck-cuda-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="pair-style-buck-gpu-command"> <h1>pair_style buck/gpu command<a class="headerlink" href="#pair-style-buck-gpu-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="pair-style-buck-kk-command"> <h1>pair_style buck/kk command<a class="headerlink" href="#pair-style-buck-kk-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="pair-style-buck-omp-command"> <h1>pair_style buck/omp command<a class="headerlink" href="#pair-style-buck-omp-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="pair-style-buck-coul-cut-command"> <h1>pair_style buck/coul/cut command<a class="headerlink" href="#pair-style-buck-coul-cut-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="pair-style-buck-coul-cut-cuda-command"> <h1>pair_style buck/coul/cut/cuda command<a class="headerlink" href="#pair-style-buck-coul-cut-cuda-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="pair-style-buck-coul-cut-gpu-command"> <h1>pair_style buck/coul/cut/gpu command<a class="headerlink" href="#pair-style-buck-coul-cut-gpu-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="pair-style-buck-coul-cut-kk-command"> <h1>pair_style buck/coul/cut/kk command<a class="headerlink" href="#pair-style-buck-coul-cut-kk-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="pair-style-buck-coul-cut-omp-command"> <h1>pair_style buck/coul/cut/omp command<a class="headerlink" href="#pair-style-buck-coul-cut-omp-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="pair-style-buck-coul-long-command"> <h1>pair_style buck/coul/long command<a class="headerlink" href="#pair-style-buck-coul-long-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="pair-style-buck-coul-long-cs-command"> <h1>pair_style buck/coul/long/cs command<a class="headerlink" href="#pair-style-buck-coul-long-cs-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="pair-style-buck-coul-long-cuda-command"> <h1>pair_style buck/coul/long/cuda command<a class="headerlink" href="#pair-style-buck-coul-long-cuda-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="pair-style-buck-coul-long-gpu-command"> <h1>pair_style buck/coul/long/gpu command<a class="headerlink" href="#pair-style-buck-coul-long-gpu-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="pair-style-buck-coul-long-kk-command"> <h1>pair_style buck/coul/long/kk command<a class="headerlink" href="#pair-style-buck-coul-long-kk-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="pair-style-buck-coul-long-omp-command"> <h1>pair_style buck/coul/long/omp command<a class="headerlink" href="#pair-style-buck-coul-long-omp-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="pair-style-buck-coul-msm-command"> <h1>pair_style buck/coul/msm command<a class="headerlink" href="#pair-style-buck-coul-msm-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="pair-style-buck-coul-msm-omp-command"> <h1>pair_style buck/coul/msm/omp command<a class="headerlink" href="#pair-style-buck-coul-msm-omp-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>pair_style style args </pre></div> </div> <ul class="simple"> <li>style = <em>buck</em> or <em>buck/coul/cut</em> or <em>buck/coul/long</em> or <em>buck/coul/long/cs</em> or <em>buck/coul/msm</em></li> <li>args = list of arguments for a particular style</li> </ul> <pre class="literal-block"> <em>buck</em> args = cutoff - cutoff = global cutoff for Buckingham interactions (distance units) - <em>buck/coul/cut</em> args = cutoff (cutoff2) - cutoff = global cutoff for Buckingham (and Coulombic if only 1 arg) (distance units) - cutoff2 = global cutoff for Coulombic (optional) (distance units) - <em>buck/coul/long</em> or <em>buck/coul/long/cs</em> args = cutoff (cutoff2) - cutoff = global cutoff for Buckingham (and Coulombic if only 1 arg) (distance units) - cutoff2 = global cutoff for Coulombic (optional) (distance units) - <em>buck/coul/msm</em> args = cutoff (cutoff2) - cutoff = global cutoff for Buckingham (and Coulombic if only 1 arg) (distance units) - cutoff2 = global cutoff for Coulombic (optional) (distance units) + cutoff = global cutoff for Buckingham interactions (distance units) +<em>buck/coul/cut</em> args = cutoff (cutoff2) + cutoff = global cutoff for Buckingham (and Coulombic if only 1 arg) (distance units) + cutoff2 = global cutoff for Coulombic (optional) (distance units) +<em>buck/coul/long</em> or <em>buck/coul/long/cs</em> args = cutoff (cutoff2) + cutoff = global cutoff for Buckingham (and Coulombic if only 1 arg) (distance units) + cutoff2 = global cutoff for Coulombic (optional) (distance units) +<em>buck/coul/msm</em> args = cutoff (cutoff2) + cutoff = global cutoff for Buckingham (and Coulombic if only 1 arg) (distance units) + cutoff2 = global cutoff for Coulombic (optional) (distance units) </pre> </div> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>pair_style buck 2.5 pair_coeff * * 100.0 1.5 200.0 pair_coeff * * 100.0 1.5 200.0 3.0 </pre></div> </div> <div class="highlight-python"><div class="highlight"><pre>pair_style buck/coul/cut 10.0 pair_style buck/coul/cut 10.0 8.0 pair_coeff * * 100.0 1.5 200.0 pair_coeff 1 1 100.0 1.5 200.0 9.0 pair_coeff 1 1 100.0 1.5 200.0 9.0 8.0 </pre></div> </div> <div class="highlight-python"><div class="highlight"><pre>pair_style buck/coul/long 10.0 pair_style buck/coul/long/cs 10.0 pair_style buck/coul/long 10.0 8.0 pair_style buck/coul/long/cs 10.0 8.0 pair_coeff * * 100.0 1.5 200.0 pair_coeff 1 1 100.0 1.5 200.0 9.0 </pre></div> </div> <div class="highlight-python"><div class="highlight"><pre>pair_style buck/coul/msm 10.0 pair_style buck/coul/msm 10.0 8.0 pair_coeff * * 100.0 1.5 200.0 pair_coeff 1 1 100.0 1.5 200.0 9.0 </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>The <em>buck</em> style computes a Buckingham potential (exp/6 instead of Lennard-Jones 12/6) given by</p> <img alt="_images/pair_buck.jpg" class="align-center" src="_images/pair_buck.jpg" /> <p>where rho is an ionic-pair dependent length parameter, and Rc is the cutoff on both terms.</p> <p>The styles with <em>coul/cut</em> or <em>coul/long</em> or <em>coul/msm</em> add a Coulombic term as described for the <a class="reference internal" href="pair_lj.html"><em>lj/cut</em></a> pair styles. For <em>buck/coul/long</em> and <em>buc/coul/msm</em>, an additional damping factor is applied to the Coulombic term so it can be used in conjunction with the <a class="reference internal" href="kspace_style.html"><em>kspace_style</em></a> command and its <em>ewald</em> or <em>pppm</em> or <em>msm</em> option. The Coulombic cutoff specified for this style means that pairwise interactions within this distance are computed directly; interactions outside that distance are computed in reciprocal space.</p> <p>If one cutoff is specified for the <em>born/coul/cut</em> and <em>born/coul/long</em> and <em>born/coul/msm</em> styles, it is used for both the A,C and Coulombic terms. If two cutoffs are specified, the first is used as the cutoff for the A,C terms, and the second is the cutoff for the Coulombic term.</p> <p>Style <em>buck/coul/long/cs</em> is identical to <em>buck/coul/long</em> except that a term is added for the <a class="reference internal" href="Section_howto.html#howto-25"><span>core/shell model</span></a> to allow charges on core and shell particles to be separated by r = 0.0.</p> <p>Note that these potentials are related to the <a class="reference internal" href="pair_born.html"><em>Born-Mayer-Huggins potential</em></a>.</p> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">For all these pair styles, the terms with A and C are always cutoff. The additional Coulombic term can be cutoff or long-range (no cutoff) depending on whether the style name includes coul/cut or coul/long or coul/msm. If you wish the C/r^6 term to be long-range (no cutoff), then see the <a class="reference internal" href="pair_buck_long.html"><em>pair_style buck/long/coul/long</em></a> command.</p> </div> <p>The following coefficients must be defined for each pair of atoms types via the <a class="reference internal" href="pair_coeff.html"><em>pair_coeff</em></a> command as in the examples above, or in the data file or restart files read by the <a class="reference internal" href="read_data.html"><em>read_data</em></a> or <a class="reference internal" href="read_restart.html"><em>read_restart</em></a> commands:</p> <ul class="simple"> <li>A (energy units)</li> <li>rho (distance units)</li> <li>C (energy-distance^6 units)</li> <li>cutoff (distance units)</li> <li>cutoff2 (distance units)</li> </ul> <p>The second coefficient, rho, must be greater than zero.</p> <p>The latter 2 coefficients are optional. If not specified, the global A,C and Coulombic cutoffs are used. If only one cutoff is specified, it is used as the cutoff for both A,C and Coulombic interactions for this type pair. If both coefficients are specified, they are used as the A,C and Coulombic cutoffs for this type pair. You cannot specify 2 cutoffs for style <em>buck</em>, since it has no Coulombic terms.</p> <p>For <em>buck/coul/long</em> only the LJ cutoff can be specified since a Coulombic cutoff cannot be specified for an individual I,J type pair. All type pairs use the same global Coulombic cutoff specified in the pair_style command.</p> <hr class="docutils" /> <p>Styles with a <em>cuda</em>, <em>gpu</em>, <em>intel</em>, <em>kk</em>, <em>omp</em>, or <em>opt</em> suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available hardware, as discussed in <a class="reference internal" href="Section_accelerate.html"><em>Section_accelerate</em></a> of the manual. The accelerated styles take the same arguments and should produce the same results, except for round-off and precision issues.</p> <p>These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if LAMMPS was built with those packages. See the <a class="reference internal" href="Section_start.html#start-3"><span>Making LAMMPS</span></a> section for more info.</p> <p>You can specify the accelerated styles explicitly in your input script by including their suffix, or you can use the <a class="reference internal" href="Section_start.html#start-7"><span>-suffix command-line switch</span></a> when you invoke LAMMPS, or you can use the <a class="reference internal" href="suffix.html"><em>suffix</em></a> command in your input script.</p> <p>See <a class="reference internal" href="Section_accelerate.html"><em>Section_accelerate</em></a> of the manual for more instructions on how to use the accelerated styles effectively.</p> <hr class="docutils" /> <p><strong>Mixing, shift, table, tail correction, restart, rRESPA info</strong>:</p> <p>These pair styles do not support mixing. Thus, coefficients for all I,J pairs must be specified explicitly.</p> <p>These styles support the <a class="reference internal" href="pair_modify.html"><em>pair_modify</em></a> shift option for the energy of the exp() and 1/r^6 portion of the pair interaction.</p> <p>The <em>buck/coul/long</em> pair style supports the <a class="reference internal" href="pair_modify.html"><em>pair_modify</em></a> table option to tabulate the short-range portion of the long-range Coulombic interaction.</p> <p>These styles support the pair_modify tail option for adding long-range tail corrections to energy and pressure for the A,C terms in the pair interaction.</p> <p>These styles write their information to <a class="reference internal" href="restart.html"><em>binary restart files</em></a>, so pair_style and pair_coeff commands do not need to be specified in an input script that reads a restart file.</p> <p>These styles can only be used via the <em>pair</em> keyword of the <a class="reference internal" href="run_style.html"><em>run_style respa</em></a> command. They do not support the <em>inner</em>, <em>middle</em>, <em>outer</em> keywords.</p> </div> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <p>The <em>buck/coul/long</em> style is part of the KSPACE package. The <em>buck/coul/long/cs</em> style is part of the CORESHELL package. They are only enabled if LAMMPS was built with that package (which it is by default). See the <a class="reference internal" href="Section_start.html#start-3"><span>Making LAMMPS</span></a> section for more info.</p> </div> <div class="section" id="related-commands"> <h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2> <p><a class="reference internal" href="pair_coeff.html"><em>pair_coeff</em></a>, <a class="reference internal" href="pair_born.html"><em>pair_style born</em></a></p> <p><strong>Default:</strong> none</p> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/pair_buck_long.html b/doc/pair_buck_long.html index 1b31e64a8..b3e9a9d1a 100644 --- a/doc/pair_buck_long.html +++ b/doc/pair_buck_long.html @@ -1,338 +1,338 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>pair_style buck/long/coul/long command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>pair_style buck/long/coul/long command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="pair-style-buck-long-coul-long-command"> <span id="index-0"></span><h1>pair_style buck/long/coul/long command<a class="headerlink" href="#pair-style-buck-long-coul-long-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="pair-style-buck-long-coul-long-omp-command"> <h1>pair_style buck/long/coul/long/omp command<a class="headerlink" href="#pair-style-buck-long-coul-long-omp-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>pair_style buck/long/coul/long flag_buck flag_coul cutoff (cutoff2) </pre></div> </div> <ul class="simple"> <li>flag_buck = <em>long</em> or <em>cut</em></li> </ul> <pre class="literal-block"> <em>long</em> = use Kspace long-range summation for the dispersion term 1/r^6 - <em>cut</em> = use a cutoff +<em>cut</em> = use a cutoff </pre> <ul class="simple"> <li>flag_coul = <em>long</em> or <em>off</em></li> </ul> <pre class="literal-block"> <em>long</em> = use Kspace long-range summation for the Coulombic term 1/r - <em>off</em> = omit the Coulombic term +<em>off</em> = omit the Coulombic term </pre> <ul class="simple"> <li>cutoff = global cutoff for Buckingham (and Coulombic if only 1 cutoff) (distance units)</li> <li>cutoff2 = global cutoff for Coulombic (optional) (distance units)</li> </ul> </div> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>pair_style buck/long/coul/long cut off 2.5 pair_style buck/long/coul/long cut long 2.5 4.0 pair_style buck/long/coul/long long long 4.0 pair_coeff * * 1 1 pair_coeff 1 1 1 3 4 </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>The <em>buck/long/coul/long</em> style computes a Buckingham potential (exp/6 instead of Lennard-Jones 12/6) and Coulombic potential, given by</p> <img alt="_images/pair_buck.jpg" class="align-center" src="_images/pair_buck.jpg" /> <img alt="_images/pair_coulomb.jpg" class="align-center" src="_images/pair_coulomb.jpg" /> <p>Rc is the cutoff. If one cutoff is specified in the pair_style command, it is used for both the Buckingham and Coulombic terms. If two cutoffs are specified, they are used as cutoffs for the Buckingham and Coulombic terms respectively.</p> <p>The purpose of this pair style is to capture long-range interactions resulting from both attractive 1/r^6 Buckingham and Coulombic 1/r interactions. This is done by use of the <em>flag_buck</em> and <em>flag_coul</em> settings. The “<a class="reference internal" href="#ismail"><span>Ismail</span></a> paper has more details on when it is appropriate to include long-range 1/r^6 interactions, using this potential.</p> <p>If <em>flag_buck</em> is set to <em>long</em>, no cutoff is used on the Buckingham 1/r^6 dispersion term. The long-range portion can be calculated by using the <a class="reference internal" href="kspace_style.html"><em>kspace_style ewald/disp or pppm/disp</em></a> commands. The specified Buckingham cutoff then determines which portion of the Buckingham interactions are computed directly by the pair potential versus which part is computed in reciprocal space via the Kspace style. If <em>flag_buck</em> is set to <em>cut</em>, the Buckingham interactions are simply cutoff, as with <a class="reference internal" href="pair_buck.html"><em>pair_style buck</em></a>.</p> <p>If <em>flag_coul</em> is set to <em>long</em>, no cutoff is used on the Coulombic interactions. The long-range portion can calculated by using any of several <a class="reference internal" href="kspace_style.html"><em>kspace_style</em></a> command options such as <em>pppm</em> or <em>ewald</em>. Note that if <em>flag_buck</em> is also set to long, then the <em>ewald/disp</em> or <em>pppm/disp</em> Kspace style needs to be used to perform the long-range calculations for both the Buckingham and Coulombic interactions. If <em>flag_coul</em> is set to <em>off</em>, Coulombic interactions are not computed.</p> <p>The following coefficients must be defined for each pair of atoms types via the <a class="reference internal" href="pair_coeff.html"><em>pair_coeff</em></a> command as in the examples above, or in the data file or restart files read by the <a class="reference internal" href="read_data.html"><em>read_data</em></a> or <a class="reference internal" href="read_restart.html"><em>read_restart</em></a> commands:</p> <ul class="simple"> <li>A (energy units)</li> <li>rho (distance units)</li> <li>C (energy-distance^6 units)</li> <li>cutoff (distance units)</li> <li>cutoff2 (distance units)</li> </ul> <p>The second coefficient, rho, must be greater than zero.</p> <p>The latter 2 coefficients are optional. If not specified, the global Buckingham and Coulombic cutoffs specified in the pair_style command are used. If only one cutoff is specified, it is used as the cutoff for both Buckingham and Coulombic interactions for this type pair. If both coefficients are specified, they are used as the Buckingham and Coulombic cutoffs for this type pair. Note that if you are using <em>flag_buck</em> set to <em>long</em>, you cannot specify a Buckingham cutoff for an atom type pair, since only one global Buckingham cutoff is allowed. Similarly, if you are using <em>flag_coul</em> set to <em>long</em>, you cannot specify a Coulombic cutoff for an atom type pair, since only one global Coulombic cutoff is allowed.</p> <hr class="docutils" /> <p>Styles with a <em>cuda</em>, <em>gpu</em>, <em>intel</em>, <em>kk</em>, <em>omp</em>, or <em>opt</em> suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available hardware, as discussed in <a class="reference internal" href="Section_accelerate.html"><em>Section_accelerate</em></a> of the manual. The accelerated styles take the same arguments and should produce the same results, except for round-off and precision issues.</p> <p>These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if LAMMPS was built with those packages. See the <a class="reference internal" href="Section_start.html#start-3"><span>Making LAMMPS</span></a> section for more info.</p> <p>You can specify the accelerated styles explicitly in your input script by including their suffix, or you can use the <a class="reference internal" href="Section_start.html#start-7"><span>-suffix command-line switch</span></a> when you invoke LAMMPS, or you can use the <a class="reference internal" href="suffix.html"><em>suffix</em></a> command in your input script.</p> <p>See <a class="reference internal" href="Section_accelerate.html"><em>Section_accelerate</em></a> of the manual for more instructions on how to use the accelerated styles effectively.</p> <hr class="docutils" /> <p><strong>Mixing, shift, table, tail correction, restart, rRESPA info</strong>:</p> <p>This pair styles does not support mixing. Thus, coefficients for all I,J pairs must be specified explicitly.</p> <p>This pair style supports the <a class="reference internal" href="pair_modify.html"><em>pair_modify</em></a> shift option for the energy of the exp() and 1/r^6 portion of the pair interaction, assuming <em>flag_buck</em> is <em>cut</em>.</p> <p>This pair style does not support the <a class="reference internal" href="pair_modify.html"><em>pair_modify</em></a> shift option for the energy of the Buckingham portion of the pair interaction.</p> <p>This pair style supports the <a class="reference internal" href="pair_modify.html"><em>pair_modify</em></a> table and table/disp options since they can tabulate the short-range portion of the long-range Coulombic and dispersion interactions.</p> <p>This pair style write its information to <a class="reference internal" href="restart.html"><em>binary restart files</em></a>, so pair_style and pair_coeff commands do not need to be specified in an input script that reads a restart file.</p> <p>This pair style supports the use of the <em>inner</em>, <em>middle</em>, and <em>outer</em> keywords of the <a class="reference internal" href="run_style.html"><em>run_style respa</em></a> command, meaning the pairwise forces can be partitioned by distance at different levels of the rRESPA hierarchy. See the <a class="reference internal" href="run_style.html"><em>run_style</em></a> command for details.</p> </div> <hr class="docutils" /> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <p>This style is part of the KSPACE package. It is only enabled if LAMMPS was built with that package. See the <a class="reference internal" href="Section_start.html#start-3"><span>Making LAMMPS</span></a> section for more info. Note that the KSPACE package is installed by default.</p> </div> <div class="section" id="related-commands"> <h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2> <p><a class="reference internal" href="pair_coeff.html"><em>pair_coeff</em></a></p> <p><strong>Default:</strong> none</p> <hr class="docutils" /> <p id="ismail"><strong>(Ismail)</strong> Ismail, Tsige, In ‘t Veld, Grest, Molecular Physics (accepted) (2007).</p> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/pair_charmm.html b/doc/pair_charmm.html index b4689df22..637c3df5b 100644 --- a/doc/pair_charmm.html +++ b/doc/pair_charmm.html @@ -1,391 +1,391 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>pair_style lj/charmm/coul/charmm command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>pair_style lj/charmm/coul/charmm command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="pair-style-lj-charmm-coul-charmm-command"> <span id="index-0"></span><h1>pair_style lj/charmm/coul/charmm command<a class="headerlink" href="#pair-style-lj-charmm-coul-charmm-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="pair-style-lj-charmm-coul-charmm-cuda-command"> <h1>pair_style lj/charmm/coul/charmm/cuda command<a class="headerlink" href="#pair-style-lj-charmm-coul-charmm-cuda-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="pair-style-lj-charmm-coul-charmm-omp-command"> <h1>pair_style lj/charmm/coul/charmm/omp command<a class="headerlink" href="#pair-style-lj-charmm-coul-charmm-omp-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="pair-style-lj-charmm-coul-charmm-implicit-command"> <h1>pair_style lj/charmm/coul/charmm/implicit command<a class="headerlink" href="#pair-style-lj-charmm-coul-charmm-implicit-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="pair-style-lj-charmm-coul-charmm-implicit-cuda-command"> <h1>pair_style lj/charmm/coul/charmm/implicit/cuda command<a class="headerlink" href="#pair-style-lj-charmm-coul-charmm-implicit-cuda-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="pair-style-lj-charmm-coul-charmm-implicit-omp-command"> <h1>pair_style lj/charmm/coul/charmm/implicit/omp command<a class="headerlink" href="#pair-style-lj-charmm-coul-charmm-implicit-omp-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="pair-style-lj-charmm-coul-long-command"> <h1>pair_style lj/charmm/coul/long command<a class="headerlink" href="#pair-style-lj-charmm-coul-long-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="pair-style-lj-charmm-coul-long-cuda-command"> <h1>pair_style lj/charmm/coul/long/cuda command<a class="headerlink" href="#pair-style-lj-charmm-coul-long-cuda-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="pair-style-lj-charmm-coul-long-gpu-command"> <h1>pair_style lj/charmm/coul/long/gpu command<a class="headerlink" href="#pair-style-lj-charmm-coul-long-gpu-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="pair-style-lj-charmm-coul-long-intel-command"> <h1>pair_style lj/charmm/coul/long/intel command<a class="headerlink" href="#pair-style-lj-charmm-coul-long-intel-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="pair-style-lj-charmm-coul-long-opt-command"> <h1>pair_style lj/charmm/coul/long/opt command<a class="headerlink" href="#pair-style-lj-charmm-coul-long-opt-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="pair-style-lj-charmm-coul-long-omp-command"> <h1>pair_style lj/charmm/coul/long/omp command<a class="headerlink" href="#pair-style-lj-charmm-coul-long-omp-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="pair-style-lj-charmm-coul-msm-command"> <h1>pair_style lj/charmm/coul/msm command<a class="headerlink" href="#pair-style-lj-charmm-coul-msm-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="pair-style-lj-charmm-coul-msm-omp-command"> <h1>pair_style lj/charmm/coul/msm/omp command<a class="headerlink" href="#pair-style-lj-charmm-coul-msm-omp-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>pair_style style args </pre></div> </div> <ul class="simple"> <li>style = <em>lj/charmm/coul/charmm</em> or <em>lj/charmm/coul/charmm/implicit</em> or <em>lj/charmm/coul/long</em> or <em>lj/charmm/coul/msm</em></li> <li>args = list of arguments for a particular style</li> </ul> <pre class="literal-block"> <em>lj/charmm/coul/charmm</em> args = inner outer (inner2) (outer2) - inner, outer = global switching cutoffs for Lennard Jones (and Coulombic if only 2 args) - inner2, outer2 = global switching cutoffs for Coulombic (optional) - <em>lj/charmm/coul/charmm/implicit</em> args = inner outer (inner2) (outer2) - inner, outer = global switching cutoffs for LJ (and Coulombic if only 2 args) - inner2, outer2 = global switching cutoffs for Coulombic (optional) - <em>lj/charmm/coul/long</em> args = inner outer (cutoff) - inner, outer = global switching cutoffs for LJ (and Coulombic if only 2 args) - cutoff = global cutoff for Coulombic (optional, outer is Coulombic cutoff if only 2 args) - <em>lj/charmm/coul/msm</em> args = inner outer (cutoff) - inner, outer = global switching cutoffs for LJ (and Coulombic if only 2 args) - cutoff = global cutoff for Coulombic (optional, outer is Coulombic cutoff if only 2 args) + inner, outer = global switching cutoffs for Lennard Jones (and Coulombic if only 2 args) + inner2, outer2 = global switching cutoffs for Coulombic (optional) +<em>lj/charmm/coul/charmm/implicit</em> args = inner outer (inner2) (outer2) + inner, outer = global switching cutoffs for LJ (and Coulombic if only 2 args) + inner2, outer2 = global switching cutoffs for Coulombic (optional) +<em>lj/charmm/coul/long</em> args = inner outer (cutoff) + inner, outer = global switching cutoffs for LJ (and Coulombic if only 2 args) + cutoff = global cutoff for Coulombic (optional, outer is Coulombic cutoff if only 2 args) +<em>lj/charmm/coul/msm</em> args = inner outer (cutoff) + inner, outer = global switching cutoffs for LJ (and Coulombic if only 2 args) + cutoff = global cutoff for Coulombic (optional, outer is Coulombic cutoff if only 2 args) </pre> </div> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>pair_style lj/charmm/coul/charmm 8.0 10.0 pair_style lj/charmm/coul/charmm 8.0 10.0 7.0 9.0 pair_coeff * * 100.0 2.0 pair_coeff 1 1 100.0 2.0 150.0 3.5 </pre></div> </div> <div class="highlight-python"><div class="highlight"><pre>pair_style lj/charmm/coul/charmm/implicit 8.0 10.0 pair_style lj/charmm/coul/charmm/implicit 8.0 10.0 7.0 9.0 pair_coeff * * 100.0 2.0 pair_coeff 1 1 100.0 2.0 150.0 3.5 </pre></div> </div> <div class="highlight-python"><div class="highlight"><pre>pair_style lj/charmm/coul/long 8.0 10.0 pair_style lj/charmm/coul/long 8.0 10.0 9.0 pair_coeff * * 100.0 2.0 pair_coeff 1 1 100.0 2.0 150.0 3.5 </pre></div> </div> <div class="highlight-python"><div class="highlight"><pre>pair_style lj/charmm/coul/msm 8.0 10.0 pair_style lj/charmm/coul/msm 8.0 10.0 9.0 pair_coeff * * 100.0 2.0 pair_coeff 1 1 100.0 2.0 150.0 3.5 </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>The <em>lj/charmm</em> styles compute LJ and Coulombic interactions with an additional switching function S(r) that ramps the energy and force smoothly to zero between an inner and outer cutoff. It is a widely used potential in the <a class="reference external" href="http://www.scripps.edu/brooks">CHARMM</a> MD code. See <a class="reference internal" href="special_bonds.html#mackerell"><span>(MacKerell)</span></a> for a description of the CHARMM force field.</p> <img alt="_images/pair_charmm.jpg" class="align-center" src="_images/pair_charmm.jpg" /> <p>Both the LJ and Coulombic terms require an inner and outer cutoff. They can be the same for both formulas or different depending on whether 2 or 4 arguments are used in the pair_style command. In each case, the inner cutoff distance must be less than the outer cutoff. It it typical to make the difference between the 2 cutoffs about 1.0 Angstrom.</p> <p>Style <em>lj/charmm/coul/charmm/implicit</em> computes the same formulas as style <em>lj/charmm/coul/charmm</em> except that an additional 1/r term is included in the Coulombic formula. The Coulombic energy thus varies as 1/r^2. This is effectively a distance-dependent dielectric term which is a simple model for an implicit solvent with additional screening. It is designed for use in a simulation of an unsolvated biomolecule (no explicit water molecules).</p> <p>Styles <em>lj/charmm/coul/long</em> and <em>lj/charmm/coul/msm</em> compute the same formulas as style <em>lj/charmm/coul/charmm</em> except that an additional damping factor is applied to the Coulombic term, as described for the <a class="reference internal" href="pair_lj.html"><em>lj/cut</em></a> pair styles. Only one Coulombic cutoff is specified for <em>lj/charmm/coul/long</em> and <em>lj/charmm/coul/msm</em>; if only 2 arguments are used in the pair_style command, then the outer LJ cutoff is used as the single Coulombic cutoff.</p> <p>The following coefficients must be defined for each pair of atoms types via the <a class="reference internal" href="pair_coeff.html"><em>pair_coeff</em></a> command as in the examples above, or in the data file or restart files read by the <a class="reference internal" href="read_data.html"><em>read_data</em></a> or <a class="reference internal" href="read_restart.html"><em>read_restart</em></a> commands, or by mixing as described below:</p> <ul class="simple"> <li>epsilon (energy units)</li> <li>sigma (distance units)</li> <li>epsilon_14 (energy units)</li> <li>sigma_14 (distance units)</li> </ul> <p>Note that sigma is defined in the LJ formula as the zero-crossing distance for the potential, not as the energy minimum at 2^(1/6) sigma.</p> <p>The latter 2 coefficients are optional. If they are specified, they are used in the LJ formula between 2 atoms of these types which are also first and fourth atoms in any dihedral. No cutoffs are specified because this CHARMM force field does not allow varying cutoffs for individual atom pairs; all pairs use the global cutoff(s) specified in the pair_style command.</p> <hr class="docutils" /> <p>Styles with a <em>cuda</em>, <em>gpu</em>, <em>intel</em>, <em>kk</em>, <em>omp</em>, or <em>opt</em> suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available hardware, as discussed in <a class="reference internal" href="Section_accelerate.html"><em>Section_accelerate</em></a> of the manual. The accelerated styles take the same arguments and should produce the same results, except for round-off and precision issues.</p> <p>These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if LAMMPS was built with those packages. See the <a class="reference internal" href="Section_start.html#start-3"><span>Making LAMMPS</span></a> section for more info.</p> <p>You can specify the accelerated styles explicitly in your input script by including their suffix, or you can use the <a class="reference internal" href="Section_start.html#start-7"><span>-suffix command-line switch</span></a> when you invoke LAMMPS, or you can use the <a class="reference internal" href="suffix.html"><em>suffix</em></a> command in your input script.</p> <p>See <a class="reference internal" href="Section_accelerate.html"><em>Section_accelerate</em></a> of the manual for more instructions on how to use the accelerated styles effectively.</p> <hr class="docutils" /> <p><strong>Mixing, shift, table, tail correction, restart, rRESPA info</strong>:</p> <p>For atom type pairs I,J and I != J, the epsilon, sigma, epsilon_14, and sigma_14 coefficients for all of the lj/charmm pair styles can be mixed. The default mix value is <em>arithmetic</em> to coincide with the usual settings for the CHARMM force field. See the “pair_modify” command for details.</p> <p>None of the lj/charmm pair styles support the <a class="reference internal" href="pair_modify.html"><em>pair_modify</em></a> shift option, since the Lennard-Jones portion of the pair interaction is smoothed to 0.0 at the cutoff.</p> <p>The <em>lj/charmm/coul/long</em> style supports the <a class="reference internal" href="pair_modify.html"><em>pair_modify</em></a> table option since it can tabulate the short-range portion of the long-range Coulombic interaction.</p> <p>None of the lj/charmm pair styles support the <a class="reference internal" href="pair_modify.html"><em>pair_modify</em></a> tail option for adding long-range tail corrections to energy and pressure, since the Lennard-Jones portion of the pair interaction is smoothed to 0.0 at the cutoff.</p> <p>All of the lj/charmm pair styles write their information to <a class="reference internal" href="restart.html"><em>binary restart files</em></a>, so pair_style and pair_coeff commands do not need to be specified in an input script that reads a restart file.</p> <p>The lj/charmm/coul/long pair style supports the use of the <em>inner</em>, <em>middle</em>, and <em>outer</em> keywords of the <a class="reference internal" href="run_style.html"><em>run_style respa</em></a> command, meaning the pairwise forces can be partitioned by distance at different levels of the rRESPA hierarchy. The other styles only support the <em>pair</em> keyword of run_style respa. See the <a class="reference internal" href="run_style.html"><em>run_style</em></a> command for details.</p> </div> <hr class="docutils" /> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <p>The <em>lj/charmm/coul/charmm</em> and <em>lj/charmm/coul/charmm/implicit</em> styles are part of the MOLECULE package. The <em>lj/charmm/coul/long</em> style is part of the KSPACE package. They are only enabled if LAMMPS was built with those packages. See the <a class="reference internal" href="Section_start.html#start-3"><span>Making LAMMPS</span></a> section for more info. Note that the MOLECULE and KSPACE packages are installed by default.</p> </div> <div class="section" id="related-commands"> <h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2> <p><a class="reference internal" href="pair_coeff.html"><em>pair_coeff</em></a></p> <p><strong>Default:</strong> none</p> <hr class="docutils" /> <p id="mackerell"><strong>(MacKerell)</strong> MacKerell, Bashford, Bellott, Dunbrack, Evanseck, Field, Fischer, Gao, Guo, Ha, et al, J Phys Chem, 102, 3586 (1998).</p> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/pair_class2.html b/doc/pair_class2.html index 878fac51c..2f8318c9a 100644 --- a/doc/pair_class2.html +++ b/doc/pair_class2.html @@ -1,362 +1,362 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>pair_style lj/class2 command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>pair_style lj/class2 command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="pair-style-lj-class2-command"> <span id="index-0"></span><h1>pair_style lj/class2 command<a class="headerlink" href="#pair-style-lj-class2-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="pair-style-lj-class2-cuda-command"> <h1>pair_style lj/class2/cuda command<a class="headerlink" href="#pair-style-lj-class2-cuda-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="pair-style-lj-class2-gpu-command"> <h1>pair_style lj/class2/gpu command<a class="headerlink" href="#pair-style-lj-class2-gpu-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="pair-style-lj-class2-kk-command"> <h1>pair_style lj/class2/kk command<a class="headerlink" href="#pair-style-lj-class2-kk-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="pair-style-lj-class2-omp-command"> <h1>pair_style lj/class2/omp command<a class="headerlink" href="#pair-style-lj-class2-omp-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="pair-style-lj-class2-coul-cut-command"> <h1>pair_style lj/class2/coul/cut command<a class="headerlink" href="#pair-style-lj-class2-coul-cut-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="pair-style-lj-class2-coul-cut-cuda-command"> <h1>pair_style lj/class2/coul/cut/cuda command<a class="headerlink" href="#pair-style-lj-class2-coul-cut-cuda-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="pair-style-lj-class2-coul-cut-kk-command"> <h1>pair_style lj/class2/coul/cut/kk command<a class="headerlink" href="#pair-style-lj-class2-coul-cut-kk-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="pair-style-lj-class2-coul-cut-omp-command"> <h1>pair_style lj/class2/coul/cut/omp command<a class="headerlink" href="#pair-style-lj-class2-coul-cut-omp-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="pair-style-lj-class2-coul-long-command"> <h1>pair_style lj/class2/coul/long command<a class="headerlink" href="#pair-style-lj-class2-coul-long-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="pair-style-lj-class2-coul-long-cuda-command"> <h1>pair_style lj/class2/coul/long/cuda command<a class="headerlink" href="#pair-style-lj-class2-coul-long-cuda-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="pair-style-lj-class2-coul-long-gpu-command"> <h1>pair_style lj/class2/coul/long/gpu command<a class="headerlink" href="#pair-style-lj-class2-coul-long-gpu-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="pair-style-lj-class2-coul-long-kk-command"> <h1>pair_style lj/class2/coul/long/kk command<a class="headerlink" href="#pair-style-lj-class2-coul-long-kk-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="pair-style-lj-class2-coul-long-omp-command"> <h1>pair_style lj/class2/coul/long/omp command<a class="headerlink" href="#pair-style-lj-class2-coul-long-omp-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>pair_style style args </pre></div> </div> <ul class="simple"> <li>style = <em>lj/class2</em> or <em>lj/class2/coul/cut</em> or <em>lj/class2/coul/long</em></li> <li>args = list of arguments for a particular style</li> </ul> <pre class="literal-block"> <em>lj/class2</em> args = cutoff - cutoff = global cutoff for class 2 interactions (distance units) - <em>lj/class2/coul/cut</em> args = cutoff (cutoff2) - cutoff = global cutoff for class 2 (and Coulombic if only 1 arg) (distance units) - cutoff2 = global cutoff for Coulombic (optional) (distance units) - <em>lj/class2/coul/long</em> args = cutoff (cutoff2) - cutoff = global cutoff for class 2 (and Coulombic if only 1 arg) (distance units) - cutoff2 = global cutoff for Coulombic (optional) (distance units) + cutoff = global cutoff for class 2 interactions (distance units) +<em>lj/class2/coul/cut</em> args = cutoff (cutoff2) + cutoff = global cutoff for class 2 (and Coulombic if only 1 arg) (distance units) + cutoff2 = global cutoff for Coulombic (optional) (distance units) +<em>lj/class2/coul/long</em> args = cutoff (cutoff2) + cutoff = global cutoff for class 2 (and Coulombic if only 1 arg) (distance units) + cutoff2 = global cutoff for Coulombic (optional) (distance units) </pre> </div> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>pair_style lj/class2 10.0 pair_coeff * * 100.0 2.5 pair_coeff 1 2* 100.0 2.5 9.0 </pre></div> </div> <div class="highlight-python"><div class="highlight"><pre>pair_style lj/class2/coul/cut 10.0 pair_style lj/class2/coul/cut 10.0 8.0 pair_coeff * * 100.0 3.0 pair_coeff 1 1 100.0 3.5 9.0 pair_coeff 1 1 100.0 3.5 9.0 9.0 </pre></div> </div> <div class="highlight-python"><div class="highlight"><pre>pair_style lj/class2/coul/long 10.0 pair_style lj/class2/coul/long 10.0 8.0 pair_coeff * * 100.0 3.0 pair_coeff 1 1 100.0 3.5 9.0 </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>The <em>lj/class2</em> styles compute a 6/9 Lennard-Jones potential given by</p> <img alt="_images/pair_class2.jpg" class="align-center" src="_images/pair_class2.jpg" /> <p>Rc is the cutoff.</p> <p>The <em>lj/class2/coul/cut</em> and <em>lj/class2/coul/long</em> styles add a Coulombic term as described for the <a class="reference internal" href="pair_lj.html"><em>lj/cut</em></a> pair styles.</p> <p>See <a class="reference internal" href="pair_modify.html#sun"><span>(Sun)</span></a> for a description of the COMPASS class2 force field.</p> <p>The following coefficients must be defined for each pair of atoms types via the <a class="reference internal" href="pair_coeff.html"><em>pair_coeff</em></a> command as in the examples above, or in the data file or restart files read by the <a class="reference internal" href="read_data.html"><em>read_data</em></a> or <a class="reference internal" href="read_restart.html"><em>read_restart</em></a> commands, or by mixing as described below:</p> <ul class="simple"> <li>epsilon (energy units)</li> <li>sigma (distance units)</li> <li>cutoff1 (distance units)</li> <li>cutoff2 (distance units)</li> </ul> <p>The latter 2 coefficients are optional. If not specified, the global class 2 and Coulombic cutoffs are used. If only one cutoff is specified, it is used as the cutoff for both class 2 and Coulombic interactions for this type pair. If both coefficients are specified, they are used as the class 2 and Coulombic cutoffs for this type pair. You cannot specify 2 cutoffs for style <em>lj/class2</em>, since it has no Coulombic terms.</p> <p>For <em>lj/class2/coul/long</em> only the class 2 cutoff can be specified since a Coulombic cutoff cannot be specified for an individual I,J type pair. All type pairs use the same global Coulombic cutoff specified in the pair_style command.</p> <hr class="docutils" /> <p>If the pair_coeff command is not used to define coefficients for a particular I != J type pair, the mixing rule for epsilon and sigma for all class2 potentials is to use the <em>sixthpower</em> formulas documented by the <a class="reference internal" href="pair_modify.html"><em>pair_modify</em></a> command. The <a class="reference internal" href="pair_modify.html"><em>pair_modify mix</em></a> setting is thus ignored for class2 potentials for epsilon and sigma. However it is still followed for mixing the cutoff distance.</p> <hr class="docutils" /> <p>Styles with a <em>cuda</em>, <em>gpu</em>, <em>intel</em>, <em>kk</em>, <em>omp</em>, or <em>opt</em> suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available hardware, as discussed in <a class="reference internal" href="Section_accelerate.html"><em>Section_accelerate</em></a> of the manual. The accelerated styles take the same arguments and should produce the same results, except for round-off and precision issues.</p> <p>These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if LAMMPS was built with those packages. See the <a class="reference internal" href="Section_start.html#start-3"><span>Making LAMMPS</span></a> section for more info.</p> <p>You can specify the accelerated styles explicitly in your input script by including their suffix, or you can use the <a class="reference internal" href="Section_start.html#start-7"><span>-suffix command-line switch</span></a> when you invoke LAMMPS, or you can use the <a class="reference internal" href="suffix.html"><em>suffix</em></a> command in your input script.</p> <p>See <a class="reference internal" href="Section_accelerate.html"><em>Section_accelerate</em></a> of the manual for more instructions on how to use the accelerated styles effectively.</p> <hr class="docutils" /> <p><strong>Mixing, shift, table, tail correction, restart, rRESPA info</strong>:</p> <p>For atom type pairs I,J and I != J, the epsilon and sigma coefficients and cutoff distance for all of the lj/class2 pair styles can be mixed. Epsilon and sigma are always mixed with the value <em>sixthpower</em>. The cutoff distance is mixed by whatever option is set by the pair_modify command (default = geometric). See the “pair_modify” command for details.</p> <p>All of the lj/class2 pair styles support the <a class="reference internal" href="pair_modify.html"><em>pair_modify</em></a> shift option for the energy of the Lennard-Jones portion of the pair interaction.</p> <p>The <em>lj/class2/coul/long</em> pair style does not support the <a class="reference internal" href="pair_modify.html"><em>pair_modify</em></a> table option since a tabulation capability has not yet been added to this potential.</p> <p>All of the lj/class2 pair styles support the <a class="reference internal" href="pair_modify.html"><em>pair_modify</em></a> tail option for adding a long-range tail correction to the energy and pressure of the Lennard-Jones portion of the pair interaction.</p> <p>All of the lj/class2 pair styles write their information to <a class="reference internal" href="restart.html"><em>binary restart files</em></a>, so pair_style and pair_coeff commands do not need to be specified in an input script that reads a restart file.</p> <p>All of the lj/class2 pair styles can only be used via the <em>pair</em> keyword of the <a class="reference internal" href="run_style.html"><em>run_style respa</em></a> command. They do not support the <em>inner</em>, <em>middle</em>, <em>outer</em> keywords.</p> </div> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <p>These styles are part of the CLASS2 package. They are only enabled if LAMMPS was built with that package. See the <a class="reference internal" href="Section_start.html#start-3"><span>Making LAMMPS</span></a> section for more info.</p> </div> <div class="section" id="related-commands"> <h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2> <p><a class="reference internal" href="pair_coeff.html"><em>pair_coeff</em></a></p> <p><strong>Default:</strong> none</p> <hr class="docutils" /> <p id="sun"><strong>(Sun)</strong> Sun, J Phys Chem B 102, 7338-7364 (1998).</p> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/pair_cs.html b/doc/pair_cs.html index 247773cd8..c0f8d88cd 100644 --- a/doc/pair_cs.html +++ b/doc/pair_cs.html @@ -1,266 +1,266 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>pair_style born/coul/long/cs command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>pair_style born/coul/long/cs command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="pair-style-born-coul-long-cs-command"> <span id="index-0"></span><h1>pair_style born/coul/long/cs command<a class="headerlink" href="#pair-style-born-coul-long-cs-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="pair-style-buck-coul-long-cs-command"> <h1>pair_style buck/coul/long/cs command<a class="headerlink" href="#pair-style-buck-coul-long-cs-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>pair_style style args </pre></div> </div> <ul class="simple"> <li>style = <em>born/coul/long/cs</em> or <em>buck/coul/long/cs</em></li> <li>args = list of arguments for a particular style</li> </ul> <pre class="literal-block"> <em>born/coul/long/cs</em> args = cutoff (cutoff2) - cutoff = global cutoff for non-Coulombic (and Coulombic if only 1 arg) (distance units) - cutoff2 = global cutoff for Coulombic (optional) (distance units) - <em>buck/coul/long/cs</em> args = cutoff (cutoff2) - cutoff = global cutoff for Buckingham (and Coulombic if only 1 arg) (distance units) - cutoff2 = global cutoff for Coulombic (optional) (distance units) + cutoff = global cutoff for non-Coulombic (and Coulombic if only 1 arg) (distance units) + cutoff2 = global cutoff for Coulombic (optional) (distance units) +<em>buck/coul/long/cs</em> args = cutoff (cutoff2) + cutoff = global cutoff for Buckingham (and Coulombic if only 1 arg) (distance units) + cutoff2 = global cutoff for Coulombic (optional) (distance units) </pre> </div> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>pair_style born/coul/long/cs 10.0 8.0 pair_coeff 1 1 6.08 0.317 2.340 24.18 11.51 </pre></div> </div> <div class="highlight-python"><div class="highlight"><pre>pair_style buck/coul/long/cs 10.0 pair_style buck/coul/long/cs 10.0 8.0 pair_coeff * * 100.0 1.5 200.0 pair_coeff 1 1 100.0 1.5 200.0 9.0 </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>These pair styles are designed to be used with the adiabatic core/shell model of <a class="reference internal" href="#mitchellfinchham"><span>(Mitchell and Finchham)</span></a>. See <a class="reference internal" href="Section_howto.html#howto-25"><span>Section_howto 25</span></a> of the manual for an overview of the model as implemented in LAMMPS.</p> <p>These pair styles are identical to the <a class="reference internal" href="pair_born.html"><em>pair_style born/coul/long</em></a> and <a class="reference internal" href="pair_buck.html"><em>pair_style buck/coul/long</em></a> styles, except they correctly treat the special case where the distance between two charged core and shell atoms in the same core/shell pair approach r = 0.0. This needs special treatment when a long-range solver for Coulombic interactions is also used, i.e. via the <a class="reference internal" href="kspace_style.html"><em>kspace_style</em></a> command.</p> <p>More specifically, the short-range Coulomb interaction between a core and its shell should be turned off using the <a class="reference internal" href="special_bonds.html"><em>special_bonds</em></a> command by setting the 1-2 weight to 0.0, which works because the core and shell atoms are bonded to each other. This induces a long-range correction approximation which fails at small distances (~< 10e-8). Therefore, the Coulomb term which is used to calculate the correction factor is extended by a minimal distance (r_min = 1.0-6) when the interaction between a core/shell pair is treated, as follows</p> <img alt="_images/pair_cs.jpg" class="align-center" src="_images/pair_cs.jpg" /> <p>where C is an energy-conversion constant, Qi and Qj are the charges on the core and shell, epsilon is the dielectric constant and r_min is the minimal distance.</p> </div> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <p>These pair styles are part of the CORESHELL package. They are only enabled if LAMMPS was built with that package. See the <a class="reference internal" href="Section_start.html#start-3"><span>Making LAMMPS</span></a> section for more info.</p> </div> <div class="section" id="related-commands"> <h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2> <p><a class="reference internal" href="pair_coeff.html"><em>pair_coeff</em></a>, <a class="reference internal" href="pair_born.html"><em>pair_style born</em></a>, <a class="reference internal" href="pair_buck.html"><em>pair_style buck</em></a></p> <p><strong>Default:</strong> none</p> <hr class="docutils" /> <p id="mitchellfinchham"><strong>(Mitchell and Finchham)</strong> Mitchell, Finchham, J Phys Condensed Matter, 5, 1031-1038 (1993).</p> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/pair_dipole.html b/doc/pair_dipole.html index 20e689001..49c8efb8d 100644 --- a/doc/pair_dipole.html +++ b/doc/pair_dipole.html @@ -1,425 +1,425 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>pair_style lj/cut/dipole/cut command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>pair_style lj/cut/dipole/cut command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="pair-style-lj-cut-dipole-cut-command"> <span id="index-0"></span><h1>pair_style lj/cut/dipole/cut command<a class="headerlink" href="#pair-style-lj-cut-dipole-cut-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="pair-style-lj-cut-dipole-cut-gpu-command"> <h1>pair_style lj/cut/dipole/cut/gpu command<a class="headerlink" href="#pair-style-lj-cut-dipole-cut-gpu-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="pair-style-lj-cut-dipole-cut-omp-command"> <h1>pair_style lj/cut/dipole/cut/omp command<a class="headerlink" href="#pair-style-lj-cut-dipole-cut-omp-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="pair-style-lj-sf-dipole-sf-command"> <h1>pair_style lj/sf/dipole/sf command<a class="headerlink" href="#pair-style-lj-sf-dipole-sf-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="pair-style-lj-sf-dipole-sf-gpu-command"> <h1>pair_style lj/sf/dipole/sf/gpu command<a class="headerlink" href="#pair-style-lj-sf-dipole-sf-gpu-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="pair-style-lj-sf-dipole-sf-omp-command"> <h1>pair_style lj/sf/dipole/sf/omp command<a class="headerlink" href="#pair-style-lj-sf-dipole-sf-omp-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="pair-style-lj-cut-dipole-long-command"> <h1>pair_style lj/cut/dipole/long command<a class="headerlink" href="#pair-style-lj-cut-dipole-long-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="pair-style-lj-long-dipole-long-command"> <h1>pair_style lj/long/dipole/long command<a class="headerlink" href="#pair-style-lj-long-dipole-long-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>pair_style lj/cut/dipole/cut cutoff (cutoff2) pair_style lj/sf/dipole/sf cutoff (cutoff2) pair_style lj/cut/dipole/long cutoff (cutoff2) pair_style lj/long/dipole/long flag_lj flag_coul cutoff (cutoff2) </pre></div> </div> <ul class="simple"> <li>cutoff = global cutoff LJ (and Coulombic if only 1 arg) (distance units)</li> <li>cutoff2 = global cutoff for Coulombic and dipole (optional) (distance units)</li> <li>flag_lj = <em>long</em> or <em>cut</em> or <em>off</em></li> </ul> <pre class="literal-block"> <em>long</em> = use long-range damping on dispersion 1/r^6 term - <em>cut</em> = use a cutoff on dispersion 1/r^6 term - <em>off</em> = omit disperion 1/r^6 term entirely +<em>cut</em> = use a cutoff on dispersion 1/r^6 term +<em>off</em> = omit disperion 1/r^6 term entirely </pre> <ul class="simple"> <li>flag_coul = <em>long</em> or <em>off</em></li> </ul> <pre class="literal-block"> <em>long</em> = use long-range damping on Coulombic 1/r and point-dipole terms - <em>off</em> = omit Coulombic and point-dipole terms entirely +<em>off</em> = omit Coulombic and point-dipole terms entirely </pre> </div> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>pair_style lj/cut/dipole/cut 10.0 pair_coeff * * 1.0 1.0 pair_coeff 2 3 1.0 1.0 2.5 4.0 </pre></div> </div> <div class="highlight-python"><div class="highlight"><pre>pair_style lj/sf/dipole/sf 9.0 pair_coeff * * 1.0 1.0 pair_coeff 2 3 1.0 1.0 2.5 4.0 </pre></div> </div> <div class="highlight-python"><div class="highlight"><pre>pair_style lj/cut/dipole/long 10.0 pair_coeff * * 1.0 1.0 pair_coeff 2 3 1.0 1.0 2.5 4.0 </pre></div> </div> <div class="highlight-python"><div class="highlight"><pre>pair_style lj/long/dipole/long long long 3.5 10.0 pair_coeff * * 1.0 1.0 pair_coeff 2 3 1.0 1.0 2.5 4.0 </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>Style <em>lj/cut/dipole/cut</em> computes interactions between pairs of particles that each have a charge and/or a point dipole moment. In addition to the usual Lennard-Jones interaction between the particles (Elj) the charge-charge (Eqq), charge-dipole (Eqp), and dipole-dipole (Epp) interactions are computed by these formulas for the energy (E), force (F), and torque (T) between particles I and J.</p> <img alt="_images/pair_dipole.jpg" class="align-center" src="_images/pair_dipole.jpg" /> <p>where qi and qj are the charges on the two particles, pi and pj are the dipole moment vectors of the two particles, r is their separation distance, and the vector r = Ri - Rj is the separation vector between the two particles. Note that Eqq and Fqq are simply Coulombic energy and force, Fij = -Fji as symmetric forces, and Tij != -Tji since the torques do not act symmetrically. These formulas are discussed in <a class="reference internal" href="pair_gayberne.html#allen"><span>(Allen)</span></a> and in <a class="reference internal" href="#toukmaji"><span>(Toukmaji)</span></a>.</p> <p>Style <em>lj/sf/dipole/sf</em> computes “shifted-force” interactions between pairs of particles that each have a charge and/or a point dipole moment. In general, a shifted-force potential is a (sligthly) modified potential containing extra terms that make both the energy and its derivative go to zero at the cutoff distance; this removes (cutoff-related) problems in energy conservation and any numerical instability in the equations of motion <a class="reference internal" href="pair_gayberne.html#allen"><span>(Allen)</span></a>. Shifted-force interactions for the Lennard-Jones (E_LJ), charge-charge (Eqq), charge-dipole (Eqp), dipole-charge (Epq) and dipole-dipole (Epp) potentials are computed by these formulas for the energy (E), force (F), and torque (T) between particles I and J:</p> <img alt="_images/pair_dipole_sf.jpg" class="align-center" src="_images/pair_dipole_sf.jpg" /> <img alt="_images/pair_dipole_sf2.jpg" class="align-center" src="_images/pair_dipole_sf2.jpg" /> <p>where epsilon and sigma are the standard LJ parameters, r_c is the cutoff, qi and qj are the charges on the two particles, pi and pj are the dipole moment vectors of the two particles, r is their separation distance, and the vector r = Ri - Rj is the separation vector between the two particles. Note that Eqq and Fqq are simply Coulombic energy and force, Fij = -Fji as symmetric forces, and Tij != -Tji since the torques do not act symmetrically. The shifted-force formula for the Lennard-Jones potential is reported in <a class="reference internal" href="#stoddard"><span>(Stoddard)</span></a>. The original (unshifted) formulas for the electrostatic potentials, forces and torques can be found in <a class="reference internal" href="#price"><span>(Price)</span></a>. The shifted-force electrostatic potentials have been obtained by applying equation 5.13 of <a class="reference internal" href="pair_gayberne.html#allen"><span>(Allen)</span></a>. The formulas for the corresponding forces and torques have been obtained by applying the ‘chain rule’ as in appendix C.3 of <a class="reference internal" href="pair_gayberne.html#allen"><span>(Allen)</span></a>.</p> <p>If one cutoff is specified in the pair_style command, it is used for both the LJ and Coulombic (q,p) terms. If two cutoffs are specified, they are used as cutoffs for the LJ and Coulombic (q,p) terms respectively.</p> <p>Style <em>lj/cut/dipole/long</em> computes long-range point-dipole interactions as discussed in <a class="reference internal" href="#toukmaji"><span>(Toukmaji)</span></a>. Dipole-dipole, dipole-charge, and charge-charge interactions are all supported, along with the standard 12/6 Lennard-Jones interactions, which are computed with a cutoff. A <a class="reference internal" href="kspace_style.html"><em>kspace_style</em></a> must be defined to use this pair style. Currently, only <a class="reference internal" href="kspace_style.html"><em>kspace_style ewald/disp</em></a> support long-range point-dipole interactions.</p> <p>Style <em>lj/long/dipole/long</em> also computes point-dipole interactions as discussed in <a class="reference internal" href="#toukmaji"><span>(Toukmaji)</span></a>. Long-range dipole-dipole, dipole-charge, and charge-charge interactions are all supported, along with the standard 12/6 Lennard-Jones interactions. LJ interactions can be cutoff or long-ranged.</p> <p>For style <em>lj/long/dipole/long</em>, if <em>flag_lj</em> is set to <em>long</em>, no cutoff is used on the LJ 1/r^6 dispersion term. The long-range portion is calculated by using the <a class="reference internal" href="kspace_style.html"><em>kspace_style ewald_disp</em></a> command. The specified LJ cutoff then determines which portion of the LJ interactions are computed directly by the pair potential versus which part is computed in reciprocal space via the Kspace style. If <em>flag_lj</em> is set to <em>cut</em>, the LJ interactions are simply cutoff, as with <a class="reference internal" href="pair_lj.html"><em>pair_style lj/cut</em></a>. If <em>flag_lj</em> is set to <em>off</em>, LJ interactions are not computed at all.</p> <p>If <em>flag_coul</em> is set to <em>long</em>, no cutoff is used on the Coulombic or dipole interactions. The long-range portion is calculated by using <em>ewald_disp</em> of the <a class="reference internal" href="kspace_style.html"><em>kspace_style</em></a> command. If <em>flag_coul</em> is set to <em>off</em>, Coulombic and dipole interactions are not computed at all.</p> <p>Atoms with dipole moments should be integrated using the <a class="reference internal" href="fix_nve_sphere.html"><em>fix nve/sphere update dipole</em></a> command to rotate the dipole moments. The <em>omega</em> option on the <a class="reference internal" href="fix_langevin.html"><em>fix langevin</em></a> command can be used to thermostat the rotational motion. The <a class="reference internal" href="compute_temp_sphere.html"><em>compute temp/sphere</em></a> command can be used to monitor the temperature, since it includes rotational degrees of freedom. The <a class="reference internal" href="atom_style.html"><em>atom_style dipole</em></a> command should be used since it defines the point dipoles and their rotational state. The magnitude of the dipole moment for each type of particle can be defined by the <code class="xref doc docutils literal"><span class="pre">dipole</span></code> command or in the “Dipoles” section of the data file read in by the <a class="reference internal" href="read_data.html"><em>read_data</em></a> command. Their initial orientation can be defined by the <a class="reference internal" href="set.html"><em>set dipole</em></a> command or in the “Atoms” section of the data file.</p> <p>The following coefficients must be defined for each pair of atoms types via the <a class="reference internal" href="pair_coeff.html"><em>pair_coeff</em></a> command as in the examples above, or in the data file or restart files read by the <a class="reference internal" href="read_data.html"><em>read_data</em></a> or <a class="reference internal" href="read_restart.html"><em>read_restart</em></a> commands, or by mixing as described below:</p> <ul class="simple"> <li>epsilon (energy units)</li> <li>sigma (distance units)</li> <li>cutoff1 (distance units)</li> <li>cutoff2 (distance units)</li> </ul> <p>The latter 2 coefficients are optional. If not specified, the global LJ and Coulombic cutoffs specified in the pair_style command are used. If only one cutoff is specified, it is used as the cutoff for both LJ and Coulombic interactions for this type pair. If both coefficients are specified, they are used as the LJ and Coulombic cutoffs for this type pair.</p> <hr class="docutils" /> <p>Styles with a <em>cuda</em>, <em>gpu</em>, <em>intel</em>, <em>kk</em>, <em>omp</em>, or <em>opt</em> suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available hardware, as discussed in <a class="reference internal" href="Section_accelerate.html"><em>Section_accelerate</em></a> of the manual. The accelerated styles take the same arguments and should produce the same results, except for round-off and precision issues.</p> <p>These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if LAMMPS was built with those packages. See the <a class="reference internal" href="Section_start.html#start-3"><span>Making LAMMPS</span></a> section for more info.</p> <p>You can specify the accelerated styles explicitly in your input script by including their suffix, or you can use the <a class="reference internal" href="Section_start.html#start-7"><span>-suffix command-line switch</span></a> when you invoke LAMMPS, or you can use the <a class="reference internal" href="suffix.html"><em>suffix</em></a> command in your input script.</p> <p>See <a class="reference internal" href="Section_accelerate.html"><em>Section_accelerate</em></a> of the manual for more instructions on how to use the accelerated styles effectively.</p> <hr class="docutils" /> <p><strong>Mixing, shift, table, tail correction, restart, rRESPA info</strong>:</p> <p>For atom type pairs I,J and I != J, the epsilon and sigma coefficients and cutoff distances for this pair style can be mixed. The default mix value is <em>geometric</em>. See the “pair_modify” command for details.</p> <p>For atom type pairs I,J and I != J, the A, sigma, d1, and d2 coefficients and cutoff distance for this pair style can be mixed. A is an energy value mixed like a LJ epsilon. D1 and d2 are distance values and are mixed like sigma. The default mix value is <em>geometric</em>. See the “pair_modify” command for details.</p> <p>This pair style does not support the <a class="reference internal" href="pair_modify.html"><em>pair_modify</em></a> shift option for the energy of the Lennard-Jones portion of the pair interaction; such energy goes to zero at the cutoff by construction.</p> <p>The <a class="reference internal" href="pair_modify.html"><em>pair_modify</em></a> table option is not relevant for this pair style.</p> <p>This pair style does not support the <a class="reference internal" href="pair_modify.html"><em>pair_modify</em></a> tail option for adding long-range tail corrections to energy and pressure.</p> <p>This pair style writes its information to <a class="reference internal" href="restart.html"><em>binary restart files</em></a>, so pair_style and pair_coeff commands do not need to be specified in an input script that reads a restart file.</p> <p>This pair style can only be used via the <em>pair</em> keyword of the <a class="reference internal" href="run_style.html"><em>run_style respa</em></a> command. It does not support the <em>inner</em>, <em>middle</em>, <em>outer</em> keywords.</p> </div> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <p>The <em>lj/cut/dipole/cut</em>, <em>lj/cut/dipole/long</em>, and <em>lj/long/dipole/long</em> styles are part of the DIPOLE package. They are only enabled if LAMMPS was built with that package. See the <a class="reference internal" href="Section_start.html#start-3"><span>Making LAMMPS</span></a> section for more info.</p> <p>The <em>lj/sf/dipole/sf</em> style is part of the USER-MISC package. It is only enabled if LAMMPS was built with that package. See the <a class="reference internal" href="Section_start.html#start-3"><span>Making LAMMPS</span></a> section for more info.</p> <p>Using dipole pair styles with <em>electron</em> <a class="reference internal" href="units.html"><em>units</em></a> is not currently supported.</p> </div> <div class="section" id="related-commands"> <h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2> <p><a class="reference internal" href="pair_coeff.html"><em>pair_coeff</em></a></p> <p><strong>Default:</strong> none</p> <hr class="docutils" /> <p id="allen"><strong>(Allen)</strong> Allen and Tildesley, Computer Simulation of Liquids, Clarendon Press, Oxford, 1987.</p> <p id="toukmaji"><strong>(Toukmaji)</strong> Toukmaji, Sagui, Board, and Darden, J Chem Phys, 113, 10913 (2000).</p> <p id="stoddard"><strong>(Stoddard)</strong> Stoddard and Ford, Phys Rev A, 8, 1504 (1973).</p> <p id="price"><strong>(Price)</strong> Price, Stone and Alderton, Mol Phys, 52, 987 (1984).</p> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/pair_gromacs.html b/doc/pair_gromacs.html index eb8f3d242..fe0c2e9f9 100644 --- a/doc/pair_gromacs.html +++ b/doc/pair_gromacs.html @@ -1,337 +1,337 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>pair_style lj/gromacs command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>pair_style lj/gromacs command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="pair-style-lj-gromacs-command"> <span id="index-0"></span><h1>pair_style lj/gromacs command<a class="headerlink" href="#pair-style-lj-gromacs-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="pair-style-lj-gromacs-cuda-command"> <h1>pair_style lj/gromacs/cuda command<a class="headerlink" href="#pair-style-lj-gromacs-cuda-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="pair-style-lj-gromacs-gpu-command"> <h1>pair_style lj/gromacs/gpu command<a class="headerlink" href="#pair-style-lj-gromacs-gpu-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="pair-style-lj-gromacs-omp-command"> <h1>pair_style lj/gromacs/omp command<a class="headerlink" href="#pair-style-lj-gromacs-omp-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="pair-style-lj-gromacs-coul-gromacs-command"> <h1>pair_style lj/gromacs/coul/gromacs command<a class="headerlink" href="#pair-style-lj-gromacs-coul-gromacs-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="pair-style-lj-gromacs-coul-gromacs-cuda-command"> <h1>pair_style lj/gromacs/coul/gromacs/cuda command<a class="headerlink" href="#pair-style-lj-gromacs-coul-gromacs-cuda-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="pair-style-lj-gromacs-coul-gromacs-omp-command"> <h1>pair_style lj/gromacs/coul/gromacs/omp command<a class="headerlink" href="#pair-style-lj-gromacs-coul-gromacs-omp-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>pair_style style args </pre></div> </div> <ul class="simple"> <li>style = <em>lj/gromacs</em> or <em>lj/gromacs/coul/gromacs</em></li> <li>args = list of arguments for a particular style</li> </ul> <pre class="literal-block"> <em>lj/gromacs</em> args = inner outer - inner, outer = global switching cutoffs for Lennard Jones - <em>lj/gromacs/coul/gromacs</em> args = inner outer (inner2) (outer2) - inner, outer = global switching cutoffs for Lennard Jones (and Coulombic if only 2 args) - inner2, outer2 = global switching cutoffs for Coulombic (optional) + inner, outer = global switching cutoffs for Lennard Jones +<em>lj/gromacs/coul/gromacs</em> args = inner outer (inner2) (outer2) + inner, outer = global switching cutoffs for Lennard Jones (and Coulombic if only 2 args) + inner2, outer2 = global switching cutoffs for Coulombic (optional) </pre> </div> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>pair_style lj/gromacs 9.0 12.0 pair_coeff * * 100.0 2.0 pair_coeff 2 2 100.0 2.0 8.0 10.0 </pre></div> </div> <div class="highlight-python"><div class="highlight"><pre>pair_style lj/gromacs/coul/gromacs 9.0 12.0 pair_style lj/gromacs/coul/gromacs 8.0 10.0 7.0 9.0 pair_coeff * * 100.0 2.0 </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>The <em>lj/gromacs</em> styles compute shifted LJ and Coulombic interactions with an additional switching function S(r) that ramps the energy and force smoothly to zero between an inner and outer cutoff. It is a commonly used potential in the <a class="reference external" href="http://www.gromacs.org">GROMACS</a> MD code and for the coarse-grained models of <a class="reference internal" href="#marrink"><span>(Marrink)</span></a>.</p> <img alt="_images/pair_gromacs.jpg" class="align-center" src="_images/pair_gromacs.jpg" /> <p>r1 is the inner cutoff; rc is the outer cutoff. The coefficients A, B, and C are computed by LAMMPS to perform the shifting and smoothing. The function S(r) is actually applied once to each term of the LJ formula and once to the Coulombic formula, so there are 2 or 3 sets of A,B,C coefficients depending on which pair_style is used. The boundary conditions applied to the smoothing function are as follows: S’(r1) = S’‘(r1) = 0, S(rc) = -E(rc), S’(rc) = -E’(rc), and S’‘(rc) = -E’‘(rc), where E(r) is the corresponding term in the LJ or Coulombic potential energy function. Single and double primes denote first and second derivatives with respect to r, respectively.</p> <p>The inner and outer cutoff for the LJ and Coulombic terms can be the same or different depending on whether 2 or 4 arguments are used in the pair_style command. The inner LJ cutoff must be > 0, but the inner Coulombic cutoff can be >= 0.</p> <p>The following coefficients must be defined for each pair of atoms types via the <a class="reference internal" href="pair_coeff.html"><em>pair_coeff</em></a> command as in the examples above, or in the data file or restart files read by the <a class="reference internal" href="read_data.html"><em>read_data</em></a> or <a class="reference internal" href="read_restart.html"><em>read_restart</em></a> commands, or by mixing as described below:</p> <ul class="simple"> <li>epsilon (energy units)</li> <li>sigma (distance units)</li> <li>inner (distance units)</li> <li>outer (distance units)</li> </ul> <p>Note that sigma is defined in the LJ formula as the zero-crossing distance for the potential, not as the energy minimum at 2^(1/6) sigma.</p> <p>The last 2 coefficients are optional inner and outer cutoffs for style <em>lj/gromacs</em>. If not specified, the global <em>inner</em> and <em>outer</em> values are used.</p> <p>The last 2 coefficients cannot be used with style <em>lj/gromacs/coul/gromacs</em> because this force field does not allow varying cutoffs for individual atom pairs; all pairs use the global cutoff(s) specified in the pair_style command.</p> <hr class="docutils" /> <p>Styles <em>intel</em>, <em>kk</em>, with a <em>cuda</em>, <em>gpu</em>, <em>omp</em>, or <em>opt</em> suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available hardware, as discussed in <a class="reference internal" href="Section_accelerate.html"><em>Section_accelerate</em></a> of the manual. The accelerated styles take the same arguments and should produce the same results, except for round-off and precision issues.</p> <p>These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if LAMMPS was built with those packages. See the <a class="reference internal" href="Section_start.html#start-3"><span>Making LAMMPS</span></a> section for more info.</p> <p>You can specify the accelerated styles explicitly in your input script by including their suffix, or you can use the <a class="reference internal" href="Section_start.html#start-7"><span>-suffix command-line switch</span></a> when you invoke LAMMPS, or you can use the <a class="reference internal" href="suffix.html"><em>suffix</em></a> command in your input script.</p> <p>See <a class="reference internal" href="Section_accelerate.html"><em>Section_accelerate</em></a> of the manual for more instructions on how to use the accelerated styles effectively.</p> <hr class="docutils" /> <p><strong>Mixing, shift, table, tail correction, restart, rRESPA info</strong>:</p> <p>For atom type pairs I,J and I != J, the epsilon and sigma coefficients and cutoff distance for all of the lj/cut pair styles can be mixed. The default mix value is <em>geometric</em>. See the “pair_modify” command for details.</p> <p>None of the GROMACS pair styles support the <a class="reference internal" href="pair_modify.html"><em>pair_modify</em></a> shift option, since the Lennard-Jones portion of the pair interaction is already smoothed to 0.0 at the cutoff.</p> <p>The <a class="reference internal" href="pair_modify.html"><em>pair_modify</em></a> table option is not relevant for this pair style.</p> <p>None of the GROMACS pair styles support the <a class="reference internal" href="pair_modify.html"><em>pair_modify</em></a> tail option for adding long-range tail corrections to energy and pressure, since there are no corrections for a potential that goes to 0.0 at the cutoff.</p> <p>All of the GROMACS pair styles write their information to <a class="reference internal" href="restart.html"><em>binary restart files</em></a>, so pair_style and pair_coeff commands do not need to be specified in an input script that reads a restart file.</p> <p>All of the GROMACS pair styles can only be used via the <em>pair</em> keyword of the <a class="reference internal" href="run_style.html"><em>run_style respa</em></a> command. They do not support the <em>inner</em>, <em>middle</em>, <em>outer</em> keywords.</p> </div> <hr class="docutils" /> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <blockquote> <div>none</div></blockquote> </div> <div class="section" id="related-commands"> <h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2> <p><a class="reference internal" href="pair_coeff.html"><em>pair_coeff</em></a></p> <p><strong>Default:</strong> none</p> <hr class="docutils" /> <p id="marrink"><strong>(Marrink)</strong> Marrink, de Vries, Mark, J Phys Chem B, 108, 750-760 (2004).</p> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/pair_list.html b/doc/pair_list.html index 85a3edbf0..237fef4e5 100644 --- a/doc/pair_list.html +++ b/doc/pair_list.html @@ -1,315 +1,315 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>pair_style list command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>pair_style list command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="pair-style-list-command"> <span id="index-0"></span><h1>pair_style list command<a class="headerlink" href="#pair-style-list-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>pair_style list listfile cutoff keyword </pre></div> </div> <ul class="simple"> <li>listfile = name of file with list of pairwise interactions</li> <li>cutoff = global cutoff (distance units)</li> <li>keyword = optional flag <em>nocheck</em> or <em>check</em> (default is <em>check</em>)</li> </ul> </div> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>pair_style list restraints.txt 200.0 pair_coeff * * </pre></div> </div> <div class="highlight-python"><div class="highlight"><pre>pair_style hybrid/overlay lj/cut 1.1225 list pair_list.txt 300.0 pair_coeff * * lj/cut 1.0 1.0 pair_coeff 3* 3* list </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>Style <em>list</em> computes interactions between explicitly listed pairs of atoms with the option to select functional form and parameters for each individual pair. Because the parameters are set in the list file, the pair_coeff command has no parameters (but still needs to be provided). The <em>check</em> and <em>nocheck</em> keywords enable/disable a test that checks whether all listed bonds were present and computed.</p> <p>This pair style can be thought of as a hybrid between bonded, non-bonded, and restraint interactions. It will typically be used as an additional interaction within the <em>hybrid/overlay</em> pair style. It currently supports three interaction styles: a 12-6 Lennard-Jones, a Morse and a harmonic potential.</p> <p>The format of the list file is as follows:</p> <ul class="simple"> <li>one line per pair of atoms</li> <li>empty lines will be ignored</li> <li>comment text starts with a ‘#’ character</li> <li>line syntax: <em>ID1 ID2 style coeffs cutoff</em></li> </ul> <div class="highlight-python"><div class="highlight"><pre>ID1 = atom ID of first atom - ID2 = atom ID of second atom - style = style of interaction - coeffs = list of coeffs - cutoff = cutoff for interaction (optional) +ID2 = atom ID of second atom +style = style of interaction +coeffs = list of coeffs +cutoff = cutoff for interaction (optional) </pre></div> </div> <p>The cutoff parameter is optional. If not specified, the global cutoff is used.</p> <p>Here is an example file:</p> <div class="highlight-python"><div class="highlight"><pre><span class="c"># this is a comment</span> </pre></div> </div> <div class="highlight-python"><div class="highlight"><pre>15 259 lj126 1.0 1.0 50.0 15 603 morse 10.0 1.2 2.0 10.0 # and another comment 18 470 harmonic 50.0 1.2 5.0 </pre></div> </div> <p>The style <em>lj126</em> computes pairwise interactions with the formula</p> <img alt="_images/pair_lj.jpg" class="align-center" src="_images/pair_lj.jpg" /> <p>and the coefficients:</p> <ul class="simple"> <li>epsilon (energy units)</li> <li>sigma (distance units)</li> </ul> <p>The style <em>morse</em> computes pairwise interactions with the formula</p> <img alt="_images/pair_morse.jpg" class="align-center" src="_images/pair_morse.jpg" /> <p>and the coefficients:</p> <ul class="simple"> <li>D0 (energy units)</li> <li>alpha (1/distance units)</li> <li>r0 (distance units)</li> </ul> <p>The style <em>harmonic</em> computes pairwise interactions with the formula</p> <img alt="_images/bond_harmonic.jpg" class="align-center" src="_images/bond_harmonic.jpg" /> <p>and the coefficients:</p> <ul class="simple"> <li>K (energy units)</li> <li>r0 (distance units)</li> </ul> <p>Note that the usual 1/2 factor is included in K.</p> <hr class="docutils" /> <p><strong>Mixing, shift, table, tail correction, restart, rRESPA info</strong>:</p> <p>This pair style does not support mixing since all parameters are explicit for each pair.</p> <p>The <a class="reference internal" href="pair_modify.html"><em>pair_modify</em></a> shift option is supported by this pair style.</p> <p>The <a class="reference internal" href="pair_modify.html"><em>pair_modify</em></a> table and tail options are not relevant for this pair style.</p> <p>This pair style does not write its information to <a class="reference internal" href="restart.html"><em>binary restart files</em></a>, so pair_style and pair_coeff commands need to be specified in an input script that reads a restart file.</p> <p>This pair style can only be used via the <em>pair</em> keyword of the <a class="reference internal" href="run_style.html"><em>run_style respa</em></a> command. It does not support the <em>inner</em>, <em>middle</em>, <em>outer</em> keywords.</p> </div> <hr class="docutils" /> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <p>This pair style does not use a neighbor list and instead identifies atoms by their IDs. This has two consequences: 1) The cutoff has to be chosen sufficiently large, so that the second atom of a pair has to be a ghost atom on the same node on which the first atom is local; otherwise the interaction will be skipped. You can use the <em>check</em> option to detect, if interactions are missing. 2) Unlike other pair styles in LAMMPS, an atom I will not interact with multiple images of atom J (assuming the images are within the cutoff distance), but only with the nearest image.</p> <p>This style is part of the USER-MISC package. It is only enabled if LAMMPS is build with that package. See the <span class="xref std std-ref">Making of LAMMPS</span> section for more info.</p> </div> <div class="section" id="related-commands"> <h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2> <p><a class="reference internal" href="pair_coeff.html"><em>pair_coeff</em></a>, <a class="reference internal" href="pair_hybrid.html"><em>pair_style hybrid/overlay</em></a>, <a class="reference internal" href="pair_lj.html"><em>pair_style lj/cut</em></a>, <a class="reference internal" href="pair_morse.html"><em>pair_style morse</em></a>, <a class="reference internal" href="bond_harmonic.html"><em>bond_style harmonic</em></a></p> <p><strong>Default:</strong> none</p> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/pair_lj.html b/doc/pair_lj.html index 7101fd7f9..977c5eb70 100644 --- a/doc/pair_lj.html +++ b/doc/pair_lj.html @@ -1,541 +1,541 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>pair_style lj/cut command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>pair_style lj/cut command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="pair-style-lj-cut-command"> <span id="index-0"></span><h1>pair_style lj/cut command<a class="headerlink" href="#pair-style-lj-cut-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="pair-style-lj-cut-cuda-command"> <h1>pair_style lj/cut/cuda command<a class="headerlink" href="#pair-style-lj-cut-cuda-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="pair-style-lj-cut-gpu-command"> <h1>pair_style lj/cut/gpu command<a class="headerlink" href="#pair-style-lj-cut-gpu-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="pair-style-lj-cut-intel-command"> <h1>pair_style lj/cut/intel command<a class="headerlink" href="#pair-style-lj-cut-intel-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="pair-style-lj-cut-kk-command"> <h1>pair_style lj/cut/kk command<a class="headerlink" href="#pair-style-lj-cut-kk-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="pair-style-lj-cut-opt-command"> <h1>pair_style lj/cut/opt command<a class="headerlink" href="#pair-style-lj-cut-opt-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="pair-style-lj-cut-omp-command"> <h1>pair_style lj/cut/omp command<a class="headerlink" href="#pair-style-lj-cut-omp-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="pair-style-lj-cut-coul-cut-command"> <h1>pair_style lj/cut/coul/cut command<a class="headerlink" href="#pair-style-lj-cut-coul-cut-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="pair-style-lj-cut-coul-cut-cuda-command"> <h1>pair_style lj/cut/coul/cut/cuda command<a class="headerlink" href="#pair-style-lj-cut-coul-cut-cuda-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="pair-style-lj-cut-coul-cut-gpu-command"> <h1>pair_style lj/cut/coul/cut/gpu command<a class="headerlink" href="#pair-style-lj-cut-coul-cut-gpu-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="pair-style-lj-cut-coul-cut-omp-command"> <h1>pair_style lj/cut/coul/cut/omp command<a class="headerlink" href="#pair-style-lj-cut-coul-cut-omp-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="pair-style-lj-cut-coul-debye-command"> <h1>pair_style lj/cut/coul/debye command<a class="headerlink" href="#pair-style-lj-cut-coul-debye-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="pair-style-lj-cut-coul-debye-cuda-command"> <h1>pair_style lj/cut/coul/debye/cuda command<a class="headerlink" href="#pair-style-lj-cut-coul-debye-cuda-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="pair-style-lj-cut-coul-debye-gpu-command"> <h1>pair_style lj/cut/coul/debye/gpu command<a class="headerlink" href="#pair-style-lj-cut-coul-debye-gpu-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="pair-style-lj-cut-coul-debye-kk-command"> <h1>pair_style lj/cut/coul/debye/kk command<a class="headerlink" href="#pair-style-lj-cut-coul-debye-kk-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="pair-style-lj-cut-coul-debye-omp-command"> <h1>pair_style lj/cut/coul/debye/omp command<a class="headerlink" href="#pair-style-lj-cut-coul-debye-omp-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="pair-style-lj-cut-coul-dsf-command"> <h1>pair_style lj/cut/coul/dsf command<a class="headerlink" href="#pair-style-lj-cut-coul-dsf-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="pair-style-lj-cut-coul-dsf-gpu-command"> <h1>pair_style lj/cut/coul/dsf/gpu command<a class="headerlink" href="#pair-style-lj-cut-coul-dsf-gpu-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="pair-style-lj-cut-coul-dsf-kk-command"> <h1>pair_style lj/cut/coul/dsf/kk command<a class="headerlink" href="#pair-style-lj-cut-coul-dsf-kk-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="pair-style-lj-cut-coul-dsf-omp-command"> <h1>pair_style lj/cut/coul/dsf/omp command<a class="headerlink" href="#pair-style-lj-cut-coul-dsf-omp-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="pair-style-lj-cut-coul-long-command"> <h1>pair_style lj/cut/coul/long command<a class="headerlink" href="#pair-style-lj-cut-coul-long-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="pair-style-lj-cut-coul-long-cuda-command"> <h1>pair_style lj/cut/coul/long/cuda command<a class="headerlink" href="#pair-style-lj-cut-coul-long-cuda-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="pair-style-lj-cut-coul-long-gpu-command"> <h1>pair_style lj/cut/coul/long/gpu command<a class="headerlink" href="#pair-style-lj-cut-coul-long-gpu-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="pair-style-lj-cut-coul-long-intel-command"> <h1>pair_style lj/cut/coul/long/intel command<a class="headerlink" href="#pair-style-lj-cut-coul-long-intel-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="pair-style-lj-cut-coul-long-opt-command"> <h1>pair_style lj/cut/coul/long/opt command<a class="headerlink" href="#pair-style-lj-cut-coul-long-opt-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="pair-style-lj-cut-coul-long-omp-command"> <h1>pair_style lj/cut/coul/long/omp command<a class="headerlink" href="#pair-style-lj-cut-coul-long-omp-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="pair-style-lj-cut-coul-msm-command"> <h1>pair_style lj/cut/coul/msm command<a class="headerlink" href="#pair-style-lj-cut-coul-msm-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="pair-style-lj-cut-coul-msm-gpu-command"> <h1>pair_style lj/cut/coul/msm/gpu command<a class="headerlink" href="#pair-style-lj-cut-coul-msm-gpu-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="pair-style-lj-cut-coul-msm-omp-command"> <h1>pair_style lj/cut/coul/msm/omp command<a class="headerlink" href="#pair-style-lj-cut-coul-msm-omp-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="pair-style-lj-cut-tip4p-cut-command"> <h1>pair_style lj/cut/tip4p/cut command<a class="headerlink" href="#pair-style-lj-cut-tip4p-cut-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="pair-style-lj-cut-tip4p-cut-omp-command"> <h1>pair_style lj/cut/tip4p/cut/omp command<a class="headerlink" href="#pair-style-lj-cut-tip4p-cut-omp-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="pair-style-lj-cut-tip4p-long-command"> <h1>pair_style lj/cut/tip4p/long command<a class="headerlink" href="#pair-style-lj-cut-tip4p-long-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="pair-style-lj-cut-tip4p-long-omp-command"> <h1>pair_style lj/cut/tip4p/long/omp command<a class="headerlink" href="#pair-style-lj-cut-tip4p-long-omp-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="pair-style-lj-cut-tip4p-long-opt-command"> <h1>pair_style lj/cut/tip4p/long/opt command<a class="headerlink" href="#pair-style-lj-cut-tip4p-long-opt-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>pair_style style args </pre></div> </div> <ul class="simple"> <li>style = <em>lj/cut</em> or <em>lj/cut/coul/cut</em> or <em>lj/cut/coul/debye</em> or <em>lj/cut/coul/dsf</em> or <em>lj/cut/coul/long</em> or <em>lj/cut/coul/msm</em> or <em>lj/cut/tip4p/long</em></li> <li>args = list of arguments for a particular style</li> </ul> <pre class="literal-block"> <em>lj/cut</em> args = cutoff - cutoff = global cutoff for Lennard Jones interactions (distance units) - <em>lj/cut/coul/cut</em> args = cutoff (cutoff2) - cutoff = global cutoff for LJ (and Coulombic if only 1 arg) (distance units) - cutoff2 = global cutoff for Coulombic (optional) (distance units) - <em>lj/cut/coul/debye</em> args = kappa cutoff (cutoff2) - kappa = inverse of the Debye length (inverse distance units) - cutoff = global cutoff for LJ (and Coulombic if only 1 arg) (distance units) - cutoff2 = global cutoff for Coulombic (optional) (distance units) - <em>lj/cut/coul/dsf</em> args = alpha cutoff (cutoff2) - alpha = damping parameter (inverse distance units) - cutoff = global cutoff for LJ (and Coulombic if only 1 arg) (distance units) - cutoff2 = global cutoff for Coulombic (distance units) - <em>lj/cut/coul/long</em> args = cutoff (cutoff2) - cutoff = global cutoff for LJ (and Coulombic if only 1 arg) (distance units) - cutoff2 = global cutoff for Coulombic (optional) (distance units) - <em>lj/cut/coul/msm</em> args = cutoff (cutoff2) - cutoff = global cutoff for LJ (and Coulombic if only 1 arg) (distance units) - cutoff2 = global cutoff for Coulombic (optional) (distance units) - <em>lj/cut/tip4p/cut</em> args = otype htype btype atype qdist cutoff (cutoff2) - otype,htype = atom types for TIP4P O and H - btype,atype = bond and angle types for TIP4P waters - qdist = distance from O atom to massless charge (distance units) - cutoff = global cutoff for LJ (and Coulombic if only 1 arg) (distance units) - cutoff2 = global cutoff for Coulombic (optional) (distance units) - <em>lj/cut/tip4p/long</em> args = otype htype btype atype qdist cutoff (cutoff2) - otype,htype = atom types for TIP4P O and H - btype,atype = bond and angle types for TIP4P waters - qdist = distance from O atom to massless charge (distance units) - cutoff = global cutoff for LJ (and Coulombic if only 1 arg) (distance units) - cutoff2 = global cutoff for Coulombic (optional) (distance units) + cutoff = global cutoff for Lennard Jones interactions (distance units) +<em>lj/cut/coul/cut</em> args = cutoff (cutoff2) + cutoff = global cutoff for LJ (and Coulombic if only 1 arg) (distance units) + cutoff2 = global cutoff for Coulombic (optional) (distance units) +<em>lj/cut/coul/debye</em> args = kappa cutoff (cutoff2) + kappa = inverse of the Debye length (inverse distance units) + cutoff = global cutoff for LJ (and Coulombic if only 1 arg) (distance units) + cutoff2 = global cutoff for Coulombic (optional) (distance units) +<em>lj/cut/coul/dsf</em> args = alpha cutoff (cutoff2) + alpha = damping parameter (inverse distance units) + cutoff = global cutoff for LJ (and Coulombic if only 1 arg) (distance units) + cutoff2 = global cutoff for Coulombic (distance units) +<em>lj/cut/coul/long</em> args = cutoff (cutoff2) + cutoff = global cutoff for LJ (and Coulombic if only 1 arg) (distance units) + cutoff2 = global cutoff for Coulombic (optional) (distance units) +<em>lj/cut/coul/msm</em> args = cutoff (cutoff2) + cutoff = global cutoff for LJ (and Coulombic if only 1 arg) (distance units) + cutoff2 = global cutoff for Coulombic (optional) (distance units) +<em>lj/cut/tip4p/cut</em> args = otype htype btype atype qdist cutoff (cutoff2) + otype,htype = atom types for TIP4P O and H + btype,atype = bond and angle types for TIP4P waters + qdist = distance from O atom to massless charge (distance units) + cutoff = global cutoff for LJ (and Coulombic if only 1 arg) (distance units) + cutoff2 = global cutoff for Coulombic (optional) (distance units) +<em>lj/cut/tip4p/long</em> args = otype htype btype atype qdist cutoff (cutoff2) + otype,htype = atom types for TIP4P O and H + btype,atype = bond and angle types for TIP4P waters + qdist = distance from O atom to massless charge (distance units) + cutoff = global cutoff for LJ (and Coulombic if only 1 arg) (distance units) + cutoff2 = global cutoff for Coulombic (optional) (distance units) </pre> </div> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>pair_style lj/cut 2.5 pair_coeff * * 1 1 pair_coeff 1 1 1 1.1 2.8 </pre></div> </div> <div class="highlight-python"><div class="highlight"><pre>pair_style lj/cut/coul/cut 10.0 pair_style lj/cut/coul/cut 10.0 8.0 pair_coeff * * 100.0 3.0 pair_coeff 1 1 100.0 3.5 9.0 pair_coeff 1 1 100.0 3.5 9.0 9.0 </pre></div> </div> <div class="highlight-python"><div class="highlight"><pre>pair_style lj/cut/coul/debye 1.5 3.0 pair_style lj/cut/coul/debye 1.5 2.5 5.0 pair_coeff * * 1.0 1.0 pair_coeff 1 1 1.0 1.5 2.5 pair_coeff 1 1 1.0 1.5 2.5 5.0 </pre></div> </div> <div class="highlight-python"><div class="highlight"><pre>pair_style lj/cut/coul/dsf 0.05 2.5 10.0 pair_coeff * * 1.0 1.0 pair_coeff 1 1 1.0 1.0 2.5 </pre></div> </div> <div class="highlight-python"><div class="highlight"><pre>pair_style lj/cut/coul/long 10.0 pair_style lj/cut/coul/long 10.0 8.0 pair_coeff * * 100.0 3.0 pair_coeff 1 1 100.0 3.5 9.0 </pre></div> </div> <div class="highlight-python"><div class="highlight"><pre>pair_style lj/cut/coul/msm 10.0 pair_style lj/cut/coul/msm 10.0 8.0 pair_coeff * * 100.0 3.0 pair_coeff 1 1 100.0 3.5 9.0 </pre></div> </div> <div class="highlight-python"><div class="highlight"><pre>pair_style lj/cut/tip4p/cut 1 2 7 8 0.15 12.0 pair_style lj/cut/tip4p/cut 1 2 7 8 0.15 12.0 10.0 pair_coeff * * 100.0 3.0 pair_coeff 1 1 100.0 3.5 9.0 </pre></div> </div> <div class="highlight-python"><div class="highlight"><pre>pair_style lj/cut/tip4p/long 1 2 7 8 0.15 12.0 pair_style lj/cut/tip4p/long 1 2 7 8 0.15 12.0 10.0 pair_coeff * * 100.0 3.0 pair_coeff 1 1 100.0 3.5 9.0 </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>The <em>lj/cut</em> styles compute the standard 12/6 Lennard-Jones potential, given by</p> <img alt="_images/pair_lj.jpg" class="align-center" src="_images/pair_lj.jpg" /> <p>Rc is the cutoff.</p> <p>Style <em>lj/cut/coul/cut</em> adds a Coulombic pairwise interaction given by</p> <img alt="_images/pair_coulomb.jpg" class="align-center" src="_images/pair_coulomb.jpg" /> <p>where C is an energy-conversion constant, Qi and Qj are the charges on the 2 atoms, and epsilon is the dielectric constant which can be set by the <a class="reference internal" href="dielectric.html"><em>dielectric</em></a> command. If one cutoff is specified in the pair_style command, it is used for both the LJ and Coulombic terms. If two cutoffs are specified, they are used as cutoffs for the LJ and Coulombic terms respectively.</p> <p>Style <em>lj/cut/coul/debye</em> adds an additional exp() damping factor to the Coulombic term, given by</p> <img alt="_images/pair_debye.jpg" class="align-center" src="_images/pair_debye.jpg" /> <p>where kappa is the inverse of the Debye length. This potential is another way to mimic the screening effect of a polar solvent.</p> <p>Style <em>lj/cut/coul/dsf</em> computes the Coulombic term via the damped shifted force model described in <a class="reference internal" href="#fennell"><span>Fennell</span></a>, given by:</p> <img alt="_images/pair_coul_dsf.jpg" class="align-center" src="_images/pair_coul_dsf.jpg" /> <p>where <em>alpha</em> is the damping parameter and erfc() is the complementary error-function. This potential is essentially a short-range, spherically-truncated, charge-neutralized, shifted, pairwise <em>1/r</em> summation. The potential is based on Wolf summation, proposed as an alternative to Ewald summation for condensed phase systems where charge screening causes electrostatic interactions to become effectively short-ranged. In order for the electrostatic sum to be absolutely convergent, charge neutralization within the cutoff radius is enforced by shifting the potential through placement of image charges on the cutoff sphere. Convergence can often be improved by setting <em>alpha</em> to a small non-zero value.</p> <p>Styles <em>lj/cut/coul/long</em> and <em>lj/cut/coul/msm</em> compute the same Coulombic interactions as style <em>lj/cut/coul/cut</em> except that an additional damping factor is applied to the Coulombic term so it can be used in conjunction with the <a class="reference internal" href="kspace_style.html"><em>kspace_style</em></a> command and its <em>ewald</em> or <em>pppm</em> option. The Coulombic cutoff specified for this style means that pairwise interactions within this distance are computed directly; interactions outside that distance are computed in reciprocal space.</p> <p>Styles <em>lj/cut/tip4p/cut</em> and <em>lj/cut/tip4p/long</em> implement the TIP4P water model of <a class="reference internal" href="#jorgensen"><span>(Jorgensen)</span></a>, which introduces a massless site located a short distance away from the oxygen atom along the bisector of the HOH angle. The atomic types of the oxygen and hydrogen atoms, the bond and angle types for OH and HOH interactions, and the distance to the massless charge site are specified as pair_style arguments. Style <em>lj/cut/tip4p/cut</em> uses a cutoff for Coulomb interactions; style <em>lj/cut/tip4p/long</em> is for use with a long-range Coulombic solver (Ewald or PPPM).</p> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">For each TIP4P water molecule in your system, the atom IDs for the O and 2 H atoms must be consecutive, with the O atom first. This is to enable LAMMPS to “find” the 2 H atoms associated with each O atom. For example, if the atom ID of an O atom in a TIP4P water molecule is 500, then its 2 H atoms must have IDs 501 and 502.</p> </div> <p>See the <a class="reference internal" href="Section_howto.html#howto-8"><span>howto section</span></a> for more information on how to use the TIP4P pair styles and lists of parameters to set. Note that the neighobr list cutoff for Coulomb interactions is effectively extended by a distance 2*qdist when using the TIP4P pair style, to account for the offset distance of the fictitious charges on O atoms in water molecules. Thus it is typically best in an efficiency sense to use a LJ cutoff >= Coulomb cutoff + 2*qdist, to shrink the size of the neighbor list. This leads to slightly larger cost for the long-range calculation, so you can test the trade-off for your model.</p> <p>For all of the <em>lj/cut</em> pair styles, the following coefficients must be defined for each pair of atoms types via the <a class="reference internal" href="pair_coeff.html"><em>pair_coeff</em></a> command as in the examples above, or in the data file or restart files read by the <a class="reference internal" href="read_data.html"><em>read_data</em></a> or <a class="reference internal" href="read_restart.html"><em>read_restart</em></a> commands, or by mixing as described below:</p> <ul class="simple"> <li>epsilon (energy units)</li> <li>sigma (distance units)</li> <li>cutoff1 (distance units)</li> <li>cutoff2 (distance units)</li> </ul> <p>Note that sigma is defined in the LJ formula as the zero-crossing distance for the potential, not as the energy minimum at 2^(1/6) sigma.</p> <p>The latter 2 coefficients are optional. If not specified, the global LJ and Coulombic cutoffs specified in the pair_style command are used. If only one cutoff is specified, it is used as the cutoff for both LJ and Coulombic interactions for this type pair. If both coefficients are specified, they are used as the LJ and Coulombic cutoffs for this type pair. You cannot specify 2 cutoffs for style <em>lj/cut</em>, since it has no Coulombic terms.</p> <p>For <em>lj/cut/coul/long</em> and <em>lj/cut/coul/msm</em> and <em>lj/cut/tip4p/cut</em> and <em>lj/cut/tip4p/long</em> only the LJ cutoff can be specified since a Coulombic cutoff cannot be specified for an individual I,J type pair. All type pairs use the same global Coulombic cutoff specified in the pair_style command.</p> <hr class="docutils" /> <p>Styles with a <em>cuda</em>, <em>gpu</em>, <em>intel</em>, <em>kk</em>, <em>omp</em>, or <em>opt</em> suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available hardware, as discussed in <a class="reference internal" href="Section_accelerate.html"><em>Section_accelerate</em></a> of the manual. The accelerated styles take the same arguments and should produce the same results, except for round-off and precision issues.</p> <p>These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if LAMMPS was built with those packages. See the <a class="reference internal" href="Section_start.html#start-3"><span>Making LAMMPS</span></a> section for more info.</p> <p>You can specify the accelerated styles explicitly in your input script by including their suffix, or you can use the <a class="reference internal" href="Section_start.html#start-7"><span>-suffix command-line switch</span></a> when you invoke LAMMPS, or you can use the <a class="reference internal" href="suffix.html"><em>suffix</em></a> command in your input script.</p> <p>See <a class="reference internal" href="Section_accelerate.html"><em>Section_accelerate</em></a> of the manual for more instructions on how to use the accelerated styles effectively.</p> <hr class="docutils" /> <p><strong>Mixing, shift, table, tail correction, restart, rRESPA info</strong>:</p> <p>For atom type pairs I,J and I != J, the epsilon and sigma coefficients and cutoff distance for all of the lj/cut pair styles can be mixed. The default mix value is <em>geometric</em>. See the “pair_modify” command for details.</p> <p>All of the <em>lj/cut</em> pair styles support the <a class="reference internal" href="pair_modify.html"><em>pair_modify</em></a> shift option for the energy of the Lennard-Jones portion of the pair interaction.</p> <p>The <em>lj/cut/coul/long</em> and <em>lj/cut/tip4p/long</em> pair styles support the <a class="reference internal" href="pair_modify.html"><em>pair_modify</em></a> table option since they can tabulate the short-range portion of the long-range Coulombic interaction.</p> <p>All of the <em>lj/cut</em> pair styles support the <a class="reference internal" href="pair_modify.html"><em>pair_modify</em></a> tail option for adding a long-range tail correction to the energy and pressure for the Lennard-Jones portion of the pair interaction.</p> <p>All of the <em>lj/cut</em> pair styles write their information to <a class="reference internal" href="restart.html"><em>binary restart files</em></a>, so pair_style and pair_coeff commands do not need to be specified in an input script that reads a restart file.</p> <p>The <em>lj/cut</em> and <em>lj/cut/coul/long</em> pair styles support the use of the <em>inner</em>, <em>middle</em>, and <em>outer</em> keywords of the <a class="reference internal" href="run_style.html"><em>run_style respa</em></a> command, meaning the pairwise forces can be partitioned by distance at different levels of the rRESPA hierarchy. The other styles only support the <em>pair</em> keyword of run_style respa. See the <a class="reference internal" href="run_style.html"><em>run_style</em></a> command for details.</p> </div> <hr class="docutils" /> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <p>The <em>lj/cut/coul/long</em> and <em>lj/cut/tip4p/long</em> styles are part of the KSPACE package. The <em>lj/cut/tip4p/cut</em> style is part of the MOLECULE package. These styles are only enabled if LAMMPS was built with those packages. See the <a class="reference internal" href="Section_start.html#start-3"><span>Making LAMMPS</span></a> section for more info. Note that the KSPACE and MOLECULE packages are installed by default.</p> </div> <div class="section" id="related-commands"> <h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2> <p><a class="reference internal" href="pair_coeff.html"><em>pair_coeff</em></a></p> <p><strong>Default:</strong> none</p> <hr class="docutils" /> <p id="jorgensen"><strong>(Jorgensen)</strong> Jorgensen, Chandrasekhar, Madura, Impey, Klein, J Chem Phys, 79, 926 (1983).</p> <p id="fennell"><strong>(Fennell)</strong> C. J. Fennell, J. D. Gezelter, J Chem Phys, 124, 234104 (2006).</p> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/pair_lj_long.html b/doc/pair_lj_long.html index 45faf1283..827c1b8d9 100644 --- a/doc/pair_lj_long.html +++ b/doc/pair_lj_long.html @@ -1,391 +1,391 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>pair_style lj/long/coul/long command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>pair_style lj/long/coul/long command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="pair-style-lj-long-coul-long-command"> <span id="index-0"></span><h1>pair_style lj/long/coul/long command<a class="headerlink" href="#pair-style-lj-long-coul-long-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="pair-style-lj-long-coul-long-omp-command"> <h1>pair_style lj/long/coul/long/omp command<a class="headerlink" href="#pair-style-lj-long-coul-long-omp-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="pair-style-lj-long-coul-long-opt-command"> <h1>pair_style lj/long/coul/long/opt command<a class="headerlink" href="#pair-style-lj-long-coul-long-opt-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="pair-style-lj-long-tip4p-long-command"> <h1>pair_style lj/long/tip4p/long command<a class="headerlink" href="#pair-style-lj-long-tip4p-long-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>pair_style style args </pre></div> </div> <ul class="simple"> <li>style = <em>lj/long/coul/long</em> or <em>lj/long/tip4p/long</em></li> <li>args = list of arguments for a particular style</li> </ul> <pre class="literal-block"> <em>lj/long/coul/long</em> args = flag_lj flag_coul cutoff (cutoff2) - flag_lj = <em>long</em> or <em>cut</em> or <em>off</em> - <em>long</em> = use Kspace long-range summation for dispersion 1/r^6 term - <em>cut</em> = use a cutoff on dispersion 1/r^6 term - <em>off</em> = omit disperion 1/r^6 term entirely - flag_coul = <em>long</em> or <em>off</em> - <em>long</em> = use Kspace long-range summation for Coulombic 1/r term - <em>off</em> = omit Coulombic term - cutoff = global cutoff for LJ (and Coulombic if only 1 arg) (distance units) - cutoff2 = global cutoff for Coulombic (optional) (distance units) - <em>lj/long/tip4p/long</em> args = flag_lj flag_coul otype htype btype atype qdist cutoff (cutoff2) - flag_lj = <em>long</em> or <em>cut</em> - <em>long</em> = use Kspace long-range summation for dispersion 1/r^6 term - <em>cut</em> = use a cutoff - flag_coul = <em>long</em> or <em>off</em> - <em>long</em> = use Kspace long-range summation for Coulombic 1/r term - <em>off</em> = omit Coulombic term - otype,htype = atom types for TIP4P O and H - btype,atype = bond and angle types for TIP4P waters - qdist = distance from O atom to massless charge (distance units) - cutoff = global cutoff for LJ (and Coulombic if only 1 arg) (distance units) - cutoff2 = global cutoff for Coulombic (optional) (distance units) + flag_lj = <em>long</em> or <em>cut</em> or <em>off</em> + <em>long</em> = use Kspace long-range summation for dispersion 1/r^6 term + <em>cut</em> = use a cutoff on dispersion 1/r^6 term + <em>off</em> = omit disperion 1/r^6 term entirely + flag_coul = <em>long</em> or <em>off</em> + <em>long</em> = use Kspace long-range summation for Coulombic 1/r term + <em>off</em> = omit Coulombic term + cutoff = global cutoff for LJ (and Coulombic if only 1 arg) (distance units) + cutoff2 = global cutoff for Coulombic (optional) (distance units) +<em>lj/long/tip4p/long</em> args = flag_lj flag_coul otype htype btype atype qdist cutoff (cutoff2) + flag_lj = <em>long</em> or <em>cut</em> + <em>long</em> = use Kspace long-range summation for dispersion 1/r^6 term + <em>cut</em> = use a cutoff + flag_coul = <em>long</em> or <em>off</em> + <em>long</em> = use Kspace long-range summation for Coulombic 1/r term + <em>off</em> = omit Coulombic term + otype,htype = atom types for TIP4P O and H + btype,atype = bond and angle types for TIP4P waters + qdist = distance from O atom to massless charge (distance units) + cutoff = global cutoff for LJ (and Coulombic if only 1 arg) (distance units) + cutoff2 = global cutoff for Coulombic (optional) (distance units) </pre> </div> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>pair_style lj/long/coul/long cut off 2.5 pair_style lj/long/coul/long cut long 2.5 4.0 pair_style lj/long/coul/long long long 2.5 4.0 pair_coeff * * 1 1 pair_coeff 1 1 1 3 4 </pre></div> </div> <div class="highlight-python"><div class="highlight"><pre>pair_style lj/long/tip4p/long long long 1 2 7 8 0.15 12.0 pair_style lj/long/tip4p/long long long 1 2 7 8 0.15 12.0 10.0 pair_coeff * * 100.0 3.0 pair_coeff 1 1 100.0 3.5 9.0 </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>Style <em>lj/long/coul/long</em> computes the standard 12/6 Lennard-Jones and Coulombic potentials, given by</p> <img alt="_images/pair_lj.jpg" class="align-center" src="_images/pair_lj.jpg" /> <img alt="_images/pair_coulomb.jpg" class="align-center" src="_images/pair_coulomb.jpg" /> <p>where C is an energy-conversion constant, Qi and Qj are the charges on the 2 atoms, epsilon is the dielectric constant which can be set by the <a class="reference internal" href="dielectric.html"><em>dielectric</em></a> command, and Rc is the cutoff. If one cutoff is specified in the pair_style command, it is used for both the LJ and Coulombic terms. If two cutoffs are specified, they are used as cutoffs for the LJ and Coulombic terms respectively.</p> <p>The purpose of this pair style is to capture long-range interactions resulting from both attractive 1/r^6 Lennard-Jones and Coulombic 1/r interactions. This is done by use of the <em>flag_lj</em> and <em>flag_coul</em> settings. The <a class="reference internal" href="#veld"><span>In ‘t Veld</span></a> paper has more details on when it is appropriate to include long-range 1/r^6 interactions, using this potential.</p> <p>Style <em>lj/long/tip4p/long</em> implements the TIP4P water model of <a class="reference internal" href="pair_lj.html#jorgensen"><span>(Jorgensen)</span></a>, which introduces a massless site located a short distance away from the oxygen atom along the bisector of the HOH angle. The atomic types of the oxygen and hydrogen atoms, the bond and angle types for OH and HOH interactions, and the distance to the massless charge site are specified as pair_style arguments.</p> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">For each TIP4P water molecule in your system, the atom IDs for the O and 2 H atoms must be consecutive, with the O atom first. This is to enable LAMMPS to “find” the 2 H atoms associated with each O atom. For example, if the atom ID of an O atom in a TIP4P water molecule is 500, then its 2 H atoms must have IDs 501 and 502.</p> </div> <p>See the <a class="reference internal" href="Section_howto.html#howto-8"><span>howto section</span></a> for more information on how to use the TIP4P pair style. Note that the neighobr list cutoff for Coulomb interactions is effectively extended by a distance 2*qdist when using the TIP4P pair style, to account for the offset distance of the fictitious charges on O atoms in water molecules. Thus it is typically best in an efficiency sense to use a LJ cutoff >= Coulomb cutoff + 2*qdist, to shrink the size of the neighbor list. This leads to slightly larger cost for the long-range calculation, so you can test the trade-off for your model.</p> <p>If <em>flag_lj</em> is set to <em>long</em>, no cutoff is used on the LJ 1/r^6 dispersion term. The long-range portion can be calculated by using the <a class="reference internal" href="kspace_style.html"><em>kspace_style ewald/disp or pppm/disp</em></a> commands. The specified LJ cutoff then determines which portion of the LJ interactions are computed directly by the pair potential versus which part is computed in reciprocal space via the Kspace style. If <em>flag_lj</em> is set to <em>cut</em>, the LJ interactions are simply cutoff, as with <a class="reference internal" href="pair_lj.html"><em>pair_style lj/cut</em></a>.</p> <p>If <em>flag_coul</em> is set to <em>long</em>, no cutoff is used on the Coulombic interactions. The long-range portion can calculated by using any of several <a class="reference internal" href="kspace_style.html"><em>kspace_style</em></a> command options such as <em>pppm</em> or <em>ewald</em>. Note that if <em>flag_lj</em> is also set to long, then the <em>ewald/disp</em> or <em>pppm/disp</em> Kspace style needs to be used to perform the long-range calculations for both the LJ and Coulombic interactions. If <em>flag_coul</em> is set to <em>off</em>, Coulombic interactions are not computed.</p> <p>The following coefficients must be defined for each pair of atoms types via the <a class="reference internal" href="pair_coeff.html"><em>pair_coeff</em></a> command as in the examples above, or in the data file or restart files read by the <a class="reference internal" href="read_data.html"><em>read_data</em></a> or <a class="reference internal" href="read_restart.html"><em>read_restart</em></a> commands, or by mixing as described below:</p> <ul class="simple"> <li>epsilon (energy units)</li> <li>sigma (distance units)</li> <li>cutoff1 (distance units)</li> <li>cutoff2 (distance units)</li> </ul> <p>Note that sigma is defined in the LJ formula as the zero-crossing distance for the potential, not as the energy minimum at 2^(1/6) sigma.</p> <p>The latter 2 coefficients are optional. If not specified, the global LJ and Coulombic cutoffs specified in the pair_style command are used. If only one cutoff is specified, it is used as the cutoff for both LJ and Coulombic interactions for this type pair. If both coefficients are specified, they are used as the LJ and Coulombic cutoffs for this type pair.</p> <p>Note that if you are using <em>flag_lj</em> set to <em>long</em>, you cannot specify a LJ cutoff for an atom type pair, since only one global LJ cutoff is allowed. Similarly, if you are using <em>flag_coul</em> set to <em>long</em>, you cannot specify a Coulombic cutoff for an atom type pair, since only one global Coulombic cutoff is allowed.</p> <p>For <em>lj/long/tip4p/long</em> only the LJ cutoff can be specified since a Coulombic cutoff cannot be specified for an individual I,J type pair. All type pairs use the same global Coulombic cutoff specified in the pair_style command.</p> <hr class="docutils" /> <p>Styles with a <em>cuda</em>, <em>gpu</em>, <em>intel</em>, <em>kk</em>, <em>omp</em>, or <em>opt</em> suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available hardware, as discussed in <a class="reference internal" href="Section_accelerate.html"><em>Section_accelerate</em></a> of the manual. The accelerated styles take the same arguments and should produce the same results, except for round-off and precision issues.</p> <p>These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if LAMMPS was built with those packages. See the <a class="reference internal" href="Section_start.html#start-3"><span>Making LAMMPS</span></a> section for more info.</p> <p>You can specify the accelerated styles explicitly in your input script by including their suffix, or you can use the <a class="reference internal" href="Section_start.html#start-7"><span>-suffix command-line switch</span></a> when you invoke LAMMPS, or you can use the <a class="reference internal" href="suffix.html"><em>suffix</em></a> command in your input script.</p> <p>See <a class="reference internal" href="Section_accelerate.html"><em>Section_accelerate</em></a> of the manual for more instructions on how to use the accelerated styles effectively.</p> <hr class="docutils" /> <p><strong>Mixing, shift, table, tail correction, restart, rRESPA info</strong>:</p> <p>For atom type pairs I,J and I != J, the epsilon and sigma coefficients and cutoff distance for all of the lj/long pair styles can be mixed. The default mix value is <em>geometric</em>. See the “pair_modify” command for details.</p> <p>These pair styles support the <a class="reference internal" href="pair_modify.html"><em>pair_modify</em></a> shift option for the energy of the Lennard-Jones portion of the pair interaction, assuming <em>flag_lj</em> is <em>cut</em>.</p> <p>These pair styles support the <a class="reference internal" href="pair_modify.html"><em>pair_modify</em></a> table and table/disp options since they can tabulate the short-range portion of the long-range Coulombic and dispersion interactions.</p> <p>Thes pair styles do not support the <a class="reference internal" href="pair_modify.html"><em>pair_modify</em></a> tail option for adding a long-range tail correction to the Lennard-Jones portion of the energy and pressure.</p> <p>These pair styles write their information to <a class="reference internal" href="restart.html"><em>binary restart files</em></a>, so pair_style and pair_coeff commands do not need to be specified in an input script that reads a restart file.</p> <p>The pair lj/long/coul/long styles support the use of the <em>inner</em>, <em>middle</em>, and <em>outer</em> keywords of the <a class="reference internal" href="run_style.html"><em>run_style respa</em></a> command, meaning the pairwise forces can be partitioned by distance at different levels of the rRESPA hierarchy. See the <a class="reference internal" href="run_style.html"><em>run_style</em></a> command for details.</p> </div> <hr class="docutils" /> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <p>These styles are part of the KSPACE package. They are only enabled if LAMMPS was built with that package. See the <a class="reference internal" href="Section_start.html#start-3"><span>Making LAMMPS</span></a> section for more info. Note that the KSPACE package is installed by default.</p> </div> <div class="section" id="related-commands"> <h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2> <p><a class="reference internal" href="pair_coeff.html"><em>pair_coeff</em></a></p> <p><strong>Default:</strong> none</p> <hr class="docutils" /> <p id="veld"><strong>(In ‘t Veld)</strong> In ‘t Veld, Ismail, Grest, J Chem Phys (accepted) (2007).</p> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/pair_lj_soft.html b/doc/pair_lj_soft.html index 168b97ea8..4cfcce07d 100644 --- a/doc/pair_lj_soft.html +++ b/doc/pair_lj_soft.html @@ -1,471 +1,471 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>pair_style lj/cut/soft command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>pair_style lj/cut/soft command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="pair-style-lj-cut-soft-command"> <span id="index-0"></span><h1>pair_style lj/cut/soft command<a class="headerlink" href="#pair-style-lj-cut-soft-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="pair-style-lj-cut-soft-omp-command"> <h1>pair_style lj/cut/soft/omp command<a class="headerlink" href="#pair-style-lj-cut-soft-omp-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="pair-style-lj-cut-coul-cut-soft-command"> <h1>pair_style lj/cut/coul/cut/soft command<a class="headerlink" href="#pair-style-lj-cut-coul-cut-soft-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="pair-style-lj-cut-coul-cut-soft-omp-command"> <h1>pair_style lj/cut/coul/cut/soft/omp command<a class="headerlink" href="#pair-style-lj-cut-coul-cut-soft-omp-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="pair-style-lj-cut-coul-long-soft-command"> <h1>pair_style lj/cut/coul/long/soft command<a class="headerlink" href="#pair-style-lj-cut-coul-long-soft-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="pair-style-lj-cut-coul-long-soft-omp-command"> <h1>pair_style lj/cut/coul/long/soft/omp command<a class="headerlink" href="#pair-style-lj-cut-coul-long-soft-omp-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="pair-style-lj-cut-tip4p-long-soft-command"> <h1>pair_style lj/cut/tip4p/long/soft command<a class="headerlink" href="#pair-style-lj-cut-tip4p-long-soft-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="pair-style-lj-cut-tip4p-long-soft-omp-command"> <h1>pair_style lj/cut/tip4p/long/soft/omp command<a class="headerlink" href="#pair-style-lj-cut-tip4p-long-soft-omp-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="pair-style-lj-charmm-coul-long-soft-command"> <h1>pair_style lj/charmm/coul/long/soft command<a class="headerlink" href="#pair-style-lj-charmm-coul-long-soft-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="pair-style-lj-charmm-coul-long-soft-omp-command"> <h1>pair_style lj/charmm/coul/long/soft/omp command<a class="headerlink" href="#pair-style-lj-charmm-coul-long-soft-omp-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="pair-style-coul-cut-soft-command"> <h1>pair_style coul/cut/soft command<a class="headerlink" href="#pair-style-coul-cut-soft-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="pair-style-coul-cut-soft-omp-command"> <h1>pair_style coul/cut/soft/omp command<a class="headerlink" href="#pair-style-coul-cut-soft-omp-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="pair-style-coul-long-soft-command"> <h1>pair_style coul/long/soft command<a class="headerlink" href="#pair-style-coul-long-soft-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="pair-style-coul-long-soft-omp-command"> <h1>pair_style coul/long/soft/omp command<a class="headerlink" href="#pair-style-coul-long-soft-omp-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="pair-style-tip4p-long-soft-command"> <h1>pair_style tip4p/long/soft command<a class="headerlink" href="#pair-style-tip4p-long-soft-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="pair-style-tip4p-long-soft-omp-command"> <h1>pair_style tip4p/long/soft/omp command<a class="headerlink" href="#pair-style-tip4p-long-soft-omp-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>pair_style style args </pre></div> </div> <ul class="simple"> <li>style = <em>lj/cut/soft</em> or <em>lj/cut/coul/cut/soft</em> or <em>lj/cut/coul/long/soft</em> or <em>lj/cut/tip4p/long/soft</em> or <em>lj/charmm/coul/long/soft</em> or <em>coul/cut/soft</em> or <em>coul/long/soft</em> or <em>tip4p/long/soft</em></li> <li>args = list of arguments for a particular style</li> </ul> <pre class="literal-block"> <em>lj/cut/soft</em> args = n alpha_lj cutoff - n, alpha_LJ = parameters of soft-core potential - cutoff = global cutoff for Lennard-Jones interactions (distance units) - <em>lj/cut/coul/cut/soft</em> 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) - <em>lj/cut/coul/long/soft</em> args = n alpha_LJ alpha_C cutoff - n, alpha_LJ, alpha_C = parameters of the soft-core potential - cutoff = global cutoff for LJ (and Coulombic if only 1 arg) (distance units) - cutoff2 = global cutoff for Coulombic (optional) (distance units) - <em>lj/cut/tip4p/long/soft</em> args = otype htype btype atype qdist n alpha_LJ alpha_C cutoff (cutoff2) - otype,htype = atom types for TIP4P O and H - btype,atype = bond and angle types for TIP4P waters - qdist = distance from O atom to massless charge (distance units) - n, alpha_LJ, alpha_C = parameters of the soft-core potential - cutoff = global cutoff for LJ (and Coulombic if only 1 arg) (distance units) - cutoff2 = global cutoff for Coulombic (optional) (distance units) - <em>lj/charmm/coul/long/soft</em> args = n alpha_LJ alpha_C inner outer (cutoff) - 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) - <em>coul/cut/soft</em> args = n alpha_C cutoff - n, alpha_C = parameters of the soft-core potential - cutoff = global cutoff for Coulomb interactions (distance units) - <em>coul/long/soft</em> args = n alpha_C cutoff - n, alpha_C = parameters of the soft-core potential - cutoff = global cutoff for Coulomb interactions (distance units) - <em>tip4p/long/soft</em> args = otype htype btype atype qdist n alpha_C cutoff - otype,htype = atom types for TIP4P O and H - btype,atype = bond and angle types for TIP4P waters - 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) + n, alpha_LJ = parameters of soft-core potential + cutoff = global cutoff for Lennard-Jones interactions (distance units) +<em>lj/cut/coul/cut/soft</em> 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) +<em>lj/cut/coul/long/soft</em> args = n alpha_LJ alpha_C cutoff + n, alpha_LJ, alpha_C = parameters of the soft-core potential + cutoff = global cutoff for LJ (and Coulombic if only 1 arg) (distance units) + cutoff2 = global cutoff for Coulombic (optional) (distance units) +<em>lj/cut/tip4p/long/soft</em> args = otype htype btype atype qdist n alpha_LJ alpha_C cutoff (cutoff2) + otype,htype = atom types for TIP4P O and H + btype,atype = bond and angle types for TIP4P waters + qdist = distance from O atom to massless charge (distance units) + n, alpha_LJ, alpha_C = parameters of the soft-core potential + cutoff = global cutoff for LJ (and Coulombic if only 1 arg) (distance units) + cutoff2 = global cutoff for Coulombic (optional) (distance units) +<em>lj/charmm/coul/long/soft</em> args = n alpha_LJ alpha_C inner outer (cutoff) + 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) +<em>coul/cut/soft</em> args = n alpha_C cutoff + n, alpha_C = parameters of the soft-core potential + cutoff = global cutoff for Coulomb interactions (distance units) +<em>coul/long/soft</em> args = n alpha_C cutoff + n, alpha_C = parameters of the soft-core potential + cutoff = global cutoff for Coulomb interactions (distance units) +<em>tip4p/long/soft</em> args = otype htype btype atype qdist n alpha_C cutoff + otype,htype = atom types for TIP4P O and H + btype,atype = bond and angle types for TIP4P waters + 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) </pre> </div> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>pair_style lj/cut/soft 2.0 0.5 9.5 pair_coeff * * 0.28 3.1 1.0 pair_coeff 1 1 0.28 3.1 1.0 9.5 </pre></div> </div> <div class="highlight-python"><div class="highlight"><pre>pair_style lj/cut/coul/cut/soft 2.0 0.5 10.0 9.5 pair_style lj/cut/coul/cut/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.5 10.0 pair_coeff 1 1 0.28 3.1 0.5 10.0 9.5 </pre></div> </div> <div class="highlight-python"><div class="highlight"><pre>pair_style lj/cut/coul/long/soft 2.0 0.5 10.0 9.5 pair_style lj/cut/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></div> </div> <div class="highlight-python"><div class="highlight"><pre>pair_style lj/cut/tip4p/long/soft 1 2 7 8 0.15 2.0 0.5 10.0 9.8 pair_style lj/cut/tip4p/long/soft 1 2 7 8 0.15 2.0 0.5 10.0 9.8 9.5 pair_coeff * * 0.155 3.1536 1.0 pair_coeff 1 1 0.155 3.1536 1.0 9.5 </pre></div> </div> <div class="highlight-python"><div class="highlight"><pre>pair_style lj/charmm/coul/long 2.0 0.5 10.0 8.0 10.0 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></div> </div> <div class="highlight-python"><div class="highlight"><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></div> </div> <div class="highlight-python"><div class="highlight"><pre>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></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>The <em>lj/cut/soft</em> style and substyles 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 anihilated <a class="reference internal" href="#beutler"><span>(Beutler)</span></a>,</p> <img alt="_images/pair_lj_soft.jpg" class="align-center" src="_images/pair_lj_soft.jpg" /> <p>Coulomb interactions are also damped with a soft core at short distance,</p> <img alt="_images/pair_coul_soft.jpg" class="align-center" src="_images/pair_coul_soft.jpg" /> <p>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 <a class="reference internal" href="dielectric.html"><em>dielectric</em></a> command.</p> <p>The coefficient lambda is an activation parameter. When lambda = 1 the pair potentiel 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 anihilated and can overlap <a class="reference internal" href="#beutler"><span>(Beutler)</span></a>.</p> <p>The paratemers n, alpha_LJ and alpha_C are set in the <a class="reference internal" href="pair_style.html"><em>pair_style</em></a> 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.</p> <img alt="_images/lj_soft.jpg" class="align-center" src="_images/lj_soft.jpg" /> <img alt="_images/coul_soft.jpg" class="align-center" src="_images/coul_soft.jpg" /> <p>For the <em>lj/cut/coul/cut/soft</em> or <em>lj/cut/coul/long/soft</em> pair styles, the following coefficients must be defined for each pair of atoms types via the <a class="reference internal" href="pair_coeff.html"><em>pair_coeff</em></a> command as in the examples above, or in the data file or restart files read by the <a class="reference internal" href="read_data.html"><em>read_data</em></a> or <a class="reference internal" href="read_restart.html"><em>read_restart</em></a> commands, or by mixing as described below:</p> <ul class="simple"> <li>epsilon (energy units)</li> <li>sigma (distance units)</li> <li>lambda (activation parameter between 0 and 1)</li> <li>cutoff1 (distance units)</li> <li>cutoff2 (distance units)</li> </ul> <p>The latter two coefficients are optional. If not specified, the global LJ and Coulombic cutoffs specified in the pair_style command are used. If only one cutoff is specified, it is used as the cutoff for both LJ and Coulombic interactions for this type pair. If both coefficients are specified, they are used as the LJ and Coulombic cutoffs for this type pair. You cannot specify 2 cutoffs for style <em>lj/cut/soft</em>, since it has no Coulombic terms. For the <em>coul/cut/soft</em> and <em>coul/long/soft</em> only lambda and the optional cutoff2 are to be specified.</p> <p>Style <em>lj/cut/tip4p/long/soft</em> implements a soft-core version of the TIP4P water model. The usage of this pair style is documented in the <a class="reference internal" href="pair_lj.html"><em>pair_lj</em></a> styles. The soft-core version introduces the lambda parameter to the list of arguments, after epsilon and sigma in the <a class="reference internal" href="pair_coeff.html"><em>pair_coeff</em></a> command. The paratemers n, alpha_LJ and alpha_C are set in the <a class="reference internal" href="pair_style.html"><em>pair_style</em></a> command, before the cutoffs.</p> <p>Style <em>lj/charmm/coul/long/soft</em> 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 <a class="reference internal" href="pair_charmm.html"><em>pair_charmm</em></a> styles. The soft-core version introduces the lambda parameter to the list of arguments, after epsilon and sigma in the <a class="reference internal" href="pair_coeff.html"><em>pair_coeff</em></a> command (and before the optional eps14 and sigma14). The paratemers n, alpha_LJ and alpha_C are set in the <a class="reference internal" href="pair_style.html"><em>pair_style</em></a> command, before the cutoffs.</p> <p>The <em>coul/cut/soft</em>, <em>coul/long/soft</em> and <em>tip4p/long/soft</em> substyles are designed to be combined with other pair potentials via the <a class="reference internal" href="pair_hybrid.html"><em>pair_style hybrid/overlay</em></a> command. This is because they have no repulsive core. Hence, if used by themselves, there will be no repulsion to keep two oppositely charged particles from overlapping each other. In this case, if lambda = 1, a singularity may occur. These substyles are suitable to represent charges embedded in the Lennard-Jones radius of another site (for example hydrogen atoms in several water models).</p> <p>IMPORTANT NOTES: When using the core-softed Coulomb potentials with long-range solvers (<em>coul/long/soft</em>, <em>lj/cut/coul/long/soft</em>, etc.) in a free energy calculation in which sites holding electrostatic charges are being created or anihilated (using <a class="reference internal" href="fix_adapt_fep.html"><em>fix_adapt/fep</em></a> and <a class="reference internal" href="compute_fep.html"><em>compute_fep</em></a>) it is important to adapt both the lambda activation parameter (from 0 to 1, or the reverse) and the value of the charge (from 0 to its final value, or the reverse). This ensures that long-range electrostatic terms (kspace) are correct. It is not necessary to use core-softed Coulomb potentials if the van der 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.</p> <hr class="docutils" /> <p>Styles with a <em>cuda</em>, <em>gpu</em>, <em>intel</em>, <em>kk</em>, <em>omp</em>, or <em>opt</em> suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available hardware, as discussed in <a class="reference internal" href="Section_accelerate.html"><em>Section_accelerate</em></a> of the manual. The accelerated styles take the same arguments and should produce the same results, except for round-off and precision issues.</p> <p>These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if LAMMPS was built with those packages. See the <a class="reference internal" href="Section_start.html#start-3"><span>Making LAMMPS</span></a> section for more info.</p> <p>You can specify the accelerated styles explicitly in your input script by including their suffix, or you can use the <a class="reference internal" href="Section_start.html#start-7"><span>-suffix command-line switch</span></a> when you invoke LAMMPS, or you can use the <a class="reference internal" href="suffix.html"><em>suffix</em></a> command in your input script.</p> <p>See <a class="reference internal" href="Section_accelerate.html"><em>Section_accelerate</em></a> of the manual for more instructions on how to use the accelerated styles effectively.</p> <hr class="docutils" /> <p><strong>Mixing, shift, tail correction, restart info</strong>:</p> <p>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 <em>geometric</em>. See the “pair_modify” command for details.</p> <p>These pair styles support the <a class="reference internal" href="pair_modify.html"><em>pair_modify</em></a> shift option for the energy of the Lennard-Jones portion of the pair interaction.</p> <p>These pair styles support the <a class="reference internal" href="pair_modify.html"><em>pair_modify</em></a> tail option for adding a long-range tail correction to the energy and pressure for the Lennard-Jones portion of the pair interaction.</p> <p>These pair styles write information to <a class="reference internal" href="restart.html"><em>binary restart files</em></a>, so pair_style and pair_coeff commands do not need to be specified in an input script that reads a restart file.</p> </div> <hr class="docutils" /> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <p>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 <em>coul/long/soft</em> or similar substyle can be used via the <a class="reference internal" href="pair_hybrid.html"><em>pair_style hybrid/overlay</em></a> command.</p> <hr class="docutils" /> <p>All of the plain <em>soft</em> pair styles are part of the USER-FEP package. The <em>long</em> styles also requires the KSPACE package to be installed. They are only enabled if LAMMPS was built with those packages. See the <a class="reference internal" href="Section_start.html#start-3"><span>Making LAMMPS</span></a> section for more info.</p> </div> <div class="section" id="related-commands"> <h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2> <p><a class="reference internal" href="pair_coeff.html"><em>pair_coeff</em></a>, <a class="reference internal" href="fix_adapt.html"><em>fix_adapt</em></a>, <a class="reference internal" href="fix_adapt_fep.html"><em>fix_adapt/fep</em></a>, <a class="reference internal" href="compute_fep.html"><em>compute_fep</em></a></p> <p><strong>Default:</strong> none</p> <hr class="docutils" /> <p id="beutler"><strong>(Beutler)</strong> Beutler, Mark, van Schaik, Gerber, van Gunsteren, Chem Phys Lett, 222, 529 (1994).</p> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/pair_meam.html b/doc/pair_meam.html index 6899a0e48..295fe5fba 100644 --- a/doc/pair_meam.html +++ b/doc/pair_meam.html @@ -1,516 +1,516 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>pair_style meam command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>pair_style meam command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="pair-style-meam-command"> <span id="index-0"></span><h1>pair_style meam command<a class="headerlink" href="#pair-style-meam-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>pair_style meam </pre></div> </div> </div> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>pair_style meam pair_coeff * * ../potentials/library.meam Si ../potentials/si.meam Si pair_coeff * * ../potentials/library.meam Ni Al NULL Ni Al Ni Ni </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <div class="admonition note"> <p class="first admonition-title">Note</p> <p class="last">The behavior of the MEAM potential for alloy systems has changed as of November 2010; see description below of the mixture_ref_t parameter</p> </div> <p>Style <em>meam</em> computes pairwise interactions for a variety of materials using modified embedded-atom method (MEAM) potentials <a class="reference internal" href="#baskes"><span>(Baskes)</span></a>. Conceptually, it is an extension to the original <a class="reference internal" href="pair_eam.html"><em>EAM potentials</em></a> which adds angular forces. It is thus suitable for modeling metals and alloys with fcc, bcc, hcp and diamond cubic structures, as well as covalently bonded materials like silicon and carbon.</p> <p>In the MEAM formulation, the total energy E of a system of atoms is given by:</p> <img alt="_images/pair_meam.jpg" class="align-center" src="_images/pair_meam.jpg" /> <p>where F is the embedding energy which is a function of the atomic electron density rho, and phi is a pair potential interaction. The pair interaction is summed over all neighbors J of atom I within the cutoff distance. As with EAM, the multi-body nature of the MEAM potential is a result of the embedding energy term. Details of the computation of the embedding and pair energies, as implemented in LAMMPS, are given in <a class="reference internal" href="#gullet"><span>(Gullet)</span></a> and references therein.</p> <p>The various parameters in the MEAM formulas are listed in two files which are specified by the <a class="reference internal" href="pair_coeff.html"><em>pair_coeff</em></a> command. These are ASCII text files in a format consistent with other MD codes that implement MEAM potentials, such as the serial DYNAMO code and Warp. Several MEAM potential files with parameters for different materials are included in the “potentials” directory of the LAMMPS distribution with a ”.meam” suffix. All of these are parameterized in terms of LAMMPS <a class="reference internal" href="units.html"><em>metal units</em></a>.</p> <p>Note that unlike for other potentials, cutoffs for MEAM potentials are not set in the pair_style or pair_coeff command; they are specified in the MEAM potential files themselves.</p> <p>Only a single pair_coeff command is used with the <em>meam</em> style which specifies two MEAM files and the element(s) to extract information for. The MEAM elements are mapped to LAMMPS atom types by specifying N additional arguments after the 2nd filename in the pair_coeff command, where N is the number of LAMMPS atom types:</p> <ul class="simple"> <li>MEAM library file</li> <li>Elem1, Elem2, ...</li> <li>MEAM parameter file</li> <li>N element names = mapping of MEAM elements to atom types</li> </ul> <p>See the <a class="reference internal" href="pair_coeff.html"><em>pair_coeff</em></a> doc page for alternate ways to specify the path for the potential files.</p> <p>As an example, the potentials/library.meam file has generic MEAM settings for a variety of elements. The potentials/sic.meam file has specific parameter settings for a Si and C alloy system. If your LAMMPS simulation has 4 atoms types and you want the 1st 3 to be Si, and the 4th to be C, you would use the following pair_coeff command:</p> <div class="highlight-python"><div class="highlight"><pre>pair_coeff * * library.meam Si C sic.meam Si Si Si C </pre></div> </div> <p>The 1st 2 arguments must be * * so as to span all LAMMPS atom types. The two filenames are for the library and parameter file respectively. The Si and C arguments (between the file names) are the two elements for which info will be extracted from the library file. The first three trailing Si arguments map LAMMPS atom types 1,2,3 to the MEAM Si element. The final C argument maps LAMMPS atom type 4 to the MEAM C element.</p> <p>If the 2nd filename is specified as NULL, no parameter file is read, which simply means the generic parameters in the library file are used. Use of the NULL specification for the parameter file is discouraged for systems with more than a single element type (e.g. alloys), since the parameter file is expected to set element interaction terms that are not captured by the information in the library file.</p> <p>If a mapping value is specified as NULL, the mapping is not performed. This can be used when a <em>meam</em> potential is used as part of the <em>hybrid</em> pair style. The NULL values are placeholders for atom types that will be used with other potentials.</p> <p>The MEAM library file provided with LAMMPS has the name potentials/library.meam. It is the “meamf” file used by other MD codes. Aside from blank and comment lines (start with #) which can appear anywhere, it is formatted as a series of entries, each of which has 19 parameters and can span multiple lines:</p> <p>elt, lat, z, ielement, atwt, alpha, b0, b1, b2, b3, alat, esub, asub, t0, t1, t2, t3, rozero, ibar</p> <p>The “elt” and “lat” parameters are text strings, such as elt = Si or Cu and lat = dia or fcc. Because the library file is used by Fortran MD codes, these strings may be enclosed in single quotes, but this is not required. The other numeric parameters match values in the formulas above. The value of the “elt” string is what is used in the pair_coeff command to identify which settings from the library file you wish to read in. There can be multiple entries in the library file with the same “elt” value; LAMMPS reads the 1st matching entry it finds and ignores the rest.</p> <p>Other parameters in the MEAM library file correspond to single-element potential parameters:</p> <pre class="literal-block"> lat = lattice structure of reference configuration z = number of nearest neighbors in the reference structure ielement = atomic number atwt = atomic weight alat = lattice constant of reference structure esub = energy per atom (eV) in the reference structure at equilibrium asub = "A" parameter for MEAM (see e.g. <a class="reference internal" href="#baskes"><span>(Baskes)</span></a>) </pre> <p>The alpha, b0, b1, b2, b3, t0, t1, t2, t3 parameters correspond to the standard MEAM parameters in the literature <a class="reference internal" href="#baskes"><span>(Baskes)</span></a> (the b parameters are the standard beta parameters). The rozero parameter is an element-dependent density scaling that weights the reference background density (see e.g. equation 4.5 in <a class="reference internal" href="#gullet"><span>(Gullet)</span></a>) and is typically 1.0 for single-element systems. The ibar parameter selects the form of the function G(Gamma) used to compute the electron density; options are</p> -<div class="highlight-python"><div class="highlight"><pre>0 => G = sqrt(1+Gamma) - 1 => G = exp(Gamma/2) - 2 => not implemented - 3 => G = 2/(1+exp(-Gamma)) - 4 => G = sqrt(1+Gamma) - -5 => G = +-sqrt(abs(1+Gamma)) +<div class="highlight-python"><div class="highlight"><pre> 0 => G = sqrt(1+Gamma) + 1 => G = exp(Gamma/2) + 2 => not implemented + 3 => G = 2/(1+exp(-Gamma)) + 4 => G = sqrt(1+Gamma) +-5 => G = +-sqrt(abs(1+Gamma)) </pre></div> </div> <p>If used, the MEAM parameter file contains settings that override or complement the library file settings. Examples of such parameter files are in the potentials directory with a ”.meam” suffix. Their format is the same as is read by other Fortran MD codes. Aside from blank and comment lines (start with #) which can appear anywhere, each line has one of the following forms. Each line can also have a trailing comment (starting with #) which is ignored.</p> <div class="highlight-python"><div class="highlight"><pre><span class="n">keyword</span> <span class="o">=</span> <span class="n">value</span> <span class="n">keyword</span><span class="p">(</span><span class="n">I</span><span class="p">)</span> <span class="o">=</span> <span class="n">value</span> <span class="n">keyword</span><span class="p">(</span><span class="n">I</span><span class="p">,</span><span class="n">J</span><span class="p">)</span> <span class="o">=</span> <span class="n">value</span> <span class="n">keyword</span><span class="p">(</span><span class="n">I</span><span class="p">,</span><span class="n">J</span><span class="p">,</span><span class="n">K</span><span class="p">)</span> <span class="o">=</span> <span class="n">value</span> </pre></div> </div> <p>The recognized keywords are as follows:</p> <p>Ec, alpha, rho0, delta, lattce, attrac, repuls, nn2, Cmin, Cmax, rc, delr, augt1, gsmooth_factor, re</p> <p>where</p> <pre class="literal-block"> rc = cutoff radius for cutoff function; default = 4.0 delr = length of smoothing distance for cutoff function; default = 0.1 rho0(I) = relative density for element I (overwrites value read from meamf file) Ec(I,J) = cohesive energy of reference structure for I-J mixture delta(I,J) = heat of formation for I-J alloy; if Ec_IJ is input as zero, then LAMMPS sets Ec_IJ = (Ec_II + Ec_JJ)/2 - delta_IJ alpha(I,J) = alpha parameter for pair potential between I and J (can be computed from bulk modulus of reference structure re(I,J) = equilibrium distance between I and J in the reference structure Cmax(I,J,K) = Cmax screening parameter when I-J pair is screened by K (I<=J); default = 2.8 Cmin(I,J,K) = Cmin screening parameter when I-J pair is screened by K (I<=J); default = 2.0 lattce(I,J) = lattice structure of I-J reference structure: dia = diamond (interlaced fcc for alloy) fcc = face centered cubic bcc = body centered cubic dim = dimer b1 = rock salt (NaCl structure) hcp = hexagonal close-packed c11 = MoSi2 structure l12 = Cu3Au structure (lower case L, followed by 12) b2 = CsCl structure (interpenetrating simple cubic) nn2(I,J) = turn on second-nearest neighbor MEAM formulation for I-J pair (see for example <a class="reference internal" href="#lee"><span>(Lee)</span></a>). 0 = second-nearest neighbor formulation off 1 = second-nearest neighbor formulation on default = 0 attrac(I,J) = additional cubic attraction term in Rose energy I-J pair potential default = 0 repuls(I,J) = additional cubic repulsive term in Rose energy I-J pair potential default = 0 zbl(I,J) = blend the MEAM I-J pair potential with the ZBL potential for small atom separations <a class="reference internal" href="pair_tersoff_zbl.html#zbl"><span>(ZBL)</span></a> default = 1 gsmooth_factor = factor determining the length of the G-function smoothing region; only significant for ibar=0 or ibar=4. 99.0 = short smoothing region, sharp step 0.5 = long smoothing region, smooth step default = 99.0 augt1 = integer flag for whether to augment t1 parameter by 3/5*t3 to account for old vs. new meam formulations; 0 = don't augment t1 1 = augment t1 default = 1 ialloy = integer flag to use alternative averaging rule for t parameters, for comparison with the DYNAMO MEAM code 0 = standard averaging (matches ialloy=0 in DYNAMO) 1 = alternative averaging (matches ialloy=1 in DYNAMO) 2 = no averaging of t (use single-element values) default = 0 mixture_ref_t = integer flag to use mixture average of t to compute the background reference density for alloys, instead of the single-element values (see description and warning elsewhere in this doc page) 0 = do not use mixture averaging for t in the reference density 1 = use mixture averaging for t in the reference density default = 0 erose_form = integer value to select the form of the Rose energy function (see description below). default = 0 emb_lin_neg = integer value to select embedding function for negative densities 0 = F(rho)=0 1 = F(rho) = -asub*esub*rho (linear in rho, matches DYNAMO) default = 0 bkgd_dyn = integer value to select background density formula 0 = rho_bkgd = rho_ref_meam(a) (as in the reference structure) 1 = rho_bkgd = rho0_meam(a)*Z_meam(a) (matches DYNAMO) default = 0 </pre> <p>Rc, delr, re are in distance units (Angstroms in the case of metal units). Ec and delta are in energy units (eV in the case of metal units).</p> <p>Each keyword represents a quantity which is either a scalar, vector, 2d array, or 3d array and must be specified with the correct corresponding array syntax. The indices I,J,K each run from 1 to N where N is the number of MEAM elements being used.</p> <p>Thus these lines</p> <div class="highlight-python"><div class="highlight"><pre><span class="n">rho0</span><span class="p">(</span><span class="mi">2</span><span class="p">)</span> <span class="o">=</span> <span class="mf">2.25</span> <span class="n">alpha</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="mi">2</span><span class="p">)</span> <span class="o">=</span> <span class="mf">4.37</span> </pre></div> </div> <p>set rho0 for the 2nd element to the value 2.25 and set alpha for the alloy interaction between elements 1 and 2 to 4.37.</p> <p>The augt1 parameter is related to modifications in the MEAM formulation of the partial electron density function. In recent literature, an extra term is included in the expression for the third-order density in order to make the densities orthogonal (see for example <a class="reference internal" href="pair_polymorphic.html#wang"><span>(Wang)</span></a>, equation 3d); this term is included in the MEAM implementation in lammps. However, in earlier published work this term was not included when deriving parameters, including most of those provided in the library.meam file included with lammps, and to account for this difference the parameter t1 must be augmented by 3/5*t3. If augt1=1, the default, this augmentation is done automatically. When parameter values are fit using the modified density function, as in more recent literature, augt1 should be set to 0.</p> <p>The mixture_ref_t parameter is available to match results with those of previous versions of lammps (before January 2011). Newer versions of lammps, by default, use the single-element values of the t parameters to compute the background reference density. This is the proper way to compute these parameters. Earlier versions of lammps used an alloy mixture averaged value of t to compute the background reference density. Setting mixture_ref_t=1 gives the old behavior. WARNING: using mixture_ref_t=1 will give results that are demonstrably incorrect for second-neighbor MEAM, and non-standard for first-neighbor MEAM; this option is included only for matching with previous versions of lammps and should be avoided if possible.</p> <p>The parameters attrac and repuls, along with the integer selection parameter erose_form, can be used to modify the Rose energy function used to compute the pair potential. This function gives the energy of the reference state as a function of interatomic spacing. The form of this function is:</p> <div class="highlight-python"><div class="highlight"><pre>astar = alpha * (r/re - 1.d0) if erose_form = 0: erose = -Ec*(1+astar+a3*(astar**3)/(r/re))*exp(-astar) if erose_form = 1: erose = -Ec*(1+astar+(-attrac+repuls/r)*(astar**3))*exp(-astar) if erose_form = 2: erose = -Ec*(1 +astar + a3*(astar**3))*exp(-astar) a3 = repuls, astar < 0 a3 = attrac, astar >= 0 </pre></div> </div> <p>Most published MEAM parameter sets use the default values attrac=repulse=0. Setting repuls=attrac=delta corresponds to the form used in several recent published MEAM parameter sets, such as <span class="xref std std-ref">(Vallone)</span></p> <div class="admonition note"> <p class="first admonition-title">Note</p> <p class="last">The default form of the erose expression in LAMMPS was corrected in March 2009. The current version is correct, but may show different behavior compared with earlier versions of lammps with the attrac and/or repuls parameters are non-zero. To obtain the previous default form, use erose_form = 1 (this form does not seem to appear in the literature). An alternative form (see e.g. <a class="reference internal" href="#lee2"><span>(Lee2)</span></a>) is available using erose_form = 2.</p> </div> <hr class="docutils" /> <p><strong>Mixing, shift, table, tail correction, restart, rRESPA info</strong>:</p> <p>For atom type pairs I,J and I != J, where types I and J correspond to two different element types, mixing is performed by LAMMPS with user-specifiable parameters as described above. You never need to specify a pair_coeff command with I != J arguments for this style.</p> <p>This pair style does not support the <a class="reference internal" href="pair_modify.html"><em>pair_modify</em></a> shift, table, and tail options.</p> <p>This pair style does not write its information to <a class="reference internal" href="restart.html"><em>binary restart files</em></a>, since it is stored in potential files. Thus, you need to re-specify the pair_style and pair_coeff commands in an input script that reads a restart file.</p> <p>This pair style can only be used via the <em>pair</em> keyword of the <a class="reference internal" href="run_style.html"><em>run_style respa</em></a> command. It does not support the <em>inner</em>, <em>middle</em>, <em>outer</em> keywords.</p> </div> <hr class="docutils" /> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <p>This style is part of the MEAM package. It is only enabled if LAMMPS was built with that package, which also requires the MEAM library be built and linked with LAMMPS. See the <a class="reference internal" href="Section_start.html#start-3"><span>Making LAMMPS</span></a> section for more info.</p> </div> <div class="section" id="related-commands"> <h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2> <p><a class="reference internal" href="pair_coeff.html"><em>pair_coeff</em></a>, <a class="reference internal" href="pair_eam.html"><em>pair_style eam</em></a>, <a class="reference internal" href="pair_meam_spline.html"><em>pair_style meam/spline</em></a></p> <p><strong>Default:</strong> none</p> <hr class="docutils" /> <p id="baskes"><strong>(Baskes)</strong> Baskes, Phys Rev B, 46, 2727-2742 (1992).</p> <p id="gullet"><strong>(Gullet)</strong> Gullet, Wagner, Slepoy, SANDIA Report 2003-8782 (2003). This report may be accessed on-line via <a class="reference external" href="http://infoserve.sandia.gov/sand_doc/2003/038782.pdf">this link</a>.</p> <p id="lee"><strong>(Lee)</strong> Lee, Baskes, Phys. Rev. B, 62, 8564-8567 (2000).</p> <p id="lee2"><strong>(Lee2)</strong> Lee, Baskes, Kim, Cho. Phys. Rev. B, 64, 184102 (2001).</p> <p id="valone"><strong>(Valone)</strong> Valone, Baskes, Martin, Phys. Rev. B, 73, 214209 (2006).</p> <p id="wang"><strong>(Wang)</strong> Wang, Van Hove, Ross, Baskes, J. Chem. Phys., 121, 5410 (2004).</p> <p id="zbl"><strong>(ZBL)</strong> J.F. Ziegler, J.P. Biersack, U. Littmark, “Stopping and Ranges of Ions in Matter”, Vol 1, 1985, Pergamon Press.</p> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/pair_modify.html b/doc/pair_modify.html index 1bf713ad9..df61d1d29 100644 --- a/doc/pair_modify.html +++ b/doc/pair_modify.html @@ -1,443 +1,443 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>pair_modify command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>pair_modify command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="pair-modify-command"> <span id="index-0"></span><h1>pair_modify command<a class="headerlink" href="#pair-modify-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>pair_modify keyword values ... </pre></div> </div> <ul class="simple"> <li>one or more keyword/value pairs may be listed</li> <li>keyword = <em>pair</em> or <em>special</em> or <em>shift</em> or <em>mix</em> or <em>table</em> or <em>table/disp</em> or <em>tabinner</em> or <em>tabinner/disp</em> or <em>tail</em> or <em>compute</em></li> </ul> <pre class="literal-block"> <em>pair</em> values = sub-style N special which w1 wt2 wt3 - sub-style = sub-style of <a class="reference internal" href="pair_hybrid.html"><em>pair hybrid</em></a> - N = which instance of sub-style (only if sub-style is used multiple times) - <em>special</em> values = flavor w1 w2 w3 - flavor = <em>lj/coul</em> or <em>lj</em> or <em>coul</em> - w1,w2,w3 = weights from 0.0 to 1.0 inclusive - <em>mix</em> value = <em>geometric</em> or <em>arithmetic</em> or <em>sixthpower</em> - <em>shift</em> value = <em>yes</em> or <em>no</em> - <em>table</em> value = N - 2^N = # of values in table - <em>table/disp</em> value = N - 2^N = # of values in table - <em>tabinner</em> value = cutoff - cutoff = inner cutoff at which to begin table (distance units) - <em>tabinner/disp</em> value = cutoff - cutoff = inner cutoff at which to begin table (distance units) - <em>tail</em> value = <em>yes</em> or <em>no</em> - <em>compute</em> value = <em>yes</em> or <em>no</em> + sub-style = sub-style of <a class="reference internal" href="pair_hybrid.html"><em>pair hybrid</em></a> + N = which instance of sub-style (only if sub-style is used multiple times) +<em>special</em> values = flavor w1 w2 w3 + flavor = <em>lj/coul</em> or <em>lj</em> or <em>coul</em> + w1,w2,w3 = weights from 0.0 to 1.0 inclusive +<em>mix</em> value = <em>geometric</em> or <em>arithmetic</em> or <em>sixthpower</em> +<em>shift</em> value = <em>yes</em> or <em>no</em> +<em>table</em> value = N + 2^N = # of values in table +<em>table/disp</em> value = N + 2^N = # of values in table +<em>tabinner</em> value = cutoff + cutoff = inner cutoff at which to begin table (distance units) +<em>tabinner/disp</em> value = cutoff + cutoff = inner cutoff at which to begin table (distance units) +<em>tail</em> value = <em>yes</em> or <em>no</em> +<em>compute</em> value = <em>yes</em> or <em>no</em> </pre> </div> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>pair_modify shift yes mix geometric pair_modify tail yes pair_modify table 12 </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>Modify the parameters of the currently defined pair style. Not all parameters are relevant to all pair styles.</p> <p>If used, the <em>pair</em> keyword must appear first in the list of keywords. It can only be used with the <a class="reference internal" href="pair_hybrid.html"><em>hybrid and hybrid/overlay</em></a> pair styles. It means that all the following parameters will only be modified for the specified sub-style. If the sub-style is defined multiple times, then an additional numeric argument <em>N</em> must also be specified, which is a number from 1 to M where M is the number of times the sub-style was listed in the <a class="reference internal" href="pair_hybrid.html"><em>pair_style hybrid</em></a> command. The extra number indicates which instance of the sub-style the remaining keywords will be applied to. Note that if the <em>pair</em> keyword is not used, and the pair style is <em>hybrid</em> or <em>hybrid/overlay</em>, then all the specified keywords will be applied to all sub-styles.</p> <p>If used, the <em>special</em> keyword must appear second in the list of keywords, and must follow the <em>pair</em> keyword. Like the <em>pair</em> keyword, it also can only be used with the <a class="reference internal" href="pair_hybrid.html"><em>hybrid and hybrid/overlay</em></a> pair styles. Its parameters are similar to the <a class="reference internal" href="special_bonds.html"><em>special_bonds</em></a> command, and it overrides the special_bond settings for the specified sub-style. More details are given below.</p> <p>The <em>mix</em> keyword affects pair coefficients for interactions between atoms of type I and J, when I != J and the coefficients are not explicitly set in the input script. Note that coefficients for I = J must be set explicitly, either in the input script via the “pair_coeff” command or in the “Pair Coeffs” section of the <a class="reference internal" href="read_data.html"><em>data file</em></a>. For some pair styles it is not necessary to specify coefficients when I != J, since a “mixing” rule will create them from the I,I and J,J settings. The pair_modify <em>mix</em> value determines what formulas are used to compute the mixed coefficients. In each case, the cutoff distance is mixed the same way as sigma.</p> <p>Note that not all pair styles support mixing. Also, some mix options are not available for certain pair styles. See the doc page for individual pair styles for those restrictions. Note also that the <a class="reference internal" href="pair_coeff.html"><em>pair_coeff</em></a> command also can be to directly set coefficients for a specific I != J pairing, in which case no mixing is performed.</p> <p>mix <em>geometric</em></p> <div class="highlight-python"><div class="highlight"><pre><span class="n">epsilon_ij</span> <span class="o">=</span> <span class="n">sqrt</span><span class="p">(</span><span class="n">epsilon_i</span> <span class="o">*</span> <span class="n">epsilon_j</span><span class="p">)</span> <span class="n">sigma_ij</span> <span class="o">=</span> <span class="n">sqrt</span><span class="p">(</span><span class="n">sigma_i</span> <span class="o">*</span> <span class="n">sigma_j</span><span class="p">)</span> </pre></div> </div> <p>mix <em>arithmetic</em></p> <div class="highlight-python"><div class="highlight"><pre><span class="n">epsilon_ij</span> <span class="o">=</span> <span class="n">sqrt</span><span class="p">(</span><span class="n">epsilon_i</span> <span class="o">*</span> <span class="n">epsilon_j</span><span class="p">)</span> <span class="n">sigma_ij</span> <span class="o">=</span> <span class="p">(</span><span class="n">sigma_i</span> <span class="o">+</span> <span class="n">sigma_j</span><span class="p">)</span> <span class="o">/</span> <span class="mi">2</span> </pre></div> </div> <p>mix <em>sixthpower</em></p> <div class="highlight-python"><div class="highlight"><pre>epsilon_ij = (2 * sqrt(epsilon_i*epsilon_j) * sigma_i^3 * sigma_j^3) / (sigma_i^6 + sigma_j^6) sigma_ij = ((sigma_i**6 + sigma_j**6) / 2) ^ (1/6) </pre></div> </div> <p>The <em>shift</em> keyword determines whether a Lennard-Jones potential is shifted at its cutoff to 0.0. If so, this adds an energy term to each pairwise interaction which will be included in the thermodynamic output, but does not affect pair forces or atom trajectories. See the doc page for individual pair styles to see which ones support this option.</p> <p>The <em>table</em> and <em>table/disp</em> keywords apply to pair styles with a long-range Coulombic term or long-range dispersion term respectively; see the doc page for individual styles to see which potentials support these options. If N is non-zero, a table of length 2^N is pre-computed for forces and energies, which can shrink their computational cost by up to a factor of 2. The table is indexed via a bit-mapping technique <a class="reference internal" href="pair_table.html#wolff"><span>(Wolff)</span></a> and a linear interpolation is performed between adjacent table values. In our experiments with different table styles (lookup, linear, spline), this method typically gave the best performance in terms of speed and accuracy.</p> <p>The choice of table length is a tradeoff in accuracy versus speed. A larger N yields more accurate force computations, but requires more memory which can slow down the computation due to cache misses. A reasonable value of N is between 8 and 16. The default value of 12 (table of length 4096) gives approximately the same accuracy as the no-table (N = 0) option. For N = 0, forces and energies are computed directly, using a polynomial fit for the needed erfc() function evaluation, which is what earlier versions of LAMMPS did. Values greater than 16 typically slow down the simulation and will not improve accuracy; values from 1 to 8 give unreliable results.</p> <p>The <em>tabinner</em> and <em>tabinner/disp</em> keywords set an inner cutoff above which the pairwise computation is done by table lookup (if tables are invoked), for the corresponding Coulombic and dispersion tables discussed with the <em>table</em> and <em>table/disp</em> keywords. The smaller the cutoff is set, the less accurate the table becomes (for a given number of table values), which can require use of larger tables. The default cutoff value is sqrt(2.0) distance units which means nearly all pairwise interactions are computed via table lookup for simulations with “real” units, but some close pairs may be computed directly (non-table) for simulations with “lj” units.</p> <p>When the <em>tail</em> keyword is set to <em>yes</em>, certain pair styles will add a long-range VanderWaals tail “correction” to the energy and pressure. These corrections are bookkeeping terms which do not affect dynamics, unless a constant-pressure simulation is being performed. See the doc page for individual styles to see which support this option. These corrections are included in the calculation and printing of thermodynamic quantities (see the <a class="reference internal" href="thermo_style.html"><em>thermo_style</em></a> command). Their effect will also be included in constant NPT or NPH simulations where the pressure influences the simulation box dimensions (e.g. the <a class="reference internal" href="fix_nh.html"><em>fix npt</em></a> and <a class="reference internal" href="fix_nh.html"><em>fix nph</em></a> commands). The formulas used for the long-range corrections come from equation 5 of <a class="reference internal" href="#sun"><span>(Sun)</span></a>.</p> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">The tail correction terms are computed at the beginning of each run, using the current atom counts of each atom type. If atoms are deleted (or lost) or created during a simulation, e.g. via the <a class="reference internal" href="fix_gcmc.html"><em>fix gcmc</em></a> command, the correction factors are not re-computed. If you expect the counts to change dramatically, you can break a run into a series of shorter runs so that the correction factors are re-computed more frequently.</p> </div> <p>Several additional assumptions are inherent in using tail corrections, including the following:</p> <ul class="simple"> <li>The simulated system is a 3d bulk homogeneous liquid. This option should not be used for systems that are non-liquid, 2d, have a slab geometry (only 2d periodic), or inhomogeneous.</li> <li>G(r), the radial distribution function (rdf), is unity beyond the cutoff, so a fairly large cutoff should be used (i.e. 2.5 sigma for an LJ fluid), and it is probably a good idea to verify this assumption by checking the rdf. The rdf is not exactly unity beyond the cutoff for each pair of interaction types, so the tail correction is necessarily an approximation.</li> </ul> <p>The tail corrections are computed at the beginning of each simulation run. If the number of atoms changes during the run, e.g. due to atoms leaving the simulation domain, or use of the <a class="reference internal" href="fix_gcmc.html"><em>fix gcmc</em></a> command, then the corrections are not updates to relect the changed atom count. If this is a large effect in your simulation, you should break the long run into several short runs, so that the correction factors are re-computed multiple times.</p> <ul class="simple"> <li>Thermophysical properties obtained from calculations with this option enabled will not be thermodynamically consistent with the truncated force-field that was used. In other words, atoms do not feel any LJ pair interactions beyond the cutoff, but the energy and pressure reported by the simulation include an estimated contribution from those interactions.</li> </ul> <p>The <em>compute</em> keyword allows pairwise computations to be turned off, even though a <a class="reference internal" href="pair_style.html"><em>pair_style</em></a> is defined. This is not useful for running a real simulation, but can be useful for debugging purposes or for performing a <a class="reference internal" href="rerun.html"><em>rerun</em></a> simulation, when you only wish to compute partial forces that do not include the pairwise contribution.</p> <p>Two examples are as follows. First, this option allows you to perform a simulation with <a class="reference internal" href="pair_hybrid.html"><em>pair_style hybrid</em></a> with only a subset of the hybrid sub-styles enabled. Second, this option allows you to perform a simulation with only long-range interactions but no short-range pairwise interactions. Doing this by simply not defining a pair style will not work, because the <a class="reference internal" href="kspace_style.html"><em>kspace_style</em></a> command requires a Kspace-compatible pair style be defined.</p> <hr class="docutils" /> <div class="section" id="use-of-special-keyword"> <h3>Use of <em>special</em> keyword<a class="headerlink" href="#use-of-special-keyword" title="Permalink to this headline">¶</a></h3> <p>The <em>special</em> keyword requires 4 values similar to those specified with the <a class="reference internal" href="special_bonds.html"><em>special_bonds</em></a> command, <em>flavor</em> and w1,w2,w3. The <em>flavor</em> argument can be <em>lj</em> to change the Lennard-Jones settings, <em>coul</em> to change the Coulombic settings, or <em>lj/coul</em> to change both to the same set of 3 values. The w1,w2,w3 values are numeric weights from 0.0 to 1.0 inclusive, for the 1-2, 1-3, and 1-4 bond topology neighbors. For example, these commands</p> <div class="highlight-python"><div class="highlight"><pre>special_bonds lj/coul 0.0 0.0 0.1 pair_hybrid lj/charmm/coul/long 8.0 10.0 lj/cut/coul/long 10.0 pair_modify pair lj/charmm/coul/long special lj/coul 0.0 0.0 0.0 pair_modify pair lj/cut/coul/long special lj 0.0 0.0 0.5 pair_modify pair lj/cut/coul/long special coul 0.0 0.0 0.8333 </pre></div> </div> <p>show how to use both the CHARMM and AMBER force fields in a single simulation. The first pair modify command sets the special bonds to CHARMM values (all 0.0). The last 2 pair modify commands set the standard AMBER values for LJ and Coulombic weights.</p> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">The global settings specified by the <a class="reference internal" href="special_bonds.html"><em>special_bonds</em></a> command affect the construction of neighbor lists. Weights of 0.0 (for 1-2, 1-3, or 1-4 neighbors) exclude those pairs from the neighbor list entirely. Weights of 1.0 store the neighbor with no weighting applied. The format of the neighbor list cannot be changed by setting a sub-style weight to a non-zero or non-one value. Thus an error is generated if the new sub-style value is not 0.0 (or 1.0) when the global setting is 0.0 (or 1.0). Note that as in the example above, the global factor can simply be set a value other than 0.0 or 1.0, then overridden by any of the sub-styles with a value that is 0.0 or 1.0.</p> </div> </div> </div> <hr class="docutils" /> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <blockquote> <div>none</div></blockquote> <p>You cannot use <em>shift</em> yes with <em>tail</em> yes, since those are conflicting options. You cannot use <em>tail</em> yes with 2d simulations.</p> </div> <div class="section" id="related-commands"> <h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2> <p><a class="reference internal" href="pair_style.html"><em>pair_style</em></a>, <a class="reference internal" href="pair_coeff.html"><em>pair_coeff</em></a>, <a class="reference internal" href="thermo_style.html"><em>thermo_style</em></a></p> </div> <div class="section" id="default"> <h2>Default<a class="headerlink" href="#default" title="Permalink to this headline">¶</a></h2> <p>The option defaults are mix = geometric, shift = no, table = 12, tabinner = sqrt(2.0), tail = no, and compute = yes.</p> <p>Note that some pair styles perform mixing, but only a certain style of mixing. See the doc pages for individual pair styles for details.</p> <hr class="docutils" /> <p id="wolff"><strong>(Wolff)</strong> Wolff and Rudd, Comp Phys Comm, 120, 200-32 (1999).</p> <p id="sun"><strong>(Sun)</strong> Sun, J Phys Chem B, 102, 7338-7364 (1998).</p> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/pair_nm.html b/doc/pair_nm.html index a1c4668a7..b64ce97f0 100644 --- a/doc/pair_nm.html +++ b/doc/pair_nm.html @@ -1,342 +1,342 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>pair_style nm/cut command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>pair_style nm/cut command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="pair-style-nm-cut-command"> <span id="index-0"></span><h1>pair_style nm/cut command<a class="headerlink" href="#pair-style-nm-cut-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="pair-style-nm-cut-coul-cut-command"> <h1>pair_style nm/cut/coul/cut command<a class="headerlink" href="#pair-style-nm-cut-coul-cut-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="pair-style-nm-cut-coul-long-command"> <h1>pair_style nm/cut/coul/long command<a class="headerlink" href="#pair-style-nm-cut-coul-long-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="pair-style-nm-cut-omp-command"> <h1>pair_style nm/cut/omp command<a class="headerlink" href="#pair-style-nm-cut-omp-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="pair-style-nm-cut-coul-cut-omp-command"> <h1>pair_style nm/cut/coul/cut/omp command<a class="headerlink" href="#pair-style-nm-cut-coul-cut-omp-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="pair-style-nm-cut-coul-long-omp-command"> <h1>pair_style nm/cut/coul/long/omp command<a class="headerlink" href="#pair-style-nm-cut-coul-long-omp-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>pair_style style args </pre></div> </div> <ul class="simple"> <li>style = <em>nm/cut</em> or <em>nm/cut/coul/cut</em> or <em>nm/cut/coul/long</em></li> <li>args = list of arguments for a particular style</li> </ul> <pre class="literal-block"> <em>nm/cut</em> args = cutoff - cutoff = global cutoff for Pair interactions (distance units) - <em>nm/cut/coul/cut</em> args = cutoff (cutoff2) - cutoff = global cutoff for Pair (and Coulombic if only 1 arg) (distance units) - cutoff2 = global cutoff for Coulombic (optional) (distance units) - <em>nm/cut/coul/long</em> args = cutoff (cutoff2) - cutoff = global cutoff for Pair (and Coulombic if only 1 arg) (distance units) - cutoff2 = global cutoff for Coulombic (optional) (distance units) + cutoff = global cutoff for Pair interactions (distance units) +<em>nm/cut/coul/cut</em> args = cutoff (cutoff2) + cutoff = global cutoff for Pair (and Coulombic if only 1 arg) (distance units) + cutoff2 = global cutoff for Coulombic (optional) (distance units) +<em>nm/cut/coul/long</em> args = cutoff (cutoff2) + cutoff = global cutoff for Pair (and Coulombic if only 1 arg) (distance units) + cutoff2 = global cutoff for Coulombic (optional) (distance units) </pre> </div> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>pair_style nm/cut 12.0 pair_coeff * * 0.01 5.4 8.0 7.0 pair_coeff 1 1 0.01 4.4 7.0 6.0 </pre></div> </div> <div class="highlight-python"><div class="highlight"><pre>pair_style nm/cut/coul/cut 12.0 15.0 pair_coeff * * 0.01 5.4 8.0 7.0 pair_coeff 1 1 0.01 4.4 7.0 6.0 </pre></div> </div> <div class="highlight-python"><div class="highlight"><pre>pair_style nm/cut/coul/long 12.0 15.0 pair_coeff * * 0.01 5.4 8.0 7.0 pair_coeff 1 1 0.01 4.4 7.0 6.0 </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>Style <em>nm</em> computes site-site interactions based on the N-M potential by <a class="reference internal" href="#clarke"><span>Clarke</span></a>, mainly used for ionic liquids. A site can represent a single atom or a united-atom site. The energy of an interaction has the following form:</p> <img alt="_images/pair_nm.jpg" class="align-center" src="_images/pair_nm.jpg" /> <p>Rc is the cutoff.</p> <p>Style <em>nm/cut/coul/cut</em> adds a Coulombic pairwise interaction given by</p> <img alt="_images/pair_coulomb.jpg" class="align-center" src="_images/pair_coulomb.jpg" /> <p>where C is an energy-conversion constant, Qi and Qj are the charges on the 2 atoms, and epsilon is the dielectric constant which can be set by the <a class="reference internal" href="dielectric.html"><em>dielectric</em></a> command. If one cutoff is specified in the pair_style command, it is used for both the NM and Coulombic terms. If two cutoffs are specified, they are used as cutoffs for the NM and Coulombic terms respectively.</p> <p>Styles <em>nm/cut/coul/long</em> compute the same Coulombic interactions as style <em>nm/cut/coul/cut</em> except that an additional damping factor is applied to the Coulombic term so it can be used in conjunction with the <a class="reference internal" href="kspace_style.html"><em>kspace_style</em></a> command and its <em>ewald</em> or <em>pppm</em> option. The Coulombic cutoff specified for this style means that pairwise interactions within this distance are computed directly; interactions outside that distance are computed in reciprocal space.</p> <p>For all of the <em>nm</em> pair styles, the following coefficients must be defined for each pair of atoms types via the <a class="reference internal" href="pair_coeff.html"><em>pair_coeff</em></a> command as in the examples above, or in the data file or restart files read by the <a class="reference internal" href="read_data.html"><em>read_data</em></a> or <a class="reference internal" href="read_restart.html"><em>read_restart</em></a> commands.</p> <ul class="simple"> <li>E0 (energy units)</li> <li>r0 (distance units)</li> <li>n (unitless)</li> <li>m (unitless)</li> <li>cutoff1 (distance units)</li> <li>cutoff2 (distance units)</li> </ul> <p>The latter 2 coefficients are optional. If not specified, the global NM and Coulombic cutoffs specified in the pair_style command are used. If only one cutoff is specified, it is used as the cutoff for both NM and Coulombic interactions for this type pair. If both coefficients are specified, they are used as the NM and Coulombic cutoffs for this type pair. You cannot specify 2 cutoffs for style <em>nm</em>, since it has no Coulombic terms.</p> <p>For <em>nm/cut/coul/long</em> only the NM cutoff can be specified since a Coulombic cutoff cannot be specified for an individual I,J type pair. All type pairs use the same global Coulombic cutoff specified in the pair_style command.</p> <hr class="docutils" /> <p><strong>Mixing, shift, table, tail correction, restart, rRESPA info</strong>:</p> <p>These pair styles do not support mixing. Thus, coefficients for all I,J pairs must be specified explicitly.</p> <p>All of the <em>nm</em> pair styles supports the <a class="reference internal" href="pair_modify.html"><em>pair_modify</em></a> shift option for the energy of the pair interaction.</p> <p>The <em>nm/cut/coul/long</em> pair styles support the <a class="reference internal" href="pair_modify.html"><em>pair_modify</em></a> table option since they can tabulate the short-range portion of the long-range Coulombic interaction.</p> <p>All of the <em>nm</em> pair styles support the <a class="reference internal" href="pair_modify.html"><em>pair_modify</em></a> tail option for adding a long-range tail correction to the energy and pressure for the NM portion of the pair interaction.</p> <p>All of the <em>nm</em> pair styles write their information to <a class="reference internal" href="restart.html"><em>binary restart files</em></a>, so pair_style and pair_coeff commands do not need to be specified in an input script that reads a restart file.</p> <p>All of the <em>nm</em> pair styles can only be used via the <em>pair</em> keyword of the <a class="reference internal" href="run_style.html"><em>run_style respa</em></a> command. They do not support the <em>inner</em>, <em>middle</em>, <em>outer</em> keywords.</p> <hr class="docutils" /> <p>Styles with a <em>cuda</em>, <em>gpu</em>, <em>intel</em>, <em>kk</em>, <em>omp</em>, or <em>opt</em> suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available hardware, as discussed in <a class="reference internal" href="Section_accelerate.html"><em>Section_accelerate</em></a> of the manual. The accelerated styles take the same arguments and should produce the same results, except for round-off and precision issues.</p> <p>These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if LAMMPS was built with those packages. See the <a class="reference internal" href="Section_start.html#start-3"><span>Making LAMMPS</span></a> section for more info.</p> <p>You can specify the accelerated styles explicitly in your input script by including their suffix, or you can use the <a class="reference internal" href="Section_start.html#start-7"><span>-suffix command-line switch</span></a> when you invoke LAMMPS, or you can use the <a class="reference internal" href="suffix.html"><em>suffix</em></a> command in your input script.</p> <p>See <a class="reference internal" href="Section_accelerate.html"><em>Section_accelerate</em></a> of the manual for more instructions on how to use the accelerated styles effectively.</p> </div> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <p>These pair styles are part of the MISC package. It is only enabled if LAMMPS was built with that package. See the <a class="reference internal" href="Section_start.html#start-3"><span>Making LAMMPS</span></a> section for more info.</p> </div> <div class="section" id="related-commands"> <h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2> <p><a class="reference internal" href="pair_coeff.html"><em>pair_coeff</em></a></p> <p><strong>Default:</strong> none</p> <hr class="docutils" /> <p id="clarke"><strong>(Clarke)</strong> Clarke and Smith, J Chem Phys, 84, 2290 (1986).</p> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/pair_sdk.html b/doc/pair_sdk.html index f19f5f187..0e6b4c6e2 100644 --- a/doc/pair_sdk.html +++ b/doc/pair_sdk.html @@ -1,329 +1,329 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>pair_style lj/sdk command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>pair_style lj/sdk command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="pair-style-lj-sdk-command"> <span id="index-0"></span><h1>pair_style lj/sdk command<a class="headerlink" href="#pair-style-lj-sdk-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="pair-style-lj-sdk-gpu-command"> <h1>pair_style lj/sdk/gpu command<a class="headerlink" href="#pair-style-lj-sdk-gpu-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="pair-style-lj-sdk-kk-command"> <h1>pair_style lj/sdk/kk command<a class="headerlink" href="#pair-style-lj-sdk-kk-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="pair-style-lj-sdk-omp-command"> <h1>pair_style lj/sdk/omp command<a class="headerlink" href="#pair-style-lj-sdk-omp-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="pair-style-lj-sdk-coul-long-command"> <h1>pair_style lj/sdk/coul/long command<a class="headerlink" href="#pair-style-lj-sdk-coul-long-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="pair-style-lj-sdk-coul-long-gpu-command"> <h1>pair_style lj/sdk/coul/long/gpu command<a class="headerlink" href="#pair-style-lj-sdk-coul-long-gpu-command" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="pair-style-lj-sdk-coul-long-omp-command"> <h1>pair_style lj/sdk/coul/long/omp command<a class="headerlink" href="#pair-style-lj-sdk-coul-long-omp-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>pair_style style args </pre></div> </div> <ul class="simple"> <li>style = <em>lj/sdk</em> or <em>lj/sdk/coul/long</em></li> <li>args = list of arguments for a particular style</li> </ul> <pre class="literal-block"> <em>lj/sdk</em> args = cutoff - cutoff = global cutoff for Lennard Jones interactions (distance units) - <em>lj/sdk/coul/long</em> args = cutoff (cutoff2) - cutoff = global cutoff for LJ (and Coulombic if only 1 arg) (distance units) - cutoff2 = global cutoff for Coulombic (optional) (distance units) + cutoff = global cutoff for Lennard Jones interactions (distance units) +<em>lj/sdk/coul/long</em> args = cutoff (cutoff2) + cutoff = global cutoff for LJ (and Coulombic if only 1 arg) (distance units) + cutoff2 = global cutoff for Coulombic (optional) (distance units) </pre> </div> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>pair_style lj/sdk 2.5 pair_coeff 1 1 lj12_6 1 1.1 2.8 </pre></div> </div> <div class="highlight-python"><div class="highlight"><pre>pair_style lj/sdk/coul/long 10.0 pair_style lj/sdk/coul/long 10.0 12.0 pair_coeff 1 1 lj9_6 100.0 3.5 12.0 </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>The <em>lj/sdk</em> styles compute a 9/6, 12/4, or 12/6 Lennard-Jones potential, given by</p> <img alt="_images/pair_cmm.jpg" class="align-center" src="_images/pair_cmm.jpg" /> <p>as required for the SDK Coarse-grained MD parametrization discussed in <a class="reference internal" href="#shinoda"><span>(Shinoda)</span></a> and <a class="reference internal" href="#devane"><span>(DeVane)</span></a>. Rc is the cutoff.</p> <p>Style <em>lj/sdk/coul/long</em> computes the adds Coulombic interactions with an additional damping factor applied so it can be used in conjunction with the <a class="reference internal" href="kspace_style.html"><em>kspace_style</em></a> command and its <em>ewald</em> or <em>pppm</em> or <em>pppm/cg</em> option. The Coulombic cutoff specified for this style means that pairwise interactions within this distance are computed directly; interactions outside that distance are computed in reciprocal space.</p> <p>The following coefficients must be defined for each pair of atoms types via the <a class="reference internal" href="pair_coeff.html"><em>pair_coeff</em></a> command as in the examples above, or in the data file or restart files read by the <a class="reference internal" href="read_data.html"><em>read_data</em></a> or <a class="reference internal" href="read_restart.html"><em>read_restart</em></a> commands, or by mixing as described below:</p> <ul class="simple"> <li>cg_type (lj9_6, lj12_4, or lj12_6)</li> <li>epsilon (energy units)</li> <li>sigma (distance units)</li> <li>cutoff1 (distance units)</li> </ul> <p>Note that sigma is defined in the LJ formula as the zero-crossing distance for the potential, not as the energy minimum. The prefactors are chosen so that the potential minimum is at -epsilon.</p> <p>The latter 2 coefficients are optional. If not specified, the global LJ and Coulombic cutoffs specified in the pair_style command are used. If only one cutoff is specified, it is used as the cutoff for both LJ and Coulombic interactions for this type pair. If both coefficients are specified, they are used as the LJ and Coulombic cutoffs for this type pair.</p> <p>For <em>lj/sdk/coul/long</em> only the LJ cutoff can be specified since a Coulombic cutoff cannot be specified for an individual I,J type pair. All type pairs use the same global Coulombic cutoff specified in the pair_style command.</p> <hr class="docutils" /> <p>Styles with a <em>cuda</em>, <em>gpu</em>, <em>intel</em>, <em>kk</em>, <em>omp</em> or <em>opt</em> suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available hardware, as discussed in <a class="reference internal" href="Section_accelerate.html"><em>Section_accelerate</em></a> of the manual. The accelerated styles take the same arguments and should produce the same results, except for round-off and precision issues.</p> <p>These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP, and OPT packages respectively. They are only enabled if LAMMPS was built with those packages. See the <a class="reference internal" href="Section_start.html#start-3"><span>Making LAMMPS</span></a> section for more info.</p> <p>You can specify the accelerated styles explicitly in your input script by including their suffix, or you can use the <a class="reference internal" href="Section_start.html#start-7"><span>-suffix command-line switch</span></a> when you invoke LAMMPS, or you can use the <a class="reference internal" href="suffix.html"><em>suffix</em></a> command in your input script.</p> <p>See <a class="reference internal" href="Section_accelerate.html"><em>Section_accelerate</em></a> of the manual for more instructions on how to use the accelerated styles effectively.</p> <hr class="docutils" /> <p><strong>Mixing, shift, table, tail correction, restart, and rRESPA info</strong>:</p> <p>For atom type pairs I,J and I != J, the epsilon and sigma coefficients and cutoff distance for all of the lj/sdk pair styles <em>cannot</em> be mixed, since different pairs may have different exponents. So all parameters for all pairs have to be specified explicitly through the “pair_coeff” command. Defining then in a data file is also not supported, due to limitations of that file format.</p> <p>All of the lj/sdk pair styles support the <a class="reference internal" href="pair_modify.html"><em>pair_modify</em></a> shift option for the energy of the Lennard-Jones portion of the pair interaction.</p> <p>The <em>lj/sdk/coul/long</em> pair styles support the <a class="reference internal" href="pair_modify.html"><em>pair_modify</em></a> table option since they can tabulate the short-range portion of the long-range Coulombic interaction.</p> <p>All of the lj/sdk pair styles write their information to <a class="reference internal" href="restart.html"><em>binary restart files</em></a>, so pair_style and pair_coeff commands do not need to be specified in an input script that reads a restart file.</p> <p>The lj/sdk and lj/cut/coul/long pair styles do not support the use of the <em>inner</em>, <em>middle</em>, and <em>outer</em> keywords of the <a class="reference internal" href="run_style.html"><em>run_style respa</em></a> command.</p> </div> <hr class="docutils" /> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <p>All of the lj/sdk pair styles are part of the USER-CG-CMM package. The <em>lj/sdk/coul/long</em> style also requires the KSPACE package to be built (which is enabled by default). They are only enabled if LAMMPS was built with that package. See the <a class="reference internal" href="Section_start.html#start-3"><span>Making LAMMPS</span></a> section for more info.</p> </div> <div class="section" id="related-commands"> <h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2> <p><a class="reference internal" href="pair_coeff.html"><em>pair_coeff</em></a>, <a class="reference internal" href="angle_sdk.html"><em>angle_style sdk</em></a></p> <p><strong>Default:</strong> none</p> <hr class="docutils" /> <p id="shinoda"><strong>(Shinoda)</strong> Shinoda, DeVane, Klein, Mol Sim, 33, 27 (2007).</p> <p id="devane"><strong>(DeVane)</strong> Shinoda, DeVane, Klein, Soft Matter, 4, 2453-2462 (2008).</p> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/pair_snap.html b/doc/pair_snap.html index 271b85445..5527c51e3 100644 --- a/doc/pair_snap.html +++ b/doc/pair_snap.html @@ -1,353 +1,353 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>pair_style snap command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>pair_style snap command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="pair-style-snap-command"> <span id="index-0"></span><h1>pair_style snap command<a class="headerlink" href="#pair-style-snap-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>pair_style snap </pre></div> </div> </div> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>pair_style snap pair_coeff * * snap InP.snapcoeff In P InP.snapparam In In P P </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>Style <em>snap</em> computes interactions using the spectral neighbor analysis potential (SNAP) <a class="reference internal" href="#thompson2014"><span>(Thompson)</span></a>. Like the GAP framework of Bartok et al. <a class="reference internal" href="#bartok2010"><span>(Bartok2010)</span></a>, <a class="reference internal" href="#bartok2013"><span>(Bartok2013)</span></a> it uses bispectrum components to characterize the local neighborhood of each atom in a very general way. The mathematical definition of the bispectrum calculation used by SNAP is identical to that used of <a class="reference internal" href="compute_sna_atom.html"><em>compute sna/atom</em></a>. In SNAP, the total energy is decomposed into a sum over atom energies. The energy of atom <em>i</em> is expressed as a weighted sum over bispectrum components.</p> <img alt="_images/pair_snap.jpg" class="align-center" src="_images/pair_snap.jpg" /> <p>where <em>B_k^i</em> is the <em>k</em>-th bispectrum component of atom <em>i</em>, and <em>beta_k^alpha_i</em> is the corresponding linear coefficient that depends on <em>alpha_i</em>, the SNAP element of atom <em>i</em>. The number of bispectrum components used and their definitions depend on the values of <em>twojmax</em> and <em>diagonalstyle</em> defined in the SNAP parameter file described below. The bispectrum calculation is described in more detail in <a class="reference internal" href="compute_sna_atom.html"><em>compute sna/atom</em></a>.</p> <p>Note that unlike for other potentials, cutoffs for SNAP potentials are not set in the pair_style or pair_coeff command; they are specified in the SNAP potential files themselves.</p> <p>Only a single pair_coeff command is used with the <em>snap</em> style which specifies two SNAP files and the list SNAP element(s) to be extracted. The SNAP elements are mapped to LAMMPS atom types by specifying N additional arguments after the 2nd filename in the pair_coeff command, where N is the number of LAMMPS atom types:</p> <ul class="simple"> <li>SNAP element file</li> <li>Elem1, Elem2, ...</li> <li>SNAP parameter file</li> <li>N element names = mapping of SNAP elements to atom types</li> </ul> <p>As an example, if a LAMMPS indium phosphide simulation has 4 atoms types, with the first two being indium and the 3rd and 4th being phophorous, the pair_coeff command would look like this:</p> <div class="highlight-python"><div class="highlight"><pre>pair_coeff * * snap InP.snapcoeff In P InP.snapparam In In P P </pre></div> </div> <p>The 1st 2 arguments must be * * so as to span all LAMMPS atom types. The two filenames are for the element and parameter files, respectively. The ‘In’ and ‘P’ arguments (between the file names) are the two elements which will be extracted from the element file. The two trailing ‘In’ arguments map LAMMPS atom types 1 and 2 to the SNAP ‘In’ element. The two trailing ‘P’ arguments map LAMMPS atom types 3 and 4 to the SNAP ‘P’ element.</p> <p>If a SNAP mapping value is specified as NULL, the mapping is not performed. This can be used when a <em>snap</em> potential is used as part of the <em>hybrid</em> pair style. The NULL values are placeholders for atom types that will be used with other potentials.</p> <p>The name of the SNAP element file usually ends in the ”.snapcoeff” extension. It may contain coefficients for many SNAP elements. Only those elements listed in the pair_coeff command are extracted. The name of the SNAP parameter file usually ends in the ”.snapparam” extension. It contains a small number of parameters that define the overall form of the SNAP potential. See the <a class="reference internal" href="pair_coeff.html"><em>pair_coeff</em></a> doc page for alternate ways to specify the path for these files.</p> <p>Quite commonly, SNAP potentials are combined with one or more other LAMMPS pair styles using the <em>hybrid/overlay</em> pair style. As an example, the SNAP tantalum potential provided in the LAMMPS potentials directory combines the <em>snap</em> and <em>zbl</em> pair styles. It is invoked by the following commands:</p> <div class="highlight-python"><div class="highlight"><pre>variable zblcutinner equal 4 - variable zblcutouter equal 4.8 - variable zblz equal 73 - pair_style hybrid/overlay & - zbl ${zblcutinner} ${zblcutouter} snap - pair_coeff * * zbl 0.0 - pair_coeff 1 1 zbl ${zblz} - pair_coeff * * snap ../potentials/Ta06A.snapcoeff Ta & - ../potentials/Ta06A.snapparam Ta +variable zblcutouter equal 4.8 +variable zblz equal 73 +pair_style hybrid/overlay & +zbl ${zblcutinner} ${zblcutouter} snap +pair_coeff * * zbl 0.0 +pair_coeff 1 1 zbl ${zblz} +pair_coeff * * snap ../potentials/Ta06A.snapcoeff Ta & +../potentials/Ta06A.snapparam Ta </pre></div> </div> <p>It is convenient to keep these commands in a separate file that can be inserted in any LAMMPS input script using the <a class="reference internal" href="include.html"><em>include</em></a> command.</p> <p>The top of the SNAP element file can contain any number of blank and comment lines (start with #), but follows a strict format after that. The first non-blank non-comment line must contain two integers:</p> <ul class="simple"> <li>nelem = Number of elements</li> <li>ncoeff = Number of coefficients</li> </ul> <p>This is followed by one block for each of the <em>nelem</em> elements. The first line of each block contains three entries:</p> <ul class="simple"> <li>Element symbol (text string)</li> <li>R = Element radius (distance units)</li> <li>w = Element weight (dimensionless)</li> </ul> <p>This line is followed by <em>ncoeff</em> coefficients, one per line.</p> <p>The SNAP parameter file can contain blank and comment lines (start with #) anywhere. Each non-blank non-comment line must contain one keyword/value pair. The required keywords are <em>rcutfac</em> and <em>twojmax</em>. Optional keywords are <em>rfac0</em>, <em>rmin0</em>, <em>diagonalstyle</em>, and <em>switchflag</em>.</p> <p>The default values for these keywords are</p> <ul class="simple"> <li><em>rfac0</em> = 0.99363</li> <li><em>rmin0</em> = 0.0</li> <li><em>diagonalstyle</em> = 3</li> <li><em>switchflag</em> = 0</li> </ul> <p>Detailed definitions of these keywords are given on the <a class="reference internal" href="compute_sna_atom.html"><em>compute sna/atom</em></a> doc page.</p> <hr class="docutils" /> <p><strong>Mixing, shift, table, tail correction, restart, rRESPA info</strong>:</p> <p>For atom type pairs I,J and I != J, where types I and J correspond to two different element types, mixing is performed by LAMMPS with user-specifiable parameters as described above. You never need to specify a pair_coeff command with I != J arguments for this style.</p> <p>This pair style does not support the <a class="reference internal" href="pair_modify.html"><em>pair_modify</em></a> shift, table, and tail options.</p> <p>This pair style does not write its information to <a class="reference internal" href="restart.html"><em>binary restart files</em></a>, since it is stored in potential files. Thus, you need to re-specify the pair_style and pair_coeff commands in an input script that reads a restart file.</p> <p>This pair style can only be used via the <em>pair</em> keyword of the <a class="reference internal" href="run_style.html"><em>run_style respa</em></a> command. It does not support the <em>inner</em>, <em>middle</em>, <em>outer</em> keywords.</p> </div> <hr class="docutils" /> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <p>This style is part of the SNAP package. It is only enabled if LAMMPS was built with that package. See the <a class="reference internal" href="Section_start.html#start-3"><span>Making LAMMPS</span></a> section for more info.</p> </div> <div class="section" id="related-commands"> <h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2> <p><a class="reference internal" href="compute_sna_atom.html"><em>compute sna/atom</em></a>, <a class="reference internal" href="compute_sna_atom.html"><em>compute snad/atom</em></a>, <a class="reference internal" href="compute_sna_atom.html"><em>compute snav/atom</em></a></p> <p><strong>Default:</strong> none</p> <hr class="docutils" /> <p id="thompson2014"><strong>(Thompson)</strong> Thompson, Swiler, Trott, Foiles, Tucker, under review, preprint available at <a class="reference external" href="http://arxiv.org/abs/1409.3880">arXiv:1409.3880</a></p> <p id="bartok2010"><strong>(Bartok2010)</strong> Bartok, Payne, Risi, Csanyi, Phys Rev Lett, 104, 136403 (2010).</p> <p id="bartok2013"><strong>(Bartok2013)</strong> Bartok, Gillan, Manby, Csanyi, Phys Rev B 87, 184115 (2013).</p> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/prd.html b/doc/prd.html index 65833d8c0..07420fc59 100644 --- a/doc/prd.html +++ b/doc/prd.html @@ -1,465 +1,465 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>prd command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>prd command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="prd-command"> <span id="index-0"></span><h1>prd command<a class="headerlink" href="#prd-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>prd N t_event n_dephase t_dephase t_correlate compute-ID seed keyword value ... </pre></div> </div> <ul class="simple"> <li>N = # of timesteps to run (not including dephasing/quenching)</li> <li>t_event = timestep interval between event checks</li> <li>n_dephase = number of velocity randomizations to perform in each dephase run</li> <li>t_dephase = number of timesteps to run dynamics after each velocity randomization during dephase</li> <li>t_correlate = number of timesteps within which 2 consecutive events are considered to be correlated</li> <li>compute-ID = ID of the compute used for event detection</li> <li>random_seed = random # seed (positive integer)</li> <li>zero or more keyword/value pairs may be appended</li> <li>keyword = <em>min</em> or <em>temp</em> or <em>vel</em></li> </ul> <pre class="literal-block"> <em>min</em> values = etol ftol maxiter maxeval - etol = stopping tolerance for energy, used in quenching - ftol = stopping tolerance for force, used in quenching - maxiter = max iterations of minimize, used in quenching - maxeval = max number of force/energy evaluations, used in quenching - <em>temp</em> value = Tdephase - Tdephase = target temperature for velocity randomization, used in dephasing - <em>vel</em> values = loop dist - loop = <em>all</em> or <em>local</em> or <em>geom</em>, used in dephasing - dist = <em>uniform</em> or <em>gaussian</em>, used in dephasing - <em>time</em> value = <em>step</em> or <em>clock</em> - <em>step</em> = simulation runs for N timesteps on each replica (default) - <em>clock</em> = simulation runs for N timesteps across all replicas + etol = stopping tolerance for energy, used in quenching + ftol = stopping tolerance for force, used in quenching + maxiter = max iterations of minimize, used in quenching + maxeval = max number of force/energy evaluations, used in quenching +<em>temp</em> value = Tdephase + Tdephase = target temperature for velocity randomization, used in dephasing +<em>vel</em> values = loop dist + loop = <em>all</em> or <em>local</em> or <em>geom</em>, used in dephasing + dist = <em>uniform</em> or <em>gaussian</em>, used in dephasing +<em>time</em> value = <em>step</em> or <em>clock</em> + <em>step</em> = simulation runs for N timesteps on each replica (default) + <em>clock</em> = simulation runs for N timesteps across all replicas </pre> </div> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>prd 5000 100 10 10 100 1 54982 prd 5000 100 10 10 100 1 54982 min 0.1 0.1 100 200 </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>Run a parallel replica dynamics (PRD) simulation using multiple replicas of a system. One or more replicas can be used. The total number of steps <em>N</em> to run can be interpreted in one of two ways; see discussion of the <em>time</em> keyword below.</p> <p>PRD is described in <a class="reference internal" href="tad.html#voter"><span>this paper</span></a> by Art Voter. It is a method for performing accelerated dynamics that is suitable for infrequent-event systems that obey first-order kinetics. A good overview of accelerated dynamics methods for such systems in given in <a class="reference internal" href="tad.html#voter2"><span>this review paper</span></a> from the same group. To quote from the paper: “The dynamical evolution is characterized by vibrational excursions within a potential basin, punctuated by occasional transitions between basins.” The transition probability is characterized by p(t) = k*exp(-kt) where k is the rate constant. Running multiple replicas gives an effective enhancement in the timescale spanned by the multiple simulations, while waiting for an event to occur.</p> <p>Each replica runs on a partition of one or more processors. Processor partitions are defined at run-time using the -partition command-line switch; see <a class="reference internal" href="Section_start.html#start-7"><span>Section_start 6</span></a> of the manual. Note that if you have MPI installed, you can run a multi-replica simulation with more replicas (partitions) than you have physical processors, e.g you can run a 10-replica simulation on one or two processors. For PRD, this makes little sense, since this offers no effective parallel speed-up in searching for infrequent events. See <a class="reference internal" href="Section_howto.html#howto-5"><span>Section_howto 5</span></a> of the manual for further discussion.</p> <p>When a PRD simulation is performed, it is assumed that each replica is running the same model, though LAMMPS does not check for this. I.e. the simulation domain, the number of atoms, the interaction potentials, etc should be the same for every replica.</p> <p>A PRD run has several stages, which are repeated each time an “event” occurs in one of the replicas, as defined below. The logic for a PRD run is as follows:</p> <div class="highlight-python"><div class="highlight"><pre>while (time remains): dephase for n_dephase*t_dephase steps until (event occurs on some replica): run dynamics for t_event steps quench check for uncorrelated event on any replica until (no correlated event occurs): run dynamics for t_correlate steps quench check for correlated event on this replica event replica shares state with all replicas </pre></div> </div> <p>Before this loop begins, the state of the system on replica 0 is shared with all replicas, so that all replicas begin from the same initial state. The first potential energy basin is identified by quenching (an energy minimization, see below) the initial state and storing the resulting coordinates for reference.</p> <p>In the first stage, dephasing is performed by each replica independently to eliminate correlations between replicas. This is done by choosing a random set of velocities, based on the <em>random_seed</em> that is specified, and running <em>t_dephase</em> timesteps of dynamics. This is repeated <em>n_dephase</em> times. At each of the <em>n_dephase</em> stages, if an event occurs during the <em>t_dephase</em> steps of dynamics for a particular replica, the replica repeats the stage until no event occurs.</p> <p>If the <em>temp</em> keyword is not specified, the target temperature for velocity randomization for each replica is the current temperature of that replica. Otherwise, it is the specified <em>Tdephase</em> temperature. The style of velocity randomization is controlled using the keyword <em>vel</em> with arguments that have the same meaning as their counterparts in the <a class="reference internal" href="velocity.html"><em>velocity</em></a> command.</p> <p>In the second stage, each replica runs dynamics continuously, stopping every <em>t_event</em> steps to check if a transition event has occurred. This check is performed by quenching the system and comparing the resulting atom coordinates to the coordinates from the previous basin. The first time through the PRD loop, the “previous basin” is the set of quenched coordinates from the initial state of the system.</p> <p>A quench is an energy minimization and is performed by whichever algorithm has been defined by the <a class="reference internal" href="min_style.html"><em>min_style</em></a> command. Minimization parameters may be set via the <a class="reference internal" href="min_modify.html"><em>min_modify</em></a> command and by the <em>min</em> keyword of the PRD command. The latter are the settings that would be used with the <a class="reference internal" href="minimize.html"><em>minimize</em></a> command. Note that typically, you do not need to perform a highly-converged minimization to detect a transition event.</p> <p>The event check is performed by a compute with the specified <em>compute-ID</em>. Currently there is only one compute that works with the PRD commmand, which is the <a class="reference internal" href="compute_event_displace.html"><em>compute event/displace</em></a> command. Other event-checking computes may be added. <a class="reference internal" href="compute_event_displace.html"><em>Compute event/displace</em></a> checks whether any atom in the compute group has moved further than a specified threshold distance. If so, an “event” has occurred.</p> <p>In the third stage, the replica on which the event occurred (event replica) continues to run dynamics to search for correlated events. This is done by running dynamics for <em>t_correlate</em> steps, quenching every <em>t_event</em> steps, and checking if another event has occurred.</p> <p>The first time no correlated event occurs, the final state of the event replica is shared with all replicas, the new basin reference coordinates are updated with the quenched state, and the outer loop begins again. While the replica event is searching for correlated events, all the other replicas also run dynamics and event checking with the same schedule, but the final states are always overwritten by the state of the event replica.</p> <p>The outer loop of the pseudo-code above continues until <em>N</em> steps of dynamics have been performed. Note that <em>N</em> only includes the dynamics of stages 2 and 3, not the steps taken during dephasing or the minimization iterations of quenching. The specified <em>N</em> is interpreted in one of two ways, depending on the <em>time</em> keyword. If the <em>time</em> value is <em>step</em>, which is the default, then each replica runs for <em>N</em> timesteps. If the <em>time</em> value is <em>clock</em>, then the simulation runs until <em>N</em> aggregate timesteps across all replicas have elapsed. This aggregate time is the “clock” time defined below, which typically advances nearly M times faster than the timestepping on a single replica.</p> <hr class="docutils" /> <p>Four kinds of output can be generated during a PRD run: event statistics, thermodynamic output by each replica, dump files, and restart files.</p> <p>When running with multiple partitions (each of which is a replica in this case), the print-out to the screen and master log.lammps file is limited to event statistics. Note that if a PRD run is performed on only a single replica then the event statistics will be intermixed with the usual thermodynamic output discussed below.</p> <p>The quantities printed each time an event occurs are the timestep, CPU time, clock, event number, a correlation flag, the number of coincident events, and the replica number of the chosen event.</p> <p>The timestep is the usual LAMMPS timestep, except that time does not advance during dephasing or quenches, but only during dynamics. Note that are two kinds of dynamics in the PRD loop listed above. The first is when all replicas are performing independent dynamics, waiting for an event to occur. The second is when correlated events are being searched for and only one replica is running dynamics.</p> <p>The CPU time is the total processor time since the start of the PRD run.</p> <p>The clock is the same as the timestep except that it advances by M steps every timestep during the first kind of dynamics when the M replicas are running independently. The clock advances by only 1 step per timestep during the second kind of dynamics, since only a single replica is checking for a correlated event. Thus “clock” time represents the aggregate time (in steps) that effectively elapses during a PRD simulation on M replicas. If most of the PRD run is spent in the second stage of the loop above, searching for infrequent events, then the clock will advance nearly M times faster than it would if a single replica was running. Note the clock time between events will be drawn from p(t).</p> <p>The event number is a counter that increments with each event, whether it is uncorrelated or correlated.</p> <p>The correlation flag will be 0 when an uncorrelated event occurs during the second stage of the loop listed above, i.e. when all replicas are running independently. The correlation flag will be 1 when a correlated event occurs during the third stage of the loop listed above, i.e. when only one replica is running dynamics.</p> <p>When more than one replica detects an event at the end of the second stage, then one of them is chosen at random. The number of coincident events is the number of replicas that detected an event. Normally, we expect this value to be 1. If it is often greater than 1, then either the number of replicas is too large, or <em>t_event</em> is too large.</p> <p>The replica number is the ID of the replica (from 0 to M-1) that found the event.</p> <hr class="docutils" /> <p>When running on multiple partitions, LAMMPS produces additional log files for each partition, e.g. log.lammps.0, log.lammps.1, etc. For the PRD command, these contain the thermodynamic output for each replica. You will see short runs and minimizations corresponding to the dynamics and quench operations of the loop listed above. The timestep will be reset aprpopriately depending on whether the operation advances time or not.</p> <p>After the PRD command completes, timing statistics for the PRD run are printed in each replica’s log file, giving a breakdown of how much CPU time was spent in each stage (dephasing, dynamics, quenching, etc).</p> <hr class="docutils" /> <p>Any <a class="reference internal" href="dump.html"><em>dump files</em></a> defined in the input script, will be written to during a PRD run at timesteps corresponding to both uncorrelated and correlated events. This means the the requested dump frequency in the <a class="reference internal" href="dump.html"><em>dump</em></a> command is ignored. There will be one dump file (per dump command) created for all partitions.</p> <p>The atom coordinates of the dump snapshot are those of the minimum energy configuration resulting from quenching following a transition event. The timesteps written into the dump files correspond to the timestep at which the event occurred and NOT the clock. A dump snapshot corresponding to the initial minimum state used for event detection is written to the dump file at the beginning of each PRD run.</p> <hr class="docutils" /> <p>If the <a class="reference internal" href="restart.html"><em>restart</em></a> command is used, a single restart file for all the partitions is generated, which allows a PRD run to be continued by a new input script in the usual manner.</p> <p>The restart file is generated at the end of the loop listed above. If no correlated events are found, this means it contains a snapshot of the system at time T + <em>t_correlate</em>, where T is the time at which the uncorrelated event occurred. If correlated events were found, then it contains a snapshot of the system at time T + <em>t_correlate</em>, where T is the time of the last correlated event.</p> <p>The restart frequency specified in the <a class="reference internal" href="restart.html"><em>restart</em></a> command is interpreted differently when performing a PRD run. It does not mean the timestep interval between restart files. Instead it means an event interval for uncorrelated events. Thus a frequency of 1 means write a restart file every time an uncorrelated event occurs. A frequency of 10 means write a restart file every 10th uncorrelated event.</p> <p>When an input script reads a restart file from a previous PRD run, the new script can be run on a different number of replicas or processors. However, it is assumed that <em>t_correlate</em> in the new PRD command is the same as it was previously. If not, the calculation of the “clock” value for the first event in the new run will be slightly off.</p> </div> <hr class="docutils" /> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <p>This command can only be used if LAMMPS was built with the REPLICA package. See the <a class="reference internal" href="Section_start.html#start-3"><span>Making LAMMPS</span></a> section for more info on packages.</p> <p><em>N</em> and <em>t_correlate</em> settings must be integer multiples of <em>t_event</em>.</p> <p>Runs restarted from restart file written during a PRD run will not produce identical results due to changes in the random numbers used for dephasing.</p> <p>This command cannot be used when any fixes are defined that keep track of elapsed time to perform time-dependent operations. Examples include the “ave” fixes such as <a class="reference internal" href="fix_ave_spatial.html"><em>fix ave/spatial</em></a>. Also <a class="reference internal" href="fix_dt_reset.html"><em>fix dt/reset</em></a> and <a class="reference internal" href="fix_deposit.html"><em>fix deposit</em></a>.</p> </div> <div class="section" id="related-commands"> <h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2> <p><a class="reference internal" href="compute_event_displace.html"><em>compute event/displace</em></a>, <a class="reference internal" href="min_modify.html"><em>min_modify</em></a>, <a class="reference internal" href="min_style.html"><em>min_style</em></a>, <a class="reference internal" href="run_style.html"><em>run_style</em></a>, <a class="reference internal" href="minimize.html"><em>minimize</em></a>, <a class="reference internal" href="velocity.html"><em>velocity</em></a>, <a class="reference internal" href="temper.html"><em>temper</em></a>, <a class="reference internal" href="neb.html"><em>neb</em></a>, <a class="reference internal" href="tad.html"><em>tad</em></a></p> </div> <div class="section" id="default"> <h2>Default<a class="headerlink" href="#default" title="Permalink to this headline">¶</a></h2> <p>The option defaults are min = 0.1 0.1 40 50, no temp setting, vel = geom gaussian, and time = step.</p> <hr class="docutils" /> <p id="voter"><strong>(Voter)</strong> Voter, Phys Rev B, 57, 13985 (1998).</p> <p id="voter2"><strong>(Voter2)</strong> Voter, Montalenti, Germann, Annual Review of Materials Research 32, 321 (2002).</p> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/print.html b/doc/print.html index 12d4d825f..6952113cf 100644 --- a/doc/print.html +++ b/doc/print.html @@ -1,266 +1,266 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>print command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>print command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="print-command"> <span id="index-0"></span><h1>print command<a class="headerlink" href="#print-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>print string keyword value </pre></div> </div> <ul class="simple"> <li>string = text string to print, which may contain variables</li> <li>zero or more keyword/value pairs may be appended</li> <li>keyword = <em>file</em> or <em>append</em> or <em>screen</em></li> </ul> <pre class="literal-block"> <em>file</em> value = filename - <em>append</em> value = filename - <em>screen</em> value = <em>yes</em> or <em>no</em> +<em>append</em> value = filename +<em>screen</em> value = <em>yes</em> or <em>no</em> </pre> </div> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>print "Done with equilibration" file info.dat print Vol=$v append info.dat screen no print "The system volume is now $v" print 'The system volume is now $v' print """ System volume = $v System temperature = $t """ </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>Print a text string to the screen and logfile. The text string must be a single argument, so if it is one line but more than one word, it should be enclosed in single or double quotes. To generate multiple lines of output, the string can be enclosed in triple quotes, as in the last example above. If the text string contains variables, they will be evaluated and their current values printed.</p> <p>If the <em>file</em> or <em>append</em> keyword is used, a filename is specified to which the output will be written. If <em>file</em> is used, then the filename is overwritten if it already exists. If <em>append</em> is used, then the filename is appended to if it already exists, or created if it does not exist.</p> <p>If the <em>screen</em> keyword is used, output to the screen and logfile can be turned on or off as desired.</p> <p>If you want the print command to be executed multiple times (with changing variable values), there are 3 options. First, consider using the <a class="reference internal" href="fix_print.html"><em>fix print</em></a> command, which will print a string periodically during a simulation. Second, the print command can be used as an argument to the <em>every</em> option of the <a class="reference internal" href="run.html"><em>run</em></a> command. Third, the print command could appear in a section of the input script that is looped over (see the <a class="reference internal" href="jump.html"><em>jump</em></a> and <a class="reference internal" href="next.html"><em>next</em></a> commands).</p> <p>See the <a class="reference internal" href="variable.html"><em>variable</em></a> command for a description of <em>equal</em> style variables which are typically the most useful ones to use with the print command. Equal-style variables can calculate formulas involving mathematical operations, atom properties, group properties, thermodynamic properties, global values calculated by a <a class="reference internal" href="compute.html"><em>compute</em></a> or <a class="reference internal" href="fix.html"><em>fix</em></a>, or references to other <a class="reference internal" href="variable.html"><em>variables</em></a>.</p> </div> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <blockquote> <div>none</div></blockquote> </div> <div class="section" id="related-commands"> <h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2> <p><a class="reference internal" href="fix_print.html"><em>fix print</em></a>, <a class="reference internal" href="variable.html"><em>variable</em></a></p> </div> <div class="section" id="default"> <h2>Default<a class="headerlink" href="#default" title="Permalink to this headline">¶</a></h2> <p>The option defaults are no file output and screen = yes.</p> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/processors.html b/doc/processors.html index e12d52561..29c6d2ba4 100644 --- a/doc/processors.html +++ b/doc/processors.html @@ -1,500 +1,500 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>processors command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>processors command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="processors-command"> <span id="index-0"></span><h1>processors command<a class="headerlink" href="#processors-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>processors Px Py Pz keyword args ... </pre></div> </div> <ul class="simple"> <li>Px,Py,Pz = # of processors in each dimension of 3d grid overlaying the simulation domain</li> <li>zero or more keyword/arg pairs may be appended</li> <li>keyword = <em>grid</em> or <em>map</em> or <em>part</em> or <em>file</em></li> </ul> <pre class="literal-block"> <em>grid</em> arg = gstyle params ... - gstyle = <em>onelevel</em> or <em>twolevel</em> or <em>numa</em> or <em>custom</em> - onelevel params = none - twolevel params = Nc Cx Cy Cz - Nc = number of cores per node - Cx,Cy,Cz = # of cores in each dimension of 3d sub-grid assigned to each node - numa params = none - custom params = infile - infile = file containing grid layout - <em>map</em> arg = <em>cart</em> or <em>cart/reorder</em> or <em>xyz</em> or <em>xzy</em> or <em>yxz</em> or <em>yzx</em> or <em>zxy</em> or <em>zyx</em> - cart = use MPI_Cart() methods to map processors to 3d grid with reorder = 0 - cart/reorder = use MPI_Cart() methods to map processors to 3d grid with reorder = 1 - xyz,xzy,yxz,yzx,zxy,zyx = map procesors to 3d grid in IJK ordering - <em>numa</em> arg = none - <em>part</em> args = Psend Precv cstyle - Psend = partition # (1 to Np) which will send its processor layout - Precv = partition # (1 to Np) which will recv the processor layout - cstyle = <em>multiple</em> - <em>multiple</em> = Psend grid will be multiple of Precv grid in each dimension - <em>file</em> arg = outfile - outfile = name of file to write 3d grid of processors to + gstyle = <em>onelevel</em> or <em>twolevel</em> or <em>numa</em> or <em>custom</em> + onelevel params = none + twolevel params = Nc Cx Cy Cz + Nc = number of cores per node + Cx,Cy,Cz = # of cores in each dimension of 3d sub-grid assigned to each node + numa params = none + custom params = infile + infile = file containing grid layout +<em>map</em> arg = <em>cart</em> or <em>cart/reorder</em> or <em>xyz</em> or <em>xzy</em> or <em>yxz</em> or <em>yzx</em> or <em>zxy</em> or <em>zyx</em> + cart = use MPI_Cart() methods to map processors to 3d grid with reorder = 0 + cart/reorder = use MPI_Cart() methods to map processors to 3d grid with reorder = 1 + xyz,xzy,yxz,yzx,zxy,zyx = map procesors to 3d grid in IJK ordering +<em>numa</em> arg = none +<em>part</em> args = Psend Precv cstyle + Psend = partition # (1 to Np) which will send its processor layout + Precv = partition # (1 to Np) which will recv the processor layout + cstyle = <em>multiple</em> + <em>multiple</em> = Psend grid will be multiple of Precv grid in each dimension +<em>file</em> arg = outfile + outfile = name of file to write 3d grid of processors to </pre> </div> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>processors * * 5 processors 2 4 4 processors * * 8 map xyz processors * * * grid numa processors * * * grid twolevel 4 * * 1 processors 4 8 16 grid custom myfile processors * * * part 1 2 multiple </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>Specify how processors are mapped as a regular 3d grid to the global simulation box. The mapping involves 2 steps. First if there are P processors it means choosing a factorization P = Px by Py by Pz so that there are Px processors in the x dimension, and similarly for the y and z dimensions. Second, the P processors are mapped to the regular 3d grid. The arguments to this command control each of these 2 steps.</p> <p>The Px, Py, Pz parameters affect the factorization. Any of the 3 parameters can be specified with an asterisk “*”, which means LAMMPS will choose the number of processors in that dimension of the grid. It will do this based on the size and shape of the global simulation box so as to minimize the surface-to-volume ratio of each processor’s sub-domain.</p> <p>Choosing explicit values for Px or Py or Pz can be used to override the default manner in which LAMMPS will create the regular 3d grid of processors, if it is known to be sub-optimal for a particular problem. E.g. a problem where the extent of atoms will change dramatically in a particular dimension over the course of the simulation.</p> <p>The product of Px, Py, Pz must equal P, the total # of processors LAMMPS is running on. For a <a class="reference internal" href="dimension.html"><em>2d simulation</em></a>, Pz must equal 1.</p> <p>Note that if you run on a prime number of processors P, then a grid such as 1 x P x 1 will be required, which may incur extra communication costs due to the high surface area of each processor’s sub-domain.</p> <p>Also note that if multiple partitions are being used then P is the number of processors in this partition; see <a class="reference internal" href="Section_start.html#start-7"><span>this section</span></a> for an explanation of the -partition command-line switch. Also note that you can prefix the processors command with the <a class="reference internal" href="partition.html"><em>partition</em></a> command to easily specify different Px,Py,Pz values for different partitions.</p> <p>You can use the <a class="reference internal" href="partition.html"><em>partition</em></a> command to specify different processor grids for different partitions, e.g.</p> <div class="highlight-python"><div class="highlight"><pre>partition yes 1 processors 4 4 4 partition yes 2 processors 2 3 2 </pre></div> </div> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">This command only affects the initial regular 3d grid created when the simulation box is first specified via a <a class="reference internal" href="create_box.html"><em>create_box</em></a> or <a class="reference internal" href="read_data.html"><em>read_data</em></a> or <a class="reference internal" href="read_restart.html"><em>read_restart</em></a> command. Or if the simulation box is re-created via the <a class="reference internal" href="replicate.html"><em>replicate</em></a> command. The same regular grid is initially created, regardless of which <a class="reference internal" href="comm_style.html"><em>comm_style</em></a> command is in effect.</p> </div> <p>If load-balancing is never invoked via the <a class="reference internal" href="balance.html"><em>balance</em></a> or <a class="reference internal" href="fix_balance.html"><em>fix balance</em></a> commands, then the initial regular grid will persist for all simulations. If balancing is performed, some of the methods invoked by those commands retain the logical toplogy of the initial 3d grid, and the mapping of processors to the grid specified by the processors command. However the grid spacings in different dimensions may change, so that processors own sub-domains of different sizes. If the <a class="reference internal" href="comm_style.html"><em>comm_style tiled</em></a> command is used, methods invoked by the balancing commands may discard the 3d grid of processors and tile the simulation domain with sub-domains of different sizes and shapes which no longer have a logical 3d connectivity. If that occurs, all the information specified by the processors command is ignored.</p> <hr class="docutils" /> <p>The <em>grid</em> keyword affects the factorization of P into Px,Py,Pz and it can also affect how the P processor IDs are mapped to the 3d grid of processors.</p> <p>The <em>onelevel</em> style creates a 3d grid that is compatible with the Px,Py,Pz settings, and which minimizes the surface-to-volume ratio of each processor’s sub-domain, as described above. The mapping of processors to the grid is determined by the <em>map</em> keyword setting.</p> <p>The <em>twolevel</em> style can be used on machines with multicore nodes to minimize off-node communication. It insures that contiguous sub-sections of the 3d grid are assigned to all the cores of a node. For example if <em>Nc</em> is 4, then 2x2x1 or 2x1x2 or 1x2x2 sub-sections of the 3d grid will correspond to the cores of each node. This affects both the factorization and mapping steps.</p> <p>The <em>Cx</em>, <em>Cy</em>, <em>Cz</em> settings are similar to the <em>Px</em>, <em>Py</em>, <em>Pz</em> settings, only their product should equal <em>Nc</em>. Any of the 3 parameters can be specified with an asterisk “*”, which means LAMMPS will choose the number of cores in that dimension of the node’s sub-grid. As with Px,Py,Pz, it will do this based on the size and shape of the global simulation box so as to minimize the surface-to-volume ratio of each processor’s sub-domain.</p> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">For the <em>twolevel</em> style to work correctly, it assumes the MPI ranks of processors LAMMPS is running on are ordered by core and then by node. E.g. if you are running on 2 quad-core nodes, for a total of 8 processors, then it assumes processors 0,1,2,3 are on node 1, and processors 4,5,6,7 are on node 2. This is the default rank ordering for most MPI implementations, but some MPIs provide options for this ordering, e.g. via environment variable settings.</p> </div> <p>The <em>numa</em> style operates similar to the <em>twolevel</em> keyword except that it auto-detects which cores are running on which nodes. Currently, it does this in only 2 levels, but it may be extended in the future to account for socket topology and other non-uniform memory access (NUMA) costs. It also uses a different algorithm than the <em>twolevel</em> keyword for doing the two-level factorization of the simulation box into a 3d processor grid to minimize off-node communication, and it does its own MPI-based mapping of nodes and cores to the regular 3d grid. Thus it may produce a different layout of the processors than the <em>twolevel</em> options.</p> <p>The <em>numa</em> style will give an error if the number of MPI processes is not divisible by the number of cores used per node, or any of the Px or Py of Pz values is greater than 1.</p> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">Unlike the <em>twolevel</em> style, the <em>numa</em> style does not require any particular ordering of MPI ranks i norder to work correctly. This is because it auto-detects which processes are running on which nodes.</p> </div> <p>The <em>custom</em> style uses the file <em>infile</em> to define both the 3d factorization and the mapping of processors to the grid.</p> <p>The file should have the following format. Any number of initial blank or comment lines (starting with a “#” character) can be present. The first non-blank, non-comment line should have 3 values:</p> <div class="highlight-python"><div class="highlight"><pre>Px Py Py </pre></div> </div> <p>These must be compatible with the total number of processors and the Px, Py, Pz settings of the processors commmand.</p> <p>This line should be immediately followed by P = Px*Py*Pz lines of the form:</p> <div class="highlight-python"><div class="highlight"><pre>ID I J K </pre></div> </div> <p>where ID is a processor ID (from 0 to P-1) and I,J,K are the processors location in the 3d grid. I must be a number from 1 to Px (inclusive) and similarly for J and K. The P lines can be listed in any order, but no processor ID should appear more than once.</p> <hr class="docutils" /> <p>The <em>map</em> keyword affects how the P processor IDs (from 0 to P-1) are mapped to the 3d grid of processors. It is only used by the <em>onelevel</em> and <em>twolevel</em> grid settings.</p> <p>The <em>cart</em> style uses the family of MPI Cartesian functions to perform the mapping, namely MPI_Cart_create(), MPI_Cart_get(), MPI_Cart_shift(), and MPI_Cart_rank(). It invokes the MPI_Cart_create() function with its reorder flag = 0, so that MPI is not free to reorder the processors.</p> <p>The <em>cart/reorder</em> style does the same thing as the <em>cart</em> style except it sets the reorder flag to 1, so that MPI can reorder processors if it desires.</p> <p>The <em>xyz</em>, <em>xzy</em>, <em>yxz</em>, <em>yzx</em>, <em>zxy</em>, and <em>zyx</em> styles are all similar. If the style is IJK, then it maps the P processors to the grid so that the processor ID in the I direction varies fastest, the processor ID in the J direction varies next fastest, and the processor ID in the K direction varies slowest. For example, if you select style <em>xyz</em> and you have a 2x2x2 grid of 8 processors, the assignments of the 8 octants of the simulation domain will be:</p> <div class="highlight-python"><div class="highlight"><pre>proc 0 = lo x, lo y, lo z octant proc 1 = hi x, lo y, lo z octant proc 2 = lo x, hi y, lo z octant proc 3 = hi x, hi y, lo z octant proc 4 = lo x, lo y, hi z octant proc 5 = hi x, lo y, hi z octant proc 6 = lo x, hi y, hi z octant proc 7 = hi x, hi y, hi z octant </pre></div> </div> <p>Note that, in principle, an MPI implementation on a particular machine should be aware of both the machine’s network topology and the specific subset of processors and nodes that were assigned to your simulation. Thus its MPI_Cart calls can optimize the assignment of MPI processes to the 3d grid to minimize communication costs. In practice, however, few if any MPI implementations actually do this. So it is likely that the <em>cart</em> and <em>cart/reorder</em> styles simply give the same result as one of the IJK styles.</p> <p>Also note, that for the <em>twolevel</em> grid style, the <em>map</em> setting is used to first map the nodes to the 3d grid, then again to the cores within each node. For the latter step, the <em>cart</em> and <em>cart/reorder</em> styles are not supported, so an <em>xyz</em> style is used in their place.</p> <hr class="docutils" /> <p>The <em>part</em> keyword affects the factorization of P into Px,Py,Pz.</p> <p>It can be useful when running in multi-partition mode, e.g. with the <a class="reference internal" href="run_style.html"><em>run_style verlet/split</em></a> command. It specifies a dependency bewteen a sending partition <em>Psend</em> and a receiving partition <em>Precv</em> which is enforced when each is setting up their own mapping of their processors to the simulation box. Each of <em>Psend</em> and <em>Precv</em> must be integers from 1 to Np, where Np is the number of partitions you have defined via the <a class="reference internal" href="Section_start.html#start-7"><span>-partition command-line switch</span></a>.</p> <p>A “dependency” means that the sending partition will create its regular 3d grid as Px by Py by Pz and after it has done this, it will send the Px,Py,Pz values to the receiving partition. The receiving partition will wait to receive these values before creating its own regular 3d grid and will use the sender’s Px,Py,Pz values as a constraint. The nature of the constraint is determined by the <em>cstyle</em> argument.</p> <p>For a <em>cstyle</em> of <em>multiple</em>, each dimension of the sender’s processor grid is required to be an integer multiple of the corresponding dimension in the receiver’s processor grid. This is a requirement of the <a class="reference internal" href="run_style.html"><em>run_style verlet/split</em></a> command.</p> <p>For example, assume the sending partition creates a 4x6x10 grid = 240 processor grid. If the receiving partition is running on 80 processors, it could create a 4x2x10 grid, but it will not create a 2x4x10 grid, since in the y-dimension, 6 is not an integer multiple of 4.</p> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">If you use the <a class="reference internal" href="partition.html"><em>partition</em></a> command to invoke different “processsors” commands on different partitions, and you also use the <em>part</em> keyword, then you must insure that both the sending and receiving partitions invoke the “processors” command that connects the 2 partitions via the <em>part</em> keyword. LAMMPS cannot easily check for this, but your simulation will likely hang in its setup phase if this error has been made.</p> </div> <hr class="docutils" /> <p>The <em>file</em> keyword writes the mapping of the factorization of P processors and their mapping to the 3d grid to the specified file <em>outfile</em>. This is useful to check that you assigned physical processors in the manner you desired, which can be tricky to figure out, especially when running on multiple partitions or on, a multicore machine or when the processor ranks were reordered by use of the <a class="reference internal" href="Section_start.html#start-7"><span>-reorder command-line switch</span></a> or due to use of MPI-specific launch options such as a config file.</p> <p>If you have multiple partitions you should insure that each one writes to a different file, e.g. using a <a class="reference internal" href="variable.html"><em>world-style variable</em></a> for the filename. The file has a self-explanatory header, followed by one-line per processor in this format:</p> <p>world-ID universe-ID original-ID: I J K: name</p> <p>The IDs are the processor’s rank in this simulation (the world), the universe (of multiple simulations), and the original MPI communicator used to instantiate LAMMPS, respectively. The world and universe IDs will only be different if you are running on more than one partition; see the <a class="reference internal" href="Section_start.html#start-7"><span>-partition command-line switch</span></a>. The universe and original IDs will only be different if you used the <a class="reference internal" href="Section_start.html#start-7"><span>-reorder command-line switch</span></a> to reorder the processors differently than their rank in the original communicator LAMMPS was instantiated with.</p> <p>I,J,K are the indices of the processor in the regular 3d grid, each from 1 to Nd, where Nd is the number of processors in that dimension of the grid.</p> <p>The <em>name</em> is what is returned by a call to MPI_Get_processor_name() and should represent an identifier relevant to the physical processors in your machine. Note that depending on the MPI implementation, multiple cores can have the same <em>name</em>.</p> </div> <hr class="docutils" /> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <p>This command cannot be used after the simulation box is defined by a <a class="reference internal" href="read_data.html"><em>read_data</em></a> or <a class="reference internal" href="create_box.html"><em>create_box</em></a> command. It can be used before a restart file is read to change the 3d processor grid from what is specified in the restart file.</p> <p>The <em>grid numa</em> keyword only currently works with the <em>map cart</em> option.</p> <p>The <em>part</em> keyword (for the receiving partition) only works with the <em>grid onelevel</em> or <em>grid twolevel</em> options.</p> </div> <div class="section" id="related-commands"> <h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2> <p><a class="reference internal" href="partition.html"><em>partition</em></a>, <a class="reference internal" href="Section_start.html#start-7"><span>-reorder command-line switch</span></a></p> </div> <div class="section" id="default"> <h2>Default<a class="headerlink" href="#default" title="Permalink to this headline">¶</a></h2> <p>The option defaults are Px Py Pz = * * <a href="#id1"><span class="problematic" id="id2">*</span></a>, grid = onelevel, and map = cart.</p> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/python.html b/doc/python.html index bc569c174..7f76f45a3 100644 --- a/doc/python.html +++ b/doc/python.html @@ -1,640 +1,640 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>python command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>python command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="python-command"> <span id="index-0"></span><h1>python command<a class="headerlink" href="#python-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>python func keyword args ... </pre></div> </div> <ul class="simple"> <li>func = name of Python function</li> <li>one or more keyword/args pairs must be appended</li> </ul> <pre class="literal-block"> keyword = <em>invoke</em> or <em>input</em> or <em>return</em> or <em>format</em> or <em>file</em> or <em>here</em> or <em>exists</em> <em>invoke</em> arg = none = invoke the previously defined Python function <em>input</em> args = N i1 i2 ... iN N = # of inputs to function i1,...,iN = value, SELF, or LAMMPS variable name value = integer number, floating point number, or string SELF = reference to LAMMPS itself which can be accessed by Python function variable = v_name, where name = name of LAMMPS variable, e.g. v_abc <em>return</em> arg = varReturn varReturn = v_name = LAMMPS variable name which return value of function will be assigned to <em>format</em> arg = fstring with M characters M = N if no return value, where N = # of inputs M = N+1 if there is a return value fstring = each character (i,f,s,p) corresponds in order to an input or return value 'i' = integer, 'f' = floating point, 's' = string, 'p' = SELF <em>file</em> arg = filename filename = file of Python code, which defines func <em>here</em> arg = inline inline = one or more lines of Python code which defines func must be a single argument, typically enclosed between triple quotes <em>exists</em> arg = none = Python code has been loaded by previous python command </pre> </div> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>python pForce input 2 v_x 20.0 return v_f format fff file force.py python pForce invoke </pre></div> </div> <div class="highlight-python"><div class="highlight"><pre>python factorial input 1 myN return v_fac format ii here """ def factorial(n): if n == 1: return n return n * factorial(n-1) """ </pre></div> </div> <div class="highlight-python"><div class="highlight"><pre>python loop input 1 SELF return v_value format -f here """ def loop(lmpptr,N,cut0): from lammps import lammps lmp = lammps(ptr=lmpptr) </pre></div> </div> <div class="highlight-python"><div class="highlight"><pre><span class="c"># loop N times, increasing cutoff each time</span> </pre></div> </div> -<div class="highlight-python"><div class="highlight"><pre>for i in range(N): - cut = cut0 + i*0.1 - lmp.set_variable("cut",cut) # set a variable in LAMMPS - lmp.command("pair_style lj/cut $*cut*") # LAMMPS commands - lmp.command("pair_coeff * * 1.0 1.0") - lmp.command("run 100") - """ +<div class="highlight-python"><div class="highlight"><pre> for i in range(N): + cut = cut0 + i*0.1 + lmp.set_variable("cut",cut) # set a variable in LAMMPS + lmp.command("pair_style lj/cut $*cut*") # LAMMPS commands + lmp.command("pair_coeff * * 1.0 1.0") + lmp.command("run 100") +""" </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">It is not currently possible to use the <a class="reference internal" href=""><em>python</em></a> command described in this section with Python 3, only with Python 2. The C API changed from Python 2 to 3 and the LAMMPS code is not compatible with both.</p> </div> <p>Define a Python function or execute a previously defined function. Arguments, including LAMMPS variables, can be passed to the function from the LAMMPS input script and a value returned by the Python function to a LAMMPS variable. The Python code for the function can be included directly in the input script or in a separate Python file. The function can be standard Python code or it can make “callbacks” to LAMMPS through its library interface to query or set internal values within LAMMPS. This is a powerful mechanism for performing complex operations in a LAMMPS input script that are not possible with the simple input script and variable syntax which LAMMPS defines. Thus your input script can operate more like a true programming language.</p> <p>Use of this command requires building LAMMPS with the PYTHON package which links to the Python library so that the Python interpreter is embedded in LAMMPS. More details about this process are given below.</p> <p>There are two ways to invoke a Python function once it has been defined. One is using the <em>invoke</em> keyword. The other is to assign the function to a <a class="reference internal" href="variable.html"><em>python-style variable</em></a> defined in your input script. Whenever the variable is evaluated, it will execute the Python function to assign a value to the variable. Note that variables can be evaluated in many different ways within LAMMPS. They can be substituted for directly in an input script. Or they can be passed to various commands as arguments, so that the variable is evaluated during a simulation run.</p> <p>A broader overview of how Python can be used with LAMMPS is given in <a class="reference internal" href="Section_python.html"><em>Section python</em></a>. There is an examples/python directory which illustrates use of the python command.</p> <hr class="docutils" /> <p>The <em>func</em> setting specifies the name of the Python function. The code for the function is defined using the <em>file</em> or <em>here</em> keywords as explained below.</p> <p>If the <em>invoke</em> keyword is used, no other keywords can be used, and a previous python command must have defined the Python function referenced by this command. This invokes the Python function with the previously defined arguments and return value processed as explained below. You can invoke the function as many times as you wish in your input script.</p> <p>The <em>input</em> keyword defines how many arguments <em>N</em> the Python function expects. If it takes no arguments, then the <em>input</em> keyword should not be used. Each argument can be specified directly as a value, e.g. 6 or 3.14159 or abc (a string of characters). The type of each argument is specified by the <em>format</em> keyword as explained below, so that Python will know how to interpret the value. If the word SELF is used for an argument it has a special meaning. A pointer is passed to the Python function which it converts into a reference to LAMMPS itself. This enables the function to call back to LAMMPS through its library interface as explained below. This allows the Python function to query or set values internal to LAMMPS which can affect the subsequent execution of the input script. A LAMMPS variable can also be used as an argument, specified as v_name, where “name” is the name of the variable. Any style of LAMMPS variable can be used, as defined by the <a class="reference internal" href="variable.html"><em>variable</em></a> command. Each time the Python function is invoked, the LAMMPS variable is evaluated and its value is passed to the Python function.</p> <p>The <em>return</em> keyword is only needed if the Python function returns a value. The specified <em>varReturn</em> must be of the form v_name, where “name” is the name of a python-style LAMMPS variable, defined by the <a class="reference internal" href="variable.html"><em>variable</em></a> command. The Python function can return a numeric or string value, as specified by the <em>format</em> keyword.</p> <p>As explained on the <a class="reference internal" href="variable.html"><em>variable</em></a> doc page, the definition of a python-style variable associates a Python function name with the variable. This must match the <em>func</em> setting for this command. For exampe these two commands would be self-consistent:</p> <div class="highlight-python"><div class="highlight"><pre>variable foo python myMultiply python myMultiply return v_foo format f file funcs.py </pre></div> </div> <p>The two commands can appear in either order in the input script so long as both are specified before the Python function is invoked for the first time.</p> <p>The <em>format</em> keyword must be used if the <em>input</em> or <em>return</em> keyword is used. It defines an <em>fstring</em> with M characters, where M = sum of number of inputs and outputs. The order of characters corresponds to the N inputs, followed by the return value (if it exists). Each character must be one of the following: “i” for integer, “f” for floating point, “s” for string, or “p” for SELF. Each character defines the type of the corresponding input or output value of the Python function and affects the type conversion that is performed internally as data is passed back and forth between LAMMPS and Python. Note that it is permissible to use a <a class="reference internal" href="variable.html"><em>python-style variable</em></a> in a LAMMPS command that allows for an equal-style variable as an argument, but only if the output of the Python function is flagged as a numeric value (“i” or “f”) via the <em>format</em> keyword.</p> <p>Either the <em>file</em>, <em>here</em>, or <em>exists</em> keyword must be used, but only one of them. These keywords specify what Python code to load into the Python interpreter. The <em>file</em> keyword gives the name of a file, which should end with a ”.py” suffix, which contains Python code. The code will be immediately loaded into and run in the “main” module of the Python interpreter. Note that Python code which contains a function definition does not “execute” the function when it is run; it simply defines the function so that it can be invoked later.</p> <p>The <em>here</em> keyword does the same thing, except that the Python code follows as a single argument to the <em>here</em> keyword. This can be done using triple quotes as delimiters, as in the examples above. This allows Python code to be listed verbatim in your input script, with proper indentation, blank lines, and comments, as desired. See <a class="reference internal" href="Section_commands.html#cmd-2"><span>Section 3.2</span></a>, for an explanation of how triple quotes can be used as part of input script syntax.</p> <p>The <em>exists</em> keyword takes no argument. It means that Python code containing the required Python function defined by the <em>func</em> setting, is assumed to have been previously loaded by another python command.</p> <p>Note that the Python code that is loaded and run must contain a function with the specified <em>func</em> name. To operate properly when later invoked, the the function code must match the <em>input</em> and <em>return</em> and <em>format</em> keywords specified by the python command. Otherwise Python will generate an error.</p> <hr class="docutils" /> <p>This section describes how Python code can be written to work with LAMMPS.</p> <p>Whether you load Python code from a file or directly from your input script, via the <em>file</em> and <em>here</em> keywords, the code can be identical. It must be indented properly as Python requires. It can contain comments or blank lines. If the code is in your input script, it cannot however contain triple-quoted Python strings, since that will conflict with the triple-quote parsing that the LAMMPS input script performs.</p> <p>All the Python code you specify via one or more python commands is loaded into the Python “main” module, i.e. __main__. The code can define global variables or statements that are outside of function definitions. It can contain multiple functions, only one of which matches the <em>func</em> setting in the python command. This means you can use the <em>file</em> keyword once to load several functions, and the <em>exists</em> keyword thereafter in subsequent python commands to access the other functions previously loaded.</p> <p>A Python function you define (or more generally, the code you load) can import other Python modules or classes, it can make calls to other system functions or functions you define, and it can access or modify global variables (in the “main” module) which will persist between successive function calls. The latter can be useful, for example, to prevent a function from being invoke multiple times per timestep by different commands in a LAMMPS input script that access the returned python-style variable associated with the function. For example, consider this function loaded with two global variables defined outside the function:</p> <div class="highlight-python"><div class="highlight"><pre><span class="n">nsteplast</span> <span class="o">=</span> <span class="o">-</span><span class="mi">1</span> <span class="n">nvaluelast</span> <span class="o">=</span> <span class="mi">0</span> </pre></div> </div> <div class="highlight-python"><div class="highlight"><pre><span class="k">def</span> <span class="nf">expensive</span><span class="p">(</span><span class="n">nstep</span><span class="p">):</span> <span class="k">global</span> <span class="n">nsteplast</span><span class="p">,</span><span class="n">nvaluelast</span> <span class="k">if</span> <span class="n">nstep</span> <span class="o">==</span> <span class="n">nsteplast</span><span class="p">:</span> <span class="k">return</span> <span class="n">nvaluelast</span> <span class="n">nsteplast</span> <span class="o">=</span> <span class="n">nstep</span> <span class="c"># perform complicated calculation</span> <span class="n">nvalue</span> <span class="o">=</span> <span class="o">...</span> <span class="n">nvaluelast</span> <span class="o">=</span> <span class="n">nvalue</span> <span class="k">return</span> <span class="n">nvalue</span> </pre></div> </div> <p>Nsteplast stores the previous timestep the function was invoked (passed as an argument to the function). Nvaluelast stores the return value computed on the last function invocation. If the function is invoked again on the same timestep, the previous value is simply returned, without re-computing it. The “global” statement inside the Python function allows it to overwrite the global variables.</p> <p>Note that if you load Python code multiple times (via multiple python commands), you can overwrite previously loaded variables and functions if you are not careful. E.g. if the code above were loaded twice, the global variables would be re-initialized, which might not be what you want. Likewise, if a function with the same name exists in two chunks of Python code you load, the function loaded second will override the function loaded first.</p> <p>It’s important to realize that if you are running LAMMPS in parallel, each MPI task will load the Python interpreter and execute a local copy of the Python function(s) you define. There is no connection between the Python interpreters running on different processors. This implies three important things.</p> <p>First, if you put a print statement in your Python function, you will see P copies of the output, when running on P processors. If the prints occur at (nearly) the same time, the P copies of the output may be mixed together. Welcome to the world of parallel programming and debugging.</p> <p>Second, if your Python code loads modules that are not pre-loaded by the Python library, then it will load the module from disk. This may be a bottleneck if 1000s of processors try to load a module at the same time. On some large supercomputers, loading of modules from disk by Python may be disabled. In this case you would need to pre-build a Python library that has the required modules pre-loaded and link LAMMPS with that library.</p> <p>Third, if your Python code calls back to LAMMPS (discussed in the next section) and causes LAMMPS to perform an MPI operation requires global communication (e.g. via MPI_Allreduce), such as computing the global temperature of the system, then you must insure all your Python functions (running independently on different processors) call back to LAMMPS. Otherwise the code may hang.</p> <hr class="docutils" /> <p>Your Python function can “call back” to LAMMPS through its library interface, if you use the SELF input to pass Python a pointer to LAMMPS. The mechanism for doing this in your Python function is as follows:</p> <div class="highlight-python"><div class="highlight"><pre><span class="k">def</span> <span class="nf">foo</span><span class="p">(</span><span class="n">lmpptr</span><span class="p">,</span><span class="o">...</span><span class="p">):</span> <span class="kn">from</span> <span class="nn">lammps</span> <span class="kn">import</span> <span class="n">lammps</span> <span class="n">lmp</span> <span class="o">=</span> <span class="n">lammps</span><span class="p">(</span><span class="n">ptr</span><span class="o">=</span><span class="n">lmpptr</span><span class="p">)</span> <span class="n">lmp</span><span class="o">.</span><span class="n">command</span><span class="p">(</span><span class="s">'print "Hello from inside Python"'</span><span class="p">)</span> <span class="o">...</span> </pre></div> </div> <p>The function definition must include a variable (lmpptr in this case) which corresponds to SELF in the python command. The first line of the function imports the Python module lammps.py in the python dir of the distribution. The second line creates a Python object “lmp” which wraps the instance of LAMMPS that called the function. The “ptr=lmpptr” argument is what makes that happen. The thrid line invokes the command() function in the LAMMPS library interface. It takes a single string argument which is a LAMMPS input script command for LAMMPS to execute, the same as if it appeared in your input script. In this case, LAMMPS should output</p> <div class="highlight-python"><div class="highlight"><pre>Hello from inside Python </pre></div> </div> <p>to the screen and log file. Note that since the LAMMPS print command itself takes a string in quotes as its argument, the Python string must be delimited with a different style of quotes.</p> <p><a class="reference internal" href="Section_python.html#py-7"><span>Section 11.7</span></a> describes the syntax for how Python wraps the various functions included in the LAMMPS library interface.</p> <p>A more interesting example is in the examples/python/in.python script which loads and runs the following function from examples/python/funcs.py:</p> <div class="highlight-python"><div class="highlight"><pre>def loop(N,cut0,thresh,lmpptr): print "LOOP ARGS",N,cut0,thresh,lmpptr from lammps import lammps lmp = lammps(ptr=lmpptr) natoms = lmp.get_natoms() </pre></div> </div> <div class="highlight-python"><div class="highlight"><pre><span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">N</span><span class="p">):</span> - <span class="n">cut</span> <span class="o">=</span> <span class="n">cut0</span> <span class="o">+</span> <span class="n">i</span><span class="o">*</span><span class="mf">0.1</span> + <span class="n">cut</span> <span class="o">=</span> <span class="n">cut0</span> <span class="o">+</span> <span class="n">i</span><span class="o">*</span><span class="mf">0.1</span> </pre></div> </div> -<div class="highlight-python"><div class="highlight"><pre>lmp.set_variable("cut",cut) # set a variable in LAMMPS - lmp.command("pair_style lj/cut $*cut*") # LAMMPS command - #lmp.command("pair_style lj/cut %d" % cut) # LAMMPS command option +<div class="highlight-python"><div class="highlight"><pre><span class="n">lmp</span><span class="o">.</span><span class="n">set_variable</span><span class="p">(</span><span class="s">"cut"</span><span class="p">,</span><span class="n">cut</span><span class="p">)</span> <span class="c"># set a variable in LAMMPS</span> +<span class="n">lmp</span><span class="o">.</span><span class="n">command</span><span class="p">(</span><span class="s">"pair_style lj/cut $*cut*"</span><span class="p">)</span> <span class="c"># LAMMPS command</span> +<span class="c">#lmp.command("pair_style lj/cut %d" % cut) # LAMMPS command option</span> </pre></div> </div> <div class="highlight-python"><div class="highlight"><pre>lmp.command("pair_coeff * * 1.0 1.0") # ditto - lmp.command("run 10") # ditto - pe = lmp.extract_compute("thermo_pe",0,0) # extract total PE from LAMMPS - print "PE",pe/natoms,thresh - if pe/natoms < thresh: return +lmp.command("run 10") # ditto +pe = lmp.extract_compute("thermo_pe",0,0) # extract total PE from LAMMPS +print "PE",pe/natoms,thresh +if pe/natoms < thresh: return </pre></div> </div> <p>with these input script commands:</p> <div class="highlight-python"><div class="highlight"><pre>python loop input 4 10 1.0 -4.0 SELF format iffp file funcs.py python loop invoke </pre></div> </div> <p>This has the effect of looping over a series of 10 short runs (10 timesteps each) where the pair style cutoff is increased from a value of 1.0 in distance units, in increments of 0.1. The looping stops when the per-atom potential energy falls below a threshhold of -4.0 in energy units. More generally, Python can be used to implement a loop with complex logic, much more so than can be created using the LAMMPS <a class="reference internal" href="jump.html"><em>jump</em></a> and <a class="reference internal" href="if.html"><em>if</em></a> commands.</p> <p>Several LAMMPS library functions are called from the loop function. Get_natoms() returns the number of atoms in the simulation, so that it can be used to normalize the potential energy that is returned by extract_compute() for the “thermo_pe” compute that is defined by default for LAMMPS thermodynamic output. Set_variable() sets the value of a string variable defined in LAMMPS. This library function is a useful way for a Python function to return multiple values to LAMMPS, more than the single value that can be passed back via a return statement. This cutoff value in the “cut” variable is then substituted (by LAMMPS) in the pair_style command that is executed next. Alternatively, the “LAMMPS command option” line could be used in place of the 2 preceeding lines, to have Python insert the value into the LAMMPS command string.</p> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">When using the callback mechanism just described, recognize that there are some operations you should not attempt because LAMMPS cannot execute them correctly. If the Python function is invoked between runs in the LAMMPS input script, then it should be OK to invoke any LAMMPS input script command via the library interface command() or file() functions, so long as the command would work if it were executed in the LAMMPS input script directly at the same point.</p> </div> <p>However, a Python function can also be invoked during a run, whenever an associated LAMMPS variable it is assigned to is evaluted. If the variable is an input argument to another LAMMPS command (e.g. <a class="reference internal" href="fix_setforce.html"><em>fix setforce</em></a>), then the Python function will be invoked inside the class for that command, in one of its methods that is invoked in the middle of a timestep. You cannot execute arbitrary input script commands from the Python function (again, via the command() or file() functions) at that point in the run and expect it to work. Other library functions such as those that invoke computes or other variables may have hidden side effects as well. In these cases, LAMMPS has no simple way to check that something illogical is being attempted.</p> <hr class="docutils" /> <p>If you run Python code directly on your workstation, either interactively or by using Python to launch a Python script stored in a file, and your code has an error, you will typically see informative error messages. That is not the case when you run Python code from LAMMPS using an embedded Python interpreter. The code will typically fail silently. LAMMPS will catch some errors but cannot tell you where in the Python code the problem occurred. For example, if the Python code cannot be loaded and run because it has syntax or other logic errors, you may get an error from Python pointing to the offending line, or you may get one of these generic errors from LAMMPS:</p> <div class="highlight-python"><div class="highlight"><pre>Could not process Python file Could not process Python string </pre></div> </div> <p>When the Python function is invoked, if it does not return properly, you will typically get this generic error from LAMMPS:</p> <div class="highlight-python"><div class="highlight"><pre>Python function evaluation failed </pre></div> </div> <p>Here are three suggestions for debugging your Python code while running it under LAMMPS.</p> <p>First, don’t run it under LAMMPS, at least to start with! Debug it using plain Python. Load and invoke your function, pass it arguments, check return values, etc.</p> <p>Second, add Python print statements to the function to check how far it gets and intermediate values it calculates. See the discussion above about printing from Python when running in parallel.</p> <p>Third, use Python exception handling. For example, say this statement in your Python function is failing, because you have not initialized the variable foo:</p> <div class="highlight-python"><div class="highlight"><pre><span class="n">foo</span> <span class="o">+=</span> <span class="mi">1</span> </pre></div> </div> <p>If you put one (or more) statements inside a “try” statement, like this:</p> <div class="highlight-python"><div class="highlight"><pre>import exceptions print "Inside simple function" try: foo += 1 # one or more statements here except Exception, e: print "FOO error:",e </pre></div> </div> <p>then you will get this message printed to the screen:</p> <div class="highlight-python"><div class="highlight"><pre>FOO error: local variable 'foo' referenced before assignment </pre></div> </div> <p>If there is no error in the try statements, then nothing is printed. Either way the function continues on (unless you put a return or sys.exit() in the except clause).</p> </div> <hr class="docutils" /> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <p>This command is part of the PYTHON package. It is only enabled if LAMMPS was built with that package. See the <a class="reference internal" href="Section_start.html#start-3"><span>Making LAMMPS</span></a> section for more info.</p> <p>Building LAMMPS with the PYTHON package will link LAMMPS with the Python library on your system. Settings to enable this are in the lib/python/Makefile.lammps file. See the lib/python/README file for information on those settings.</p> <p>If you use Python code which calls back to LAMMPS, via the SELF input argument explained above, there is an extra step required when building LAMMPS. LAMMPS must also be built as a shared library and your Python function must be able to to load the Python module in python/lammps.py that wraps the LAMMPS library interface. These are the same steps required to use Python by itself to wrap LAMMPS. Details on these steps are explained in <code class="xref doc docutils literal"><span class="pre">Section</span> <span class="pre">python</span></code>. Note that it is important that the stand-alone LAMMPS executable and the LAMMPS shared library be consistent (built from the same source code files) in order for this to work. If the two have been built at different times using different source files, problems may occur.</p> <p>As described above, you can use the python command to invoke a Python function which calls back to LAMMPS through its Python-wrapped library interface. However you cannot do the opposite. I.e. you cannot call LAMMPS from Python and invoke the python command to “callback” to Python and execute a Python function. LAMMPS will generate an error if you try to do that. Note that we think there actually should be a way to do that, but haven’t yet been able to figure out how to do it successfully.</p> </div> <div class="section" id="related-commands"> <h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2> <p><a class="reference internal" href="shell.html"><em>shell</em></a>, <a class="reference internal" href="variable.html"><em>variable</em></a></p> <p><strong>Default:</strong> none</p> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/read_data.html b/doc/read_data.html index 42e8f2430..01d1b92d4 100644 --- a/doc/read_data.html +++ b/doc/read_data.html @@ -1,1334 +1,1334 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>read_data command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>read_data command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="read-data-command"> <span id="index-0"></span><h1>read_data command<a class="headerlink" href="#read-data-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>read_data file keyword args ... </pre></div> </div> <ul class="simple"> <li>file = name of data file to read in</li> <li>zero or more keyword/arg pairs may be appended</li> <li>keyword = <em>add</em> or <em>offset</em> or <em>shift</em> or <em>extra/atom/types</em> or <em>extra/bond/types</em> or <em>extra/angle/types</em> or <em>extra/dihedral/types</em> or <em>extra/improper/types</em> or <em>group</em> or <em>fix</em></li> </ul> <pre class="literal-block"> <em>add</em> arg = <em>append</em> or <em>Nstart</em> or <em>merge</em> - append = add new atoms with IDs appended to current IDs - Nstart = add new atoms with IDs starting with Nstart - merge = add new atoms with their IDs unchanged - <em>offset</em> args = toff boff aoff doff ioff - toff = offset to add to atom types - boff = offset to add to bond types - aoff = offset to add to angle types - doff = offset to add to dihedral types - ioff = offset to add to improper types - <em>shift</em> args = Sx Sy Sz - Sx,Sy,Sz = distance to shift atoms when adding to system (distance units) - <em>extra/atom/types</em> arg = # of extra atom types - <em>extra/bond/types</em> arg = # of extra bond types - <em>extra/angle/types</em> arg = # of extra angle types - <em>extra/dihedral/types</em> arg = # of extra dihedral types - <em>extra/improper/types</em> arg = # of extra improper types - <em>group</em> args = groupID - groupID = add atoms in data file to this group - <em>fix</em> args = fix-ID header-string section-string - fix-ID = ID of fix to process header lines and sections of data file - header-string = header lines containing this string will be passed to fix - section-string = section names with this string will be passed to fix + append = add new atoms with IDs appended to current IDs + Nstart = add new atoms with IDs starting with Nstart + merge = add new atoms with their IDs unchanged +<em>offset</em> args = toff boff aoff doff ioff + toff = offset to add to atom types + boff = offset to add to bond types + aoff = offset to add to angle types + doff = offset to add to dihedral types + ioff = offset to add to improper types +<em>shift</em> args = Sx Sy Sz + Sx,Sy,Sz = distance to shift atoms when adding to system (distance units) +<em>extra/atom/types</em> arg = # of extra atom types +<em>extra/bond/types</em> arg = # of extra bond types +<em>extra/angle/types</em> arg = # of extra angle types +<em>extra/dihedral/types</em> arg = # of extra dihedral types +<em>extra/improper/types</em> arg = # of extra improper types +<em>group</em> args = groupID + groupID = add atoms in data file to this group +<em>fix</em> args = fix-ID header-string section-string + fix-ID = ID of fix to process header lines and sections of data file + header-string = header lines containing this string will be passed to fix + section-string = section names with this string will be passed to fix </pre> </div> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>read_data data.lj read_data ../run7/data.polymer.gz read_data data.protein fix mycmap crossterm CMAP read_data data.water add append offset 3 1 1 1 1 shift 0.0 0.0 50.0 read_data data.water add merge 1 group solvent </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>Read in a data file containing information LAMMPS needs to run a simulation. The file can be ASCII text or a gzipped text file (detected by a .gz suffix). This is one of 3 ways to specify initial atom coordinates; see the <a class="reference internal" href="read_restart.html"><em>read_restart</em></a> and <a class="reference internal" href="create_atoms.html"><em>create_atoms</em></a> commands for alternative methods. Also see the explanation of the <a class="reference internal" href="Section_start.html#start-7"><span>-restart command-line switch</span></a> which can convert a restart file to a data file.</p> <p>This command can be used multiple times to add new atoms and their properties to an existing system by using the <em>add</em>, <em>offset</em>, and <em>shift</em> keywords. See more details below, which includes the use case for the <em>extra</em> keywords.</p> <p>The <em>group</em> keyword adds all the atoms in the data file to the specified group-ID. The group will be created if it does not already exist. This is useful if you are reading multiple data files and wish to put sets of atoms into different groups so they can be operated on later. E.g. a group of added atoms can be moved to new positions via the <a class="reference internal" href="displace_atoms.html"><em>displace_atoms</em></a> command. Note that atoms read from the data file are also always added to the “all” group. The <a class="reference internal" href="group.html"><em>group</em></a> command discusses atom groups, as used in LAMMPS.</p> <p>The use of the <em>fix</em> keyword is discussed below.</p> <hr class="docutils" /> <p><strong>Reading multiple data files</strong></p> <p>The read_data command can be used multiple times with the same or different data files to build up a complex system from components contained in individual data files. For example one data file could contain fluid in a confined domain; a second could contain wall atoms, and the second file could be read a third time to create a wall on the other side of the fluid. The third set of atoms could be rotated to an opposing direction using the <a class="reference internal" href="displace_atoms.html"><em>displace_atoms</em></a> command, after the third read_data command is used.</p> <p>The <em>add</em>, <em>offset</em>, <em>shift</em>, <em>extra</em>, and <em>group</em> keywords are useful in this context.</p> <p>If a simulation box does not yet exist, the <em>add</em> keyword cannot be used; the read_data command is being used for the first time. If a simulation box does exist, due to using the <a class="reference internal" href="create_box.html"><em>create_box</em></a> command, or a previous read_data command, then the <em>add</em> keyword must be used.</p> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">The simulation box size (xlo to xhi, ylo to yhi, zlo to zhi) in the new data file will be merged with the existing simulation box to create a large enough box in each dimension to contain both the existing and new atoms. Each box dimension never shrinks due to this merge operation, it only stays the same or grows. Care must be used if you are growing the existing simulation box in a periodic dimension. If there are existing atoms with bonds that straddle that periodic boundary, then the atoms may become far apart if the box size grows. This will separate the atoms in the bond, which can lead to “lost” bond atoms or bad dynamics.</p> </div> <p>The three choices for the <em>add</em> argument affect how the IDs of atoms in the data file are treated. If <em>append</em> is specified, atoms in the data file are added to the current system, with their atom IDs reset so that an atomID = M in the data file becomes atomID = N+M, where N is the largest atom ID in the current system. This rule is applied to all occurrences of atom IDs in the data file, e.g. in the Velocity or Bonds section. If <em>Nstart</em> is specified, then <em>Nstart</em> is a numeric value is given, e.g. 1000, so that an atomID = M in the data file becomes atomID = 1000+M. If <em>merge</em> is specified, the data file atoms are added to the current system without changing their IDs. They are assumed to merge (without duplication) with the currently defined atoms. It is up to you to insure there are no multiply defined atom IDs, as LAMMPS only performs an incomplete check that this is the case by insuring the resulting max atomID >= the number of atoms.</p> <p>The <em>offset</em> and <em>shift</em> keywords can only be used if the <em>add</em> keyword is also specified.</p> <p>The <em>offset</em> keyword adds the specified offset values to the atom types, bond types, angle types, dihedral types, and improper types as they are read from the data file. E.g. if <em>toff</em> = 2, and the file uses atom types 1,2,3, then the added atoms will have atom types 3,4,5. These offsets apply to all occurrences of types in the data file, e.g. for the Atoms or Masses or Pair Coeffs or Bond Coeffs sections. This makes it easy to use atoms and molecules and their attributes from a data file in different simulations, where you want their types (atom, bond, angle, etc) to be different depending on what other types already exist. All five offset values must be specified, but individual values will be ignored if the data file does not use that attribute (e.g. no bonds).</p> <p>The <em>shift</em> keyword can be used to specify an (Sx, Sy, Sz) displacement applied to the coordinates of each atom. Sz must be 0.0 for a 2d simulation. This is a mechanism for adding structured collections of atoms at different locations within the simulation box, to build up a complex geometry. It is up to you to insure atoms do not end up overlapping unphysically which would lead to bad dynamics. Note that the <a class="reference internal" href="displace_atoms.html"><em>displace_atoms</em></a> command can be used to move a subset of atoms after they have been read from a data file. Likewise, the <a class="reference internal" href="delete_atoms.html"><em>delete_atoms</em></a> command can be used to remove overlapping atoms. Note that the shift values (Sx, Sy, Sz) are also added to the simulation box information (xlo, xhi, ylo, yhi, zlo, zhi) in the data file to shift its boundaries. E.g. xlo_new = xlo + Sx, xhi_new = xhi + Sx.</p> <p>The <em>extra</em> keywords can only be used the first time the read_data command is used. They are useful if you intend to add new atom, bond, angle, etc types later with additional read_data commands. This is because the maximum number of allowed atom, bond, angle, etc types is set by LAMMPS when the system is first initialized. If you do not use the <em>extra</em> keywords, then the number of these types will be limited to what appears in the first data file you read. For example, if the first data file is a solid substrate of Si, it will likely specify a single atom type. If you read a second data file with a different material (water molecules) that sit on top of the substrate, you will want to use different atom types for those atoms. You can only do this if you set the <em>extra/atom/types</em> keyword to a sufficiently large value when reading the substrate data file. Note that use of the <em>extra</em> keywords also allows each data file to contain sections like Masses or Pair Coeffs or Bond Coeffs which are sized appropriately for the number of types in that data file. If the <em>offset</em> keyword is used appropriately when each data file is read, the values in those sections will be stored correctly in the larger data structures allocated by the use of the <em>extra</em> keywords. E.g. the substrate file can list mass and pair coefficients for type 1 silicon atoms. The water file can list mass and pair coeffcients for type 1 and type 2 hydrogen and oxygen atoms. Use of the <em>extra</em> and <em>offset</em> keywords will store those mass and pair coefficient values appropriately in data structures that allow for 3 atom types (Si, H, O). Of course, you would still need to specify coefficients for H/Si and O/Si interactions in your input script to have a complete pairwise interaction model.</p> <p>An alternative to using the <em>extra</em> keywords with the read_data command, is to use the <a class="reference internal" href="create_box.html"><em>create_box</em></a> command to initialize the simulation box and all the various type limits you need via its <em>extra</em> keywords. Then use the read_data command one or more times to populate the system with atoms, bonds, angles, etc, using the <em>offset</em> keyword if desired to alter types used in the various data files you read.</p> <hr class="docutils" /> <p><strong>Format of a data file</strong></p> <p>The structure of the data file is important, though many settings and sections are optional or can come in any order. See the examples directory for sample data files for different problems.</p> <p>A data file has a header and a body. The header appears first. The first line of the header is always skipped; it typically contains a description of the file. Then lines are read one at a time. Lines can have a trailing comment starting with ‘#’ that is ignored. If the line is blank (only whitespace after comment is deleted), it is skipped. If the line contains a header keyword, the corresponding value(s) is read from the line. If it doesn’t contain a header keyword, the line begins the body of the file.</p> <p>The body of the file contains zero or more sections. The first line of a section has only a keyword. This line can have a trailing comment starting with ‘#’ that is either ignored or can be used to check for a style match, as described below. The next line is skipped. The remaining lines of the section contain values. The number of lines depends on the section keyword as described below. Zero or more blank lines can be used between sections. Sections can appear in any order, with a few exceptions as noted below.</p> <p>The keyword <em>fix</em> can be used one or more times. Each usage specifies a fix that will be used to process a specific portion of the data file. Any header line containing <em>header-string</em> and any section with a name containing <em>section-string</em> will be passed to the specified fix. See the <a class="reference internal" href="fix_property_atom.html"><em>fix property/atom</em></a> command for an example of a fix that operates in this manner. The doc page for the fix defines the syntax of the header line(s) and section(s) that it reads from the data file. Note that the <em>header-string</em> can be specified as NULL, in which case no header lines are passed to the fix. This means that it can infer the length of its Section from standard header settings, such as the number of atoms.</p> <p>The formatting of individual lines in the data file (indentation, spacing between words and numbers) is not important except that header and section keywords (e.g. atoms, xlo xhi, Masses, Bond Coeffs) must be capitalized as shown and can’t have extra white space between their words - e.g. two spaces or a tab between the 2 words in “xlo xhi” or the 2 words in “Bond Coeffs”, is not valid.</p> <hr class="docutils" /> <p><strong>Format of the header of a data file</strong></p> <p>These are the recognized header keywords. Header lines can come in any order. The value(s) are read from the beginning of the line. Thus the keyword <em>atoms</em> should be in a line like “1000 atoms”; the keyword <em>ylo yhi</em> should be in a line like “-10.0 10.0 ylo yhi”; the keyword <em>xy xz yz</em> should be in a line like “0.0 5.0 6.0 xy xz yz”. All these settings have a default value of 0, except the lo/hi box size defaults are -0.5 and 0.5. A line need only appear if the value is different than the default.</p> <ul class="simple"> <li><em>atoms</em> = # of atoms in system</li> <li><em>bonds</em> = # of bonds in system</li> <li><em>angles</em> = # of angles in system</li> <li><em>dihedrals</em> = # of dihedrals in system</li> <li><em>impropers</em> = # of impropers in system</li> <li><em>atom types</em> = # of atom types in system</li> <li><em>bond types</em> = # of bond types in system</li> <li><em>angle types</em> = # of angle types in system</li> <li><em>dihedral types</em> = # of dihedral types in system</li> <li><em>improper types</em> = # of improper types in system</li> <li><em>extra bond per atom</em> = leave space for this many new bonds per atom</li> <li><em>extra angle per atom</em> = leave space for this many new angles per atom</li> <li><em>extra dihedral per atom</em> = leave space for this many new dihedrals per atom</li> <li><em>extra improper per atom</em> = leave space for this many new impropers per atom</li> <li><em>extra special per atom</em> = leave space for this many new special bonds per atom</li> <li><em>ellipsoids</em> = # of ellipsoids in system</li> <li><em>lines</em> = # of line segments in system</li> <li><em>triangles</em> = # of triangles in system</li> <li><em>bodies</em> = # of bodies in system</li> <li><em>xlo xhi</em> = simulation box boundaries in x dimension</li> <li><em>ylo yhi</em> = simulation box boundaries in y dimension</li> <li><em>zlo zhi</em> = simulation box boundaries in z dimension</li> <li><em>xy xz yz</em> = simulation box tilt factors for triclinic system</li> </ul> <p>The initial simulation box size is determined by the lo/hi settings. In any dimension, the system may be periodic or non-periodic; see the <a class="reference internal" href="boundary.html"><em>boundary</em></a> command. When the simulation box is created it is also partitioned into a regular 3d grid of rectangular bricks, one per processor, based on the number of processors being used and the settings of the <a class="reference internal" href="processors.html"><em>processors</em></a> command. The partitioning can later be changed by the <a class="reference internal" href="balance.html"><em>balance</em></a> or <a class="reference internal" href="fix_balance.html"><em>fix balance</em></a> commands.</p> <p>If the <em>xy xz yz</em> line does not appear, LAMMPS will set up an axis-aligned (orthogonal) simulation box. If the line does appear, LAMMPS creates a non-orthogonal simulation domain shaped as a parallelepiped with triclinic symmetry. The parallelepiped has its “origin” at (xlo,ylo,zlo) and is defined by 3 edge vectors starting from the origin given by A = (xhi-xlo,0,0); B = (xy,yhi-ylo,0); C = (xz,yz,zhi-zlo). <em>Xy,xz,yz</em> can be 0.0 or positive or negative values and are called “tilt factors” because they are the amount of displacement applied to faces of an originally orthogonal box to transform it into the parallelepiped.</p> <p>By default, the tilt factors (xy,xz,yz) can not skew the box more than half the distance of the corresponding parallel box length. For example, if xlo = 2 and xhi = 12, then the x box length is 10 and the xy tilt factor must be between -5 and 5. Similarly, both xz and yz must be between -(xhi-xlo)/2 and +(yhi-ylo)/2. Note that this is not a limitation, since if the maximum tilt factor is 5 (as in this example), then configurations with tilt = ..., -15, -5, 5, 15, 25, ... are all geometrically equivalent. If you wish to define a box with tilt factors that exceed these limits, you can use the <a class="reference internal" href="box.html"><em>box tilt</em></a> command, with a setting of <em>large</em>; a setting of <em>small</em> is the default.</p> <p>See <a class="reference internal" href="Section_howto.html#howto-12"><span>Section_howto 12</span></a> of the doc pages for a geometric description of triclinic boxes, as defined by LAMMPS, and how to transform these parameters to and from other commonly used triclinic representations.</p> <p>When a triclinic system is used, the simulation domain should normally be periodic in the dimension that the tilt is applied to, which is given by the second dimension of the tilt factor (e.g. y for xy tilt). This is so that pairs of atoms interacting across that boundary will have one of them shifted by the tilt factor. Periodicity is set by the <a class="reference internal" href="boundary.html"><em>boundary</em></a> command. For example, if the xy tilt factor is non-zero, then the y dimension should be periodic. Similarly, the z dimension should be periodic if xz or yz is non-zero. LAMMPS does not require this periodicity, but you may lose atoms if this is not the case.</p> <p>Also note that if your simulation will tilt the box, e.g. via the <a class="reference internal" href="fix_deform.html"><em>fix deform</em></a> command, the simulation box must be setup to be triclinic, even if the tilt factors are initially 0.0. You can also change an orthogonal box to a triclinic box or vice versa by using the <a class="reference internal" href="change_box.html"><em>change box</em></a> command with its <em>ortho</em> and <em>triclinic</em> options.</p> <p>For 2d simulations, the <em>zlo zhi</em> values should be set to bound the z coords for atoms that appear in the file; the default of -0.5 0.5 is valid if all z coords are 0.0. For 2d triclinic simulations, the xz and yz tilt factors must be 0.0.</p> <p>If the system is periodic (in a dimension), then atom coordinates can be outside the bounds (in that dimension); they will be remapped (in a periodic sense) back inside the box. Note that if the <em>add</em> option is being used to add atoms to a simulation box that already exists, this periodic remapping will be performed using simulation box bounds that are the union of the existing box and the box boundaries in the new data file.</p> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">If the system is non-periodic (in a dimension), then all atoms in the data file must have coordinates (in that dimension) that are “greater than or equal to” the lo value and “less than or equal to” the hi value. If the non-periodic dimension is of style “fixed” (see the <a class="reference internal" href="boundary.html"><em>boundary</em></a> command), then the atom coords must be strictly “less than” the hi value, due to the way LAMMPS assign atoms to processors. Note that you should not make the lo/hi values radically smaller/larger than the extent of the atoms. For example, if your atoms extend from 0 to 50, you should not specify the box bounds as -10000 and 10000. This is because LAMMPS uses the specified box size to layout the 3d grid of processors. A huge (mostly empty) box will be sub-optimal for performance when using “fixed” boundary conditions (see the <a class="reference internal" href="boundary.html"><em>boundary</em></a> command). When using “shrink-wrap” boundary conditions (see the <a class="reference internal" href="boundary.html"><em>boundary</em></a> command), a huge (mostly empty) box may cause a parallel simulation to lose atoms when LAMMPS shrink-wraps the box around the atoms. The read_data command will generate an error in this case.</p> </div> <p>The “extra bond per atom” setting (angle, dihedral, improper) is only needed if new bonds (angles, dihedrals, impropers) will be added to the system when a simulation runs, e.g. by using the <a class="reference internal" href="fix_bond_create.html"><em>fix bond/create</em></a> command. This will pre-allocate space in LAMMPS data structures for storing the new bonds (angles, dihedrals, impropers).</p> <p>The “extra special per atom” setting is typically only needed if new bonds/angles/etc will be added to the system, e.g. by using the <a class="reference internal" href="fix_bond_create.html"><em>fix bond/create</em></a> command. Or if entire new molecules will be added to the system, e.g. by using the <a class="reference internal" href="fix_deposit.html"><em>fix deposit</em></a> or <a class="reference internal" href="fix_pour.html"><em>fix pour</em></a> commands, which will have more special 1-2,1-3,1-4 neighbors than any other molecules defined in the data file. Using this setting will pre-allocate space in the LAMMPS data structures for storing these neighbors. See the <a class="reference internal" href="special_bonds.html"><em>special_bonds</em></a> and <a class="reference internal" href="molecule.html"><em>molecule</em></a> doc pages for more discussion of 1-2,1-3,1-4 neighbors.</p> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">All of the “extra” settings are only used if they appear in the first data file read; see the description of the <em>add</em> keyword above for reading multiple data files. If they appear in later data files, they are ignored.</p> </div> <p>The “ellipsoids” and “lines” and “triangles” and “bodies” settings are only used with <a class="reference internal" href="atom_style.html"><em>atom_style ellipsoid or line or tri or body</em></a> and specify how many of the atoms are finite-size ellipsoids or lines or triangles or bodies; the remainder are point particles. See the discussion of ellipsoidflag and the <em>Ellipsoids</em> section below. See the discussion of lineflag and the <em>Lines</em> section below. See the discussion of triangleflag and the <em>Triangles</em> section below. See the discussion of bodyflag and the <em>Bodies</em> section below.</p> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">For <a class="reference internal" href="atom_style.html"><em>atom_style template</em></a>, the molecular topology (bonds,angles,etc) is contained in the molecule templates read-in by the <a class="reference internal" href="molecule.html"><em>molecule</em></a> command. This means you cannot set the <em>bonds</em>, <em>angles</em>, etc header keywords in the data file, nor can you define <em>Bonds</em>, <em>Angles</em>, etc sections as discussed below. You can set the <em>bond types</em>, <em>angle types</em>, etc header keywords, though it is not necessary. If specified, they must match the maximum values defined in any of the template molecules.</p> </div> <hr class="docutils" /> <p><strong>Format of the body of a data file</strong></p> <p>These are the section keywords for the body of the file.</p> <ul class="simple"> <li><em>Atoms, Velocities, Masses, Ellipsoids, Lines, Triangles, Bodies</em> = atom-property sections</li> <li><em>Bonds, Angles, Dihedrals, Impropers</em> = molecular topology sections</li> <li><em>Pair Coeffs, PairIJ Coeffs, Bond Coeffs, Angle Coeffs, Dihedral Coeffs, Improper Coeffs</em> = force field sections</li> <li><em>BondBond Coeffs, BondAngle Coeffs, MiddleBondTorsion Coeffs, EndBondTorsion Coeffs, AngleTorsion Coeffs, AngleAngleTorsion Coeffs, BondBond13 Coeffs, AngleAngle Coeffs</em> = class 2 force field sections</li> </ul> <p>These keywords will check an appended comment for a match with the currently defined style:</p> <ul class="simple"> <li><em>Atoms, Pair Coeffs, PairIJ Coeffs, Bond Coeffs, Angle Coeffs, Dihedral Coeffs, Improper Coeffs</em></li> </ul> <p>For example, these lines:</p> <div class="highlight-python"><div class="highlight"><pre>Atoms # sphere Pair Coeffs # lj/cut </pre></div> </div> <p>will check if the currently-defined <a class="reference internal" href="atom_style.html"><em>atom_style</em></a> is <em>sphere</em>, and the current <a class="reference external" href="pair_style">pair_style</a> is <em>lj/cut</em>. If not, LAMMPS will issue a warning to indicate that the data file section likely does not contain the correct number or type of parameters expected for the currently-defined style.</p> <p>Each section is listed below in alphabetic order. The format of each section is described including the number of lines it must contain and rules (if any) for where it can appear in the data file.</p> <p>Any individual line in the various sections can have a trailing comment starting with “#” for annotation purposes. E.g. in the Atoms section:</p> <div class="highlight-python"><div class="highlight"><pre>10 1 17 -1.0 10.0 5.0 6.0 # salt ion </pre></div> </div> <hr class="docutils" /> <p><em>Angle Coeffs</em> section:</p> <ul class="simple"> <li>one line per angle type</li> <li>line syntax: ID coeffs</li> </ul> <div class="highlight-python"><div class="highlight"><pre>ID = angle type (1-N) - coeffs = list of coeffs +coeffs = list of coeffs </pre></div> </div> <ul class="simple"> <li>example:</li> </ul> <div class="highlight-python"><div class="highlight"><pre>6 70 108.5 0 0 </pre></div> </div> <p>The number and meaning of the coefficients are specific to the defined angle style. See the <a class="reference internal" href="angle_style.html"><em>angle_style</em></a> and <a class="reference internal" href="angle_coeff.html"><em>angle_coeff</em></a> commands for details. Coefficients can also be set via the <a class="reference internal" href="angle_coeff.html"><em>angle_coeff</em></a> command in the input script.</p> <hr class="docutils" /> <p><em>AngleAngle Coeffs</em> section:</p> <ul class="simple"> <li>one line per improper type</li> <li>line syntax: ID coeffs</li> </ul> <pre class="literal-block"> ID = improper type (1-N) - coeffs = list of coeffs (see <a class="reference internal" href="improper_coeff.html"><em>improper_coeff</em></a>) +coeffs = list of coeffs (see <a class="reference internal" href="improper_coeff.html"><em>improper_coeff</em></a>) </pre> <hr class="docutils" /> <p><em>AngleAngleTorsion Coeffs</em> section:</p> <ul class="simple"> <li>one line per dihedral type</li> <li>line syntax: ID coeffs</li> </ul> <pre class="literal-block"> ID = dihedral type (1-N) - coeffs = list of coeffs (see <a class="reference internal" href="dihedral_coeff.html"><em>dihedral_coeff</em></a>) +coeffs = list of coeffs (see <a class="reference internal" href="dihedral_coeff.html"><em>dihedral_coeff</em></a>) </pre> <hr class="docutils" /> <p><em>Angles</em> section:</p> <ul class="simple"> <li>one line per angle</li> <li>line syntax: ID type atom1 atom2 atom3</li> </ul> <div class="highlight-python"><div class="highlight"><pre>ID = number of angle (1-Nangles) - type = angle type (1-Nangletype) - atom1,atom2,atom3 = IDs of 1st,2nd,3rd atoms in angle +type = angle type (1-Nangletype) +atom1,atom2,atom3 = IDs of 1st,2nd,3rd atoms in angle </pre></div> </div> <p>example: .. parsed-literal:</p> <div class="highlight-python"><div class="highlight"><pre>2 2 17 29 430 </pre></div> </div> <p>The 3 atoms are ordered linearly within the angle. Thus the central atom (around which the angle is computed) is the atom2 in the list. E.g. H,O,H for a water molecule. The <em>Angles</em> section must appear after the <em>Atoms</em> section. All values in this section must be integers (1, not 1.0).</p> <hr class="docutils" /> <p><em>AngleTorsion Coeffs</em> section:</p> <ul class="simple"> <li>one line per dihedral type</li> <li>line syntax: ID coeffs</li> </ul> <pre class="literal-block"> ID = dihedral type (1-N) - coeffs = list of coeffs (see <a class="reference internal" href="dihedral_coeff.html"><em>dihedral_coeff</em></a>) +coeffs = list of coeffs (see <a class="reference internal" href="dihedral_coeff.html"><em>dihedral_coeff</em></a>) </pre> <hr class="docutils" /> <p><em>Atoms</em> section:</p> <ul class="simple"> <li>one line per atom</li> <li>line syntax: depends on atom style</li> </ul> <p>An <em>Atoms</em> section must appear in the data file if natoms > 0 in the header section. The atoms can be listed in any order. These are the line formats for each <a class="reference internal" href="atom_style.html"><em>atom style</em></a> in LAMMPS. As discussed below, each line can optionally have 3 flags (nx,ny,nz) appended to it, which indicate which image of a periodic simulation box the atom is in. These may be important to include for some kinds of analysis.</p> <table border="1" class="docutils"> <colgroup> <col width="15%" /> <col width="85%" /> </colgroup> <tbody valign="top"> <tr class="row-odd"><td>angle</td> <td>atom-ID molecule-ID atom-type x y z</td> </tr> <tr class="row-even"><td>atomic</td> <td>atom-ID atom-type x y z</td> </tr> <tr class="row-odd"><td>body</td> <td>atom-ID atom-type bodyflag mass x y z</td> </tr> <tr class="row-even"><td>bond</td> <td>atom-ID molecule-ID atom-type x y z</td> </tr> <tr class="row-odd"><td>charge</td> <td>atom-ID atom-type q x y z</td> </tr> <tr class="row-even"><td>dipole</td> <td>atom-ID atom-type q x y z mux muy muz</td> </tr> <tr class="row-odd"><td>electron</td> <td>atom-ID atom-type q spin eradius x y z</td> </tr> <tr class="row-even"><td>ellipsoid</td> <td>atom-ID atom-type ellipsoidflag density x y z</td> </tr> <tr class="row-odd"><td>full</td> <td>atom-ID molecule-ID atom-type q x y z</td> </tr> <tr class="row-even"><td>line</td> <td>atom-ID molecule-ID atom-type lineflag density x y z</td> </tr> <tr class="row-odd"><td>meso</td> <td>atom-ID atom-type rho e cv x y z</td> </tr> <tr class="row-even"><td>molecular</td> <td>atom-ID molecule-ID atom-type x y z</td> </tr> <tr class="row-odd"><td>peri</td> <td>atom-ID atom-type volume density x y z</td> </tr> <tr class="row-even"><td>sphere</td> <td>atom-ID atom-type diameter density x y z</td> </tr> <tr class="row-odd"><td>template</td> <td>atom-ID molecule-ID template-index template-atom atom-type x y z</td> </tr> <tr class="row-even"><td>tri</td> <td>atom-ID molecule-ID atom-type triangleflag density x y z</td> </tr> <tr class="row-odd"><td>wavepacket</td> <td>atom-ID atom-type charge spin eradius etag cs_re cs_im x y z</td> </tr> <tr class="row-even"><td>hybrid</td> <td>atom-ID atom-type x y z sub-style1 sub-style2 ...</td> </tr> </tbody> </table> <p>The keywords have these meanings:</p> <ul class="simple"> <li>atom-ID = integer ID of atom</li> <li>molecule-ID = integer ID of molecule the atom belongs to</li> <li>atom-type = type of atom (1-Ntype)</li> <li>q = charge on atom (charge units)</li> <li>diameter = diameter of spherical atom (distance units)</li> <li>ellipsoidflag = 1 for ellipsoidal particles, 0 for point particles</li> <li>lineflag = 1 for line segment particles, 0 for point particles</li> <li>triangleflag = 1 for triangular particles, 0 for point particles</li> <li>bodyflag = 1 for body particles, 0 for point particles</li> <li>template-index = which molecule within the molecule template the atom is part of</li> <li>template-atom = which atom within a template molecule the atom is</li> <li>density = density of particle (mass/distance^3 or mass/distance^2 or mass/distance units, depending on dimensionality of particle)</li> <li>mass = mass of particle (mass units)</li> <li>volume = volume of particle (distance^3 units)</li> <li>x,y,z = coordinates of atom</li> <li>mux,muy,muz = components of dipole moment of atom (dipole units)</li> <li>rho = density (need units) for SPH particles</li> <li>e = energy (need units) for SPH particles</li> <li>cv = heat capacity (need units) for SPH particles</li> <li>spin = electron spin (+1/-1), 0 = nuclei, 2 = fixed-core, 3 = pseudo-cores (i.e. ECP)</li> <li>eradius = electron radius (or fixed-core radius)</li> <li>etag = integer ID of electron that each wavepacket belongs to</li> <li>cs_re,cs_im = real/imaginary parts of wavepacket coefficients</li> </ul> <p>The units for these quantities depend on the unit style; see the <a class="reference internal" href="units.html"><em>units</em></a> command for details.</p> <p>For 2d simulations specify z as 0.0, or a value within the <em>zlo zhi</em> setting in the data file header.</p> <p>The atom-ID is used to identify the atom throughout the simulation and in dump files. Normally, it is a unique value from 1 to Natoms for each atom. Unique values larger than Natoms can be used, but they will cause extra memory to be allocated on each processor, if an atom map array is used, but not if an atom map hash is used; see the <a class="reference internal" href="atom_modify.html"><em>atom_modify</em></a> command for details. If an atom map is not used (e.g. an atomic system with no bonds), and you don’t care if unique atom IDs appear in dump files, then the atom-IDs can all be set to 0.</p> <p>The molecule ID is a 2nd identifier attached to an atom. Normally, it is a number from 1 to N, identifying which molecule the atom belongs to. It can be 0 if it is an unbonded atom or if you don’t care to keep track of molecule assignments.</p> <p>The diameter specifies the size of a finite-size spherical particle. It can be set to 0.0, which means that atom is a point particle.</p> <p>The ellipsoidflag, lineflag, triangleflag, and bodyflag determine whether the particle is a finite-size ellipsoid or line or triangle or body of finite size, or whether the particle is a point particle. Additional attributes must be defined for each ellipsoid, line, triangle, or body in the corresponding <em>Ellipsoids</em>, <em>Lines</em>, <em>Triangles</em>, or <em>Bodies</em> section.</p> <p>The <em>template-index</em> and <em>template-atom</em> are only defined used by <a class="reference internal" href="atom_style.html"><em>atom_style template</em></a>. In this case the <a class="reference internal" href="molecule.html"><em>molecule</em></a> command is used to define a molecule template which contains one or more molecules. If an atom belongs to one of those molecules, its <em>template-index</em> and <em>template-atom</em> are both set to positive integers; if not the values are both 0. The <em>template-index</em> is which molecule (1 to Nmols) the atom belongs to. The <em>template-atom</em> is which atom (1 to Natoms) within the molecule the atom is.</p> <p>Some pair styles and fixes and computes that operate on finite-size particles allow for a mixture of finite-size and point particles. See the doc pages of individual commands for details.</p> <p>For finite-size particles, the density is used in conjunction with the particle volume to set the mass of each particle as mass = density * volume. In this context, volume can be a 3d quantity (for spheres or ellipsoids), a 2d quantity (for triangles), or a 1d quantity (for line segments). If the volume is 0.0, meaning a point particle, then the density value is used as the mass. One exception is for the body atom style, in which case the mass of each particle (body or point particle) is specified explicitly. This is because the volume of the body is unknown.</p> <p>For atom_style hybrid, following the 5 initial values (ID,type,x,y,z), specific values for each sub-style must be listed. The order of the sub-styles is the same as they were listed in the <a class="reference internal" href="atom_style.html"><em>atom_style</em></a> command. The sub-style specific values are those that are not the 5 standard ones (ID,type,x,y,z). For example, for the “charge” sub-style, a “q” value would appear. For the “full” sub-style, a “molecule-ID” and “q” would appear. These are listed in the same order they appear as listed above. Thus if</p> <div class="highlight-python"><div class="highlight"><pre>atom_style hybrid charge sphere </pre></div> </div> <p>were used in the input script, each atom line would have these fields:</p> <div class="highlight-python"><div class="highlight"><pre>atom-ID atom-type x y z q diameter density </pre></div> </div> <p>Note that if a non-standard value is defined by multiple sub-styles, it must appear mutliple times in the atom line. E.g. the atom line for atom_style hybrid dipole full would list “q” twice:</p> <div class="highlight-python"><div class="highlight"><pre>atom-ID atom-type x y z q mux muy myz molecule-ID q </pre></div> </div> <p>Atom lines specify the (x,y,z) coordinates of atoms. These can be inside or outside the simulation box. When the data file is read, LAMMPS wraps coordinates outside the box back into the box for dimensions that are periodic. As discussed above, if an atom is outside the box in a non-periodic dimension, it will be lost.</p> <p>LAMMPS always stores atom coordinates as values which are inside the simulation box. It also stores 3 flags which indicate which image of the simulation box (in each dimension) the atom would be in if its coordinates were unwrapped across periodic boundaries. An image flag of 0 means the atom is still inside the box when unwrapped. A value of 2 means add 2 box lengths to get the unwrapped coordinate. A value of -1 means subtract 1 box length to get the unwrapped coordinate. LAMMPS updates these flags as atoms cross periodic boundaries during the simulation. The <a class="reference internal" href="dump.html"><em>dump</em></a> command can output atom atom coordinates in wrapped or unwrapped form, as well as the 3 image flags.</p> <p>In the data file, atom lines (all lines or none of them) can optionally list 3 trailing integer values (nx,ny,nz), which are used to initialize the atom’s image flags. If nx,ny,nz values are not listed in the data file, LAMMPS initializes them to 0. Note that the image flags are immediately updated if an atom’s coordinates need to wrapped back into the simulation box.</p> <p>It is only important to set image flags correctly in a data file if a simulation model relies on unwrapped coordinates for some calculation; otherwise they can be left unspecified. Examples of LAMMPS commands that use unwrapped coordinates internally are as follows:</p> <ul class="simple"> <li>Atoms in a rigid body (see <a class="reference internal" href="fix_rigid.html"><em>fix rigid</em></a>, <a class="reference internal" href="fix_rigid.html"><em>fix rigid/small</em></a>) must have consistent image flags, so that when the atoms are unwrapped, they are near each other, i.e. as a single body.</li> <li>If the <a class="reference internal" href="replicate.html"><em>replicate</em></a> command is used to generate a larger system, image flags must be consistent for bonded atoms when the bond crosses a periodic boundary. I.e. the values of the image flags should be different by 1 (in the appropriate dimension) for the two atoms in such a bond.</li> <li>If you plan to <a class="reference internal" href="dump.html"><em>dump</em></a> image flags and perform post-analysis that will unwrap atom coordinates, it may be important that a continued run (restarted from a data file) begins with image flags that are consistent with the previous run.</li> </ul> <p>Atom velocities and other atom quantities not defined above are set to 0.0 when the <em>Atoms</em> section is read. Velocities can be set later by a <em>Velocities</em> section in the data file or by a <a class="reference internal" href="velocity.html"><em>velocity</em></a> or <a class="reference internal" href="set.html"><em>set</em></a> command in the input script.</p> <hr class="docutils" /> <p><em>Bodies</em> section:</p> <ul class="simple"> <li>one or more lines per body</li> <li>first line syntax: atom-ID ninteger ndouble</li> </ul> <div class="highlight-python"><div class="highlight"><pre>ninteger = # of integer quantities for this particle - ndouble = # of floating-point quantities for this particle +ndouble = # of floating-point quantities for this particle </pre></div> </div> <ul class="simple"> <li>0 or more integer lines: one line for every 10 integer quantities</li> <li>0 or more double lines: one line for every 10 double quantities</li> <li>example:</li> </ul> <div class="highlight-python"><div class="highlight"><pre>12 3 6 - 2 3 2 - 1.0 2.0 3.0 1.0 2.0 4.0 +2 3 2 +1.0 2.0 3.0 1.0 2.0 4.0 </pre></div> </div> <ul class="simple"> <li>example:</li> </ul> <div class="highlight-python"><div class="highlight"><pre>12 0 14 - 1.0 2.0 3.0 1.0 2.0 4.0 1.0 2.0 3.0 1.0 - 2.0 4.0 4.0 2.0 +1.0 2.0 3.0 1.0 2.0 4.0 1.0 2.0 3.0 1.0 +2.0 4.0 4.0 2.0 </pre></div> </div> <p>The <em>Bodies</em> section must appear if <a class="reference internal" href="atom_style.html"><em>atom_style body</em></a> is used and any atoms listed in the <em>Atoms</em> section have a bodyflag = 1. The number of bodies should be specified in the header section via the “bodies” keyword.</p> <p>Each body can have a variable number of integer and/or floating-point values. The number and meaning of the values is defined by the body style, as described in the <a class="reference internal" href="body.html"><em>body</em></a> doc page. The body style is given as an argument to the <a class="reference internal" href="atom_style.html"><em>atom_style body</em></a> command.</p> <p>The ninteger and ndouble values determine how many integer and floating-point values are specified for this particle. Ninteger and ndouble can be as large as needed and can be different for every body. Integer values are then listed on subsequent lines, 10 values per line. Floating-point values follow on subsequent lines, again 10 per line. If the number of lines is not evenly divisible by 10, the last line in that group contains the remaining values, e.g. 4 values out of 14 in the last example above, for floating-point values. If there are no values of a particular type, no lines appear for that type, e.g. there are no integer lines in the last example above.</p> <p>The <em>Bodies</em> section must appear after the <em>Atoms</em> section.</p> <hr class="docutils" /> <p><em>Bond Coeffs</em> section:</p> <ul class="simple"> <li>one line per bond type</li> <li>line syntax: ID coeffs</li> </ul> <div class="highlight-python"><div class="highlight"><pre>ID = bond type (1-N) - coeffs = list of coeffs +coeffs = list of coeffs </pre></div> </div> <ul class="simple"> <li>example:</li> </ul> <div class="highlight-python"><div class="highlight"><pre>4 250 1.49 </pre></div> </div> <p>The number and meaning of the coefficients are specific to the defined bond style. See the <a class="reference internal" href="bond_style.html"><em>bond_style</em></a> and <a class="reference internal" href="bond_coeff.html"><em>bond_coeff</em></a> commands for details. Coefficients can also be set via the <a class="reference internal" href="bond_coeff.html"><em>bond_coeff</em></a> command in the input script.</p> <hr class="docutils" /> <p><em>BondAngle Coeffs</em> section:</p> <ul class="simple"> <li>one line per angle type</li> <li>line syntax: ID coeffs</li> </ul> <pre class="literal-block"> ID = angle type (1-N) - coeffs = list of coeffs (see class 2 section of <a class="reference internal" href="angle_coeff.html"><em>angle_coeff</em></a>) +coeffs = list of coeffs (see class 2 section of <a class="reference internal" href="angle_coeff.html"><em>angle_coeff</em></a>) </pre> <hr class="docutils" /> <p><em>BondBond Coeffs</em> section:</p> <ul class="simple"> <li>one line per angle type</li> <li>line syntax: ID coeffs</li> </ul> <pre class="literal-block"> ID = angle type (1-N) - coeffs = list of coeffs (see class 2 section of <a class="reference internal" href="angle_coeff.html"><em>angle_coeff</em></a>) +coeffs = list of coeffs (see class 2 section of <a class="reference internal" href="angle_coeff.html"><em>angle_coeff</em></a>) </pre> <hr class="docutils" /> <p><em>BondBond13 Coeffs</em> section:</p> <ul class="simple"> <li>one line per dihedral type</li> <li>line syntax: ID coeffs</li> </ul> <pre class="literal-block"> ID = dihedral type (1-N) - coeffs = list of coeffs (see class 2 section of <a class="reference internal" href="dihedral_coeff.html"><em>dihedral_coeff</em></a>) +coeffs = list of coeffs (see class 2 section of <a class="reference internal" href="dihedral_coeff.html"><em>dihedral_coeff</em></a>) </pre> <hr class="docutils" /> <p><em>Bonds</em> section:</p> <ul class="simple"> <li>one line per bond</li> <li>line syntax: ID type atom1 atom2</li> </ul> <div class="highlight-python"><div class="highlight"><pre>ID = bond number (1-Nbonds) - type = bond type (1-Nbondtype) - atom1,atom2 = IDs of 1st,2nd atoms in bond +type = bond type (1-Nbondtype) +atom1,atom2 = IDs of 1st,2nd atoms in bond </pre></div> </div> <ul class="simple"> <li>example:</li> </ul> <div class="highlight-python"><div class="highlight"><pre>12 3 17 29 </pre></div> </div> <p>The <em>Bonds</em> section must appear after the <em>Atoms</em> section. All values in this section must be integers (1, not 1.0).</p> <hr class="docutils" /> <p><em>Dihedral Coeffs</em> section:</p> <ul class="simple"> <li>one line per dihedral type</li> <li>line syntax: ID coeffs</li> </ul> <div class="highlight-python"><div class="highlight"><pre>ID = dihedral type (1-N) - coeffs = list of coeffs +coeffs = list of coeffs </pre></div> </div> <ul class="simple"> <li>example:</li> </ul> <div class="highlight-python"><div class="highlight"><pre>3 0.6 1 0 1 </pre></div> </div> <p>The number and meaning of the coefficients are specific to the defined dihedral style. See the <a class="reference internal" href="dihedral_style.html"><em>dihedral_style</em></a> and <a class="reference internal" href="dihedral_coeff.html"><em>dihedral_coeff</em></a> commands for details. Coefficients can also be set via the <a class="reference internal" href="dihedral_coeff.html"><em>dihedral_coeff</em></a> command in the input script.</p> <hr class="docutils" /> <p><em>Dihedrals</em> section:</p> <ul class="simple"> <li>one line per dihedral</li> <li>line syntax: ID type atom1 atom2 atom3 atom4</li> </ul> <div class="highlight-python"><div class="highlight"><pre>ID = number of dihedral (1-Ndihedrals) - type = dihedral type (1-Ndihedraltype) - atom1,atom2,atom3,atom4 = IDs of 1st,2nd,3rd,4th atoms in dihedral +type = dihedral type (1-Ndihedraltype) +atom1,atom2,atom3,atom4 = IDs of 1st,2nd,3rd,4th atoms in dihedral </pre></div> </div> <ul class="simple"> <li>example:</li> </ul> <div class="highlight-python"><div class="highlight"><pre>12 4 17 29 30 21 </pre></div> </div> <p>The 4 atoms are ordered linearly within the dihedral. The <em>Dihedrals</em> section must appear after the <em>Atoms</em> section. All values in this section must be integers (1, not 1.0).</p> <hr class="docutils" /> <p><em>Ellipsoids</em> section:</p> <ul class="simple"> <li>one line per ellipsoid</li> <li>line syntax: atom-ID shapex shapey shapez quatw quati quatj quatk</li> </ul> <div class="highlight-python"><div class="highlight"><pre>atom-ID = ID of atom which is an ellipsoid - shapex,shapey,shapez = 3 diameters of ellipsoid (distance units) - quatw,quati,quatj,quatk = quaternion components for orientation of atom +shapex,shapey,shapez = 3 diameters of ellipsoid (distance units) +quatw,quati,quatj,quatk = quaternion components for orientation of atom </pre></div> </div> <ul class="simple"> <li>example:</li> </ul> <div class="highlight-python"><div class="highlight"><pre>12 1 2 1 1 0 0 0 </pre></div> </div> <p>The <em>Ellipsoids</em> section must appear if <a class="reference internal" href="atom_style.html"><em>atom_style ellipsoid</em></a> is used and any atoms are listed in the <em>Atoms</em> section with an ellipsoidflag = 1. The number of ellipsoids should be specified in the header section via the “ellipsoids” keyword.</p> <p>The 3 shape values specify the 3 diameters or aspect ratios of a finite-size ellipsoidal particle, when it is oriented along the 3 coordinate axes. They must all be non-zero values.</p> <p>The values <em>quatw</em>, <em>quati</em>, <em>quatj</em>, and <em>quatk</em> set the orientation of the atom as a quaternion (4-vector). Note that the shape attributes specify the aspect ratios of an ellipsoidal particle, which is oriented by default with its x-axis along the simulation box’s x-axis, and similarly for y and z. If this body is rotated (via the right-hand rule) by an angle theta around a unit vector (a,b,c), then the quaternion that represents its new orientation is given by (cos(theta/2), a*sin(theta/2), b*sin(theta/2), c*sin(theta/2)). These 4 components are quatw, quati, quatj, and quatk as specified above. LAMMPS normalizes each atom’s quaternion in case (a,b,c) is not specified as a unit vector.</p> <p>The <em>Ellipsoids</em> section must appear after the <em>Atoms</em> section.</p> <hr class="docutils" /> <p><em>EndBondTorsion Coeffs</em> section:</p> <ul class="simple"> <li>one line per dihedral type</li> <li>line syntax: ID coeffs</li> </ul> <pre class="literal-block"> ID = dihedral type (1-N) - coeffs = list of coeffs (see class 2 section of <a class="reference internal" href="dihedral_coeff.html"><em>dihedral_coeff</em></a>) +coeffs = list of coeffs (see class 2 section of <a class="reference internal" href="dihedral_coeff.html"><em>dihedral_coeff</em></a>) </pre> <hr class="docutils" /> <p><em>Improper Coeffs</em> section:</p> <ul class="simple"> <li>one line per improper type</li> <li>line syntax: ID coeffs</li> </ul> <div class="highlight-python"><div class="highlight"><pre>ID = improper type (1-N) - coeffs = list of coeffs +coeffs = list of coeffs </pre></div> </div> <ul class="simple"> <li>example:</li> </ul> <div class="highlight-python"><div class="highlight"><pre>2 20 0.0548311 </pre></div> </div> <p>The number and meaning of the coefficients are specific to the defined improper style. See the <a class="reference internal" href="improper_style.html"><em>improper_style</em></a> and <a class="reference internal" href="improper_coeff.html"><em>improper_coeff</em></a> commands for details. Coefficients can also be set via the <a class="reference internal" href="improper_coeff.html"><em>improper_coeff</em></a> command in the input script.</p> <hr class="docutils" /> <p><em>Impropers</em> section:</p> <ul class="simple"> <li>one line per improper</li> <li>line syntax: ID type atom1 atom2 atom3 atom4</li> </ul> <div class="highlight-python"><div class="highlight"><pre>ID = number of improper (1-Nimpropers) - type = improper type (1-Nimpropertype) - atom1,atom2,atom3,atom4 = IDs of 1st,2nd,3rd,4th atoms in improper +type = improper type (1-Nimpropertype) +atom1,atom2,atom3,atom4 = IDs of 1st,2nd,3rd,4th atoms in improper </pre></div> </div> <ul class="simple"> <li>example:</li> </ul> <div class="highlight-python"><div class="highlight"><pre>12 3 17 29 13 100 </pre></div> </div> <p>The ordering of the 4 atoms determines the definition of the improper angle used in the formula for each <a class="reference internal" href="improper_style.html"><em>improper style</em></a>. See the doc pages for individual styles for details.</p> <p>The <em>Impropers</em> section must appear after the <em>Atoms</em> section. All values in this section must be integers (1, not 1.0).</p> <hr class="docutils" /> <p><em>Lines</em> section:</p> <ul class="simple"> <li>one line per line segment</li> <li>line syntax: atom-ID x1 y1 x2 y2</li> </ul> <div class="highlight-python"><div class="highlight"><pre>atom-ID = ID of atom which is a line segment - x1,y1 = 1st end point - x2,y2 = 2nd end point +x1,y1 = 1st end point +x2,y2 = 2nd end point </pre></div> </div> <ul class="simple"> <li>example:</li> </ul> <div class="highlight-python"><div class="highlight"><pre>12 1.0 0.0 2.0 0.0 </pre></div> </div> <p>The <em>Lines</em> section must appear if <a class="reference internal" href="atom_style.html"><em>atom_style line</em></a> is used and any atoms are listed in the <em>Atoms</em> section with a lineflag = 1. The number of lines should be specified in the header section via the “lines” keyword.</p> <p>The 2 end points are the end points of the line segment. The ordering of the 2 points should be such that using a right-hand rule to cross the line segment with a unit vector in the +z direction, gives an “outward” normal vector perpendicular to the line segment. I.e. normal = (c2-c1) x (0,0,1). This orientation may be important for defining some interactions.</p> <p>The <em>Lines</em> section must appear after the <em>Atoms</em> section.</p> <hr class="docutils" /> <p><em>Masses</em> section:</p> <ul class="simple"> <li>one line per atom type</li> <li>line syntax: ID mass</li> </ul> <div class="highlight-python"><div class="highlight"><pre>ID = atom type (1-N) - mass = mass value +mass = mass value </pre></div> </div> <ul class="simple"> <li>example:</li> </ul> <div class="highlight-python"><div class="highlight"><pre>3 1.01 </pre></div> </div> <p>This defines the mass of each atom type. This can also be set via the <a class="reference internal" href="mass.html"><em>mass</em></a> command in the input script. This section cannot be used for atom styles that define a mass for individual atoms - e.g. <a class="reference internal" href="atom_style.html"><em>atom_style sphere</em></a>.</p> <hr class="docutils" /> <p><em>MiddleBondTorsion Coeffs</em> section:</p> <ul class="simple"> <li>one line per dihedral type</li> <li>line syntax: ID coeffs</li> </ul> <pre class="literal-block"> ID = dihedral type (1-N) - coeffs = list of coeffs (see class 2 section of <a class="reference internal" href="dihedral_coeff.html"><em>dihedral_coeff</em></a>) +coeffs = list of coeffs (see class 2 section of <a class="reference internal" href="dihedral_coeff.html"><em>dihedral_coeff</em></a>) </pre> <hr class="docutils" /> <p><em>Pair Coeffs</em> section:</p> <ul class="simple"> <li>one line per atom type</li> <li>line syntax: ID coeffs</li> </ul> <div class="highlight-python"><div class="highlight"><pre>ID = atom type (1-N) - coeffs = list of coeffs +coeffs = list of coeffs </pre></div> </div> <ul class="simple"> <li>example:</li> </ul> <div class="highlight-python"><div class="highlight"><pre>3 0.022 2.35197 0.022 2.35197 </pre></div> </div> <p>The number and meaning of the coefficients are specific to the defined pair style. See the <a class="reference internal" href="pair_style.html"><em>pair_style</em></a> and <a class="reference internal" href="pair_coeff.html"><em>pair_coeff</em></a> commands for details. Since pair coefficients for types I != J are not specified, these will be generated automatically by the pair style’s mixing rule. See the individual pair_style doc pages and the <a class="reference internal" href="pair_modify.html"><em>pair_modify mix</em></a> command for details. Pair coefficients can also be set via the <a class="reference internal" href="pair_coeff.html"><em>pair_coeff</em></a> command in the input script.</p> <hr class="docutils" /> <p><em>PairIJ Coeffs</em> section:</p> <ul class="simple"> <li>one line per pair of atom types for all I,J with I <= J</li> <li>line syntax: ID1 ID2 coeffs</li> </ul> <div class="highlight-python"><div class="highlight"><pre>ID1 = atom type I = 1-N - ID2 = atom type J = I-N, with I <= J - coeffs = list of coeffs +ID2 = atom type J = I-N, with I <= J +coeffs = list of coeffs </pre></div> </div> <ul class="simple"> <li>examples:</li> </ul> <div class="highlight-python"><div class="highlight"><pre>3 3 0.022 2.35197 0.022 2.35197 - 3 5 0.022 2.35197 0.022 2.35197 +3 5 0.022 2.35197 0.022 2.35197 </pre></div> </div> <p>This section must have N*(N+1)/2 lines where N = # of atom types. The number and meaning of the coefficients are specific to the defined pair style. See the <a class="reference internal" href="pair_style.html"><em>pair_style</em></a> and <a class="reference internal" href="pair_coeff.html"><em>pair_coeff</em></a> commands for details. Since pair coefficients for types I != J are all specified, these values will turn off the default mixing rule defined by the pair style. See the individual pair_style doc pages and the <a class="reference internal" href="pair_modify.html"><em>pair_modify mix</em></a> command for details. Pair coefficients can also be set via the <a class="reference internal" href="pair_coeff.html"><em>pair_coeff</em></a> command in the input script.</p> <hr class="docutils" /> <p><em>Triangles</em> section:</p> <ul class="simple"> <li>one line per triangle</li> <li>line syntax: atom-ID x1 y1 x2 y2</li> </ul> <div class="highlight-python"><div class="highlight"><pre>atom-ID = ID of atom which is a line segment - x1,y1,z1 = 1st corner point - x2,y2,z2 = 2nd corner point - x3,y3,z3 = 3rd corner point +x1,y1,z1 = 1st corner point +x2,y2,z2 = 2nd corner point +x3,y3,z3 = 3rd corner point </pre></div> </div> <ul class="simple"> <li>example:</li> </ul> <div class="highlight-python"><div class="highlight"><pre>12 0.0 0.0 0.0 2.0 0.0 1.0 0.0 2.0 1.0 </pre></div> </div> <p>The <em>Triangles</em> section must appear if <a class="reference internal" href="atom_style.html"><em>atom_style tri</em></a> is used and any atoms are listed in the <em>Atoms</em> section with a triangleflag = 1. The number of lines should be specified in the header section via the “triangles” keyword.</p> <p>The 3 corner points are the corner points of the triangle. The ordering of the 3 points should be such that using a right-hand rule to go from point1 to point2 to point3 gives an “outward” normal vector to the face of the triangle. I.e. normal = (c2-c1) x (c3-c1). This orientation may be important for defining some interactions.</p> <p>The <em>Triangles</em> section must appear after the <em>Atoms</em> section.</p> <hr class="docutils" /> <p><em>Velocities</em> section:</p> <ul class="simple"> <li>one line per atom</li> <li>line syntax: depends on atom style</li> </ul> <table border="1" class="docutils"> <colgroup> <col width="42%" /> <col width="58%" /> </colgroup> <tbody valign="top"> <tr class="row-odd"><td>all styles except those listed</td> <td>atom-ID vx vy vz</td> </tr> <tr class="row-even"><td>electron</td> <td>atom-ID vx vy vz ervel</td> </tr> <tr class="row-odd"><td>ellipsoid</td> <td>atom-ID vx vy vz lx ly lz</td> </tr> <tr class="row-even"><td>sphere</td> <td>atom-ID vx vy vz wx wy wz</td> </tr> <tr class="row-odd"><td>hybrid</td> <td>atom-ID vx vy vz sub-style1 sub-style2 ...</td> </tr> </tbody> </table> <p>where the keywords have these meanings:</p> <p>vx,vy,vz = translational velocity of atom lx,ly,lz = angular momentum of aspherical atom wx,wy,wz = angular velocity of spherical atom ervel = electron radial velocity (0 for fixed-core):ul</p> <p>The velocity lines can appear in any order. This section can only be used after an <em>Atoms</em> section. This is because the <em>Atoms</em> section must have assigned a unique atom ID to each atom so that velocities can be assigned to them.</p> <p>Vx, vy, vz, and ervel are in <a class="reference internal" href="units.html"><em>units</em></a> of velocity. Lx, ly, lz are in units of angular momentum (distance-velocity-mass). Wx, Wy, Wz are in units of angular velocity (radians/time).</p> <p>For atom_style hybrid, following the 4 initial values (ID,vx,vy,vz), specific values for each sub-style must be listed. The order of the sub-styles is the same as they were listed in the <a class="reference internal" href="atom_style.html"><em>atom_style</em></a> command. The sub-style specific values are those that are not the 5 standard ones (ID,vx,vy,vz). For example, for the “sphere” sub-style, “wx”, “wy”, “wz” values would appear. These are listed in the same order they appear as listed above. Thus if</p> <div class="highlight-python"><div class="highlight"><pre>atom_style hybrid electron sphere </pre></div> </div> <p>were used in the input script, each velocity line would have these fields:</p> <div class="highlight-python"><div class="highlight"><pre>atom-ID vx vy vz ervel wx wy wz </pre></div> </div> <p>Translational velocities can also be set by the <a class="reference internal" href="velocity.html"><em>velocity</em></a> command in the input script.</p> </div> <hr class="docutils" /> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <p>To read gzipped data files, you must compile LAMMPS with the -DLAMMPS_GZIP option - see the <a class="reference internal" href="Section_start.html#start-2"><span>Making LAMMPS</span></a> section of the documentation.</p> </div> <div class="section" id="related-commands"> <h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2> <p><a class="reference internal" href="read_dump.html"><em>read_dump</em></a>, <a class="reference internal" href="read_restart.html"><em>read_restart</em></a>, <a class="reference internal" href="create_atoms.html"><em>create_atoms</em></a>, <a class="reference internal" href="write_data.html"><em>write_data</em></a></p> </div> <div class="section" id="default"> <h2>Default<a class="headerlink" href="#default" title="Permalink to this headline">¶</a></h2> <p>The default for all the <em>extra</em> keywords is 0.</p> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/read_dump.html b/doc/read_dump.html index e986e9e9f..98669011e 100644 --- a/doc/read_dump.html +++ b/doc/read_dump.html @@ -1,477 +1,477 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>read_dump command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>read_dump command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="read-dump-command"> <span id="index-0"></span><h1>read_dump command<a class="headerlink" href="#read-dump-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>read_dump file Nstep field1 field2 ... keyword values ... </pre></div> </div> <ul class="simple"> <li>file = name of dump file to read</li> <li>Nstep = snapshot timestep to read from file</li> <li>one or more fields may be appended</li> </ul> <pre class="literal-block"> field = <em>x</em> or <em>y</em> or <em>z</em> or <em>vx</em> or <em>vy</em> or <em>vz</em> or <em>q</em> or <em>ix</em> or <em>iy</em> or <em>iz</em> <em>x</em>,*y*,*z* = atom coordinates <em>vx</em>,*vy*,*vz* = velocity components <em>q</em> = charge <em>ix</em>,*iy*,*iz* = image flags in each dimension </pre> <ul class="simple"> <li>zero or more keyword/value pairs may be appended</li> <li>keyword = <em>box</em> or <em>replace</em> or <em>purge</em> or <em>trim</em> or <em>add</em> or <em>label</em> or <em>scaled</em> or <em>wrapped</em> or <em>format</em></li> </ul> <pre class="literal-block"> <em>box</em> value = <em>yes</em> or <em>no</em> = replace simulation box with dump box - <em>replace</em> value = <em>yes</em> or <em>no</em> = overwrite atoms with dump atoms - <em>purge</em> value = <em>yes</em> or <em>no</em> = delete all atoms before adding dump atoms - <em>trim</em> value = <em>yes</em> or <em>no</em> = trim atoms not in dump snapshot - <em>add</em> value = <em>yes</em> or <em>no</em> = add new dump atoms to system - <em>label</em> value = field column - field = one of the listed fields or <em>id</em> or <em>type</em> - column = label on corresponding column in dump file - <em>scaled</em> value = <em>yes</em> or <em>no</em> = coords in dump file are scaled/unscaled - <em>wrapped</em> value = <em>yes</em> or <em>no</em> = coords in dump file are wrapped/unwrapped - <em>format</em> values = format of dump file, must be last keyword if used - <em>native</em> = native LAMMPS dump file - <em>xyz</em> = XYZ file - <em>molfile</em> style path = VMD molfile plugin interface - style = <em>dcd</em> or <em>xyz</em> or others supported by molfile plugins - path = optional path for location of molfile plugins +<em>replace</em> value = <em>yes</em> or <em>no</em> = overwrite atoms with dump atoms +<em>purge</em> value = <em>yes</em> or <em>no</em> = delete all atoms before adding dump atoms +<em>trim</em> value = <em>yes</em> or <em>no</em> = trim atoms not in dump snapshot +<em>add</em> value = <em>yes</em> or <em>no</em> = add new dump atoms to system +<em>label</em> value = field column + field = one of the listed fields or <em>id</em> or <em>type</em> + column = label on corresponding column in dump file +<em>scaled</em> value = <em>yes</em> or <em>no</em> = coords in dump file are scaled/unscaled +<em>wrapped</em> value = <em>yes</em> or <em>no</em> = coords in dump file are wrapped/unwrapped +<em>format</em> values = format of dump file, must be last keyword if used + <em>native</em> = native LAMMPS dump file + <em>xyz</em> = XYZ file + <em>molfile</em> style path = VMD molfile plugin interface + style = <em>dcd</em> or <em>xyz</em> or others supported by molfile plugins + path = optional path for location of molfile plugins </pre> </div> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>read_dump dump.file 5000 x y z read_dump dump.xyz 5 x y z box no format xyz read_dump dump.xyz 10 x y z box no format molfile xyz "../plugins" read_dump dump.dcd 0 x y z box yes format molfile dcd read_dump dump.file 1000 x y z vx vy vz box yes format molfile lammpstrj /usr/local/lib/vmd/plugins/LINUXAMD64/plugins/molfile read_dump dump.file 5000 x y vx vy trim yes read_dump ../run7/dump.file.gz 10000 x y z box yes read_dump dump.xyz 10 x y z box no format molfile xyz ../plugins read_dump dump.dcd 0 x y z format molfile dcd read_dump dump.file 1000 x y z vx vy vz format molfile lammpstrj /usr/local/lib/vmd/plugins/LINUXAMD64/plugins/molfile </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>Read atom information from a dump file to overwrite the current atom coordinates, and optionally the atom velocities and image flags and the simluation box dimensions. This is useful for restarting a run from a particular snapshot in a dump file. See the <a class="reference internal" href="read_restart.html"><em>read_restart</em></a> and <a class="reference internal" href="read_data.html"><em>read_data</em></a> commands for alternative methods to do this. Also see the <a class="reference internal" href="rerun.html"><em>rerun</em></a> command for a means of reading multiple snapshots from a dump file.</p> <p>Note that a simulation box must already be defined before using the read_dump command. This can be done by the <a class="reference internal" href="create_box.html"><em>create_box</em></a>, <a class="reference internal" href="read_data.html"><em>read_data</em></a>, or <a class="reference internal" href="read_restart.html"><em>read_restart</em></a> commands. The read_dump command can reset the simulation box dimensions, as explained below.</p> <p>Also note that reading per-atom information from a dump snapshot is limited to the atom coordinates, velocities and image flags, as explained below. Other atom properties, which may be necessary to run a valid simulation, such as atom charge, or bond topology information for a molecular system, are not read from (or even contained in) dump files. Thus this auxiliary information should be defined in the usual way, e.g. in a data file read in by a <a class="reference internal" href="read_data.html"><em>read_data</em></a> command, before using the read_dump command, or by the <a class="reference internal" href="set.html"><em>set</em></a> command, after the dump snapshot is read.</p> <hr class="docutils" /> <p>If the dump filename specified as <em>file</em> ends with ”.gz”, the dump file is read in gzipped format. You cannot (yet) read a dump file that was written in binary format with a ”.bin” suffix, or to multiple files via the “%” option in the dump file name. See the <a class="reference internal" href="dump.html"><em>dump</em></a> command for details.</p> <p>The format of the dump file is selected through the <em>format</em> keyword. If specified, it must be the last keyword used, since all remaining arguments are passed on to the dump reader. The <em>native</em> format is for native LAMMPS dump files, written with a <a class="reference internal" href="dump.html"><em>dump atom</em></a> or <a class="reference internal" href="dump.html"><em>dump custom</em></a> command. The <em>xyz</em> format is for generic XYZ formatted dump files. These formats take no additional values.</p> <p>The <em>molfile</em> format supports reading data through using the <a class="reference external" href="vmd">VMD</a> molfile plugin interface. This dump reader format is only available, if the USER-MOLFILE package has been installed when compiling LAMMPS.</p> <p>The <em>molfile</em> format takes one or two additional values. The <em>style</em> value determines the file format to be used and can be any format that the molfile plugins support, such as DCD or XYZ. Note that DCD dump files can be written by LAMMPS via the <a class="reference internal" href="dump.html"><em>dump dcd</em></a> command. The <em>path</em> value specifies a list of directories which LAMMPS will search for the molfile plugins appropriate to the specified <em>style</em>. The syntax of the <em>path</em> value is like other search paths: it can contain multiple directories separated by a colon (or semi-colon on windows). The <em>path</em> keyword is optional and defaults to ”.”, i.e. the current directory.</p> <p>Support for other dump format readers may be added in the future.</p> <hr class="docutils" /> <p>Global information is first read from the dump file, namely timestep and box information.</p> <p>The dump file is scanned for a snapshot with a time stamp that matches the specified <em>Nstep</em>. This means the LAMMPS timestep the dump file snapshot was written on for the <em>native</em> format. Note that the <em>xyz</em> and <em>molfile</em> formats do not store the timestep. For these formats, timesteps are numbered logically, in a sequential manner, starting from 0. Thus to access the 10th snapshot in an <em>xyz</em> or <em>mofile</em> formatted dump file, use <em>Nstep</em> = 9.</p> <p>The dimensions of the simulation box for the selected snapshot are also read; see the <em>box</em> keyword discussion below. For the <em>native</em> format, an error is generated if the snapshot is for a triclinic box and the current simulation box is orthogonal or vice versa. A warning will be generated if the snapshot box boundary conditions (periodic, shrink-wrapped, etc) do not match the current simulation boundary conditions, but the boundary condition information in the snapshot is otherwise ignored. See the “boundary” command for more details.</p> <p>For the <em>xyz</em> format, no information about the box is available, so you must set the <em>box</em> flag to <em>no</em>. See details below.</p> <p>For the <em>molfile</em> format, reading simulation box information is typically supported, but the location of the simulation box origin is lost and no explicit information about periodicity or orthogonal/triclinic box shape is available. The USER-MOLFILE package makes a best effort to guess based on heuristics, but this may not always work perfectly.</p> <hr class="docutils" /> <p>Per-atom information from the dump file snapshot is then read from the dump file snapshot. This corresponds to the specified <em>fields</em> listed in the read_dump command. It is an error to specify a z-dimension field, namely <em>z</em>, <em>vz</em>, or <em>iz</em>, for a 2d simulation.</p> <p>For dump files in <em>native</em> format, each column of per-atom data has a text label listed in the file. A matching label for each field must appear, e.g. the label “vy” for the field <em>vy</em>. For the <em>x</em>, <em>y</em>, <em>z</em> fields any of the following labels are considered a match:</p> <pre class="literal-block"> x, xs, xu, xsu for field <em>x</em> y, ys, yu, ysu for field <em>y</em> z, zs, zu, zsu for field <em>z</em> </pre> <p>The meaning of xs (scaled), xu (unwrapped), and xsu (scaled and unwrapped) is explained on the <a class="reference internal" href="dump.html"><em>dump</em></a> command doc page. These labels are searched for in the list of column labels in the dump file, in order, until a match is found.</p> <p>The dump file must also contain atom IDs, with a column label of “id”.</p> <p>If the <em>add</em> keyword is specified with a value of <em>yes</em>, as discussed below, the dump file must contain atom types, with a column label of “type”.</p> <p>If a column label you want to read from the dump file is not a match to a specified field, the <em>label</em> keyword can be used to specify the specific column label from the dump file to associate with that field. An example is if a time-averaged coordinate is written to the dump file via the <a class="reference internal" href="fix_ave_atom.html"><em>fix ave/atom</em></a> command. The column will then have a label corresponding to the fix-ID rather than “x” or “xs”. The <em>label</em> keyword can also be used to specify new column labels for fields <em>id</em> and <em>type</em>.</p> <p>For dump files in <em>xyz</em> format, only the <em>x</em>, <em>y</em>, and <em>z</em> fields are supported. The dump file does not store atom IDs, so these are assigned consecutively to the atoms as they appear in the dump file, starting from 1. Thus you should insure that order of atoms is consistent from snapshot to snapshot in the the XYZ dump file. See the <a class="reference internal" href="dump_modify.html"><em>dump_modify sort</em></a> command if the XYZ dump file was written by LAMMPS.</p> <p>For dump files in <em>molfile</em> format, the <em>x</em>, <em>y</em>, <em>z</em>, <em>vx</em>, <em>vy</em>, and <em>vz</em> fields can be specified. However, not all molfile formats store velocities, or their respective plugins may not support reading of velocities. The molfile dump files do not store atom IDs, so these are assigned consecutively to the atoms as they appear in the dump file, starting from 1. Thus you should insure that order of atoms are consistent from snapshot to snapshot in the the molfile dump file. See the <a class="reference internal" href="dump_modify.html"><em>dump_modify sort</em></a> command if the dump file was written by LAMMPS.</p> <hr class="docutils" /> <p>Information from the dump file snapshot is used to overwrite or replace properties of the current system. There are various options for how this is done, determined by the specified fields and optional keywords.</p> <p>The timestep of the snapshot becomes the current timestep for the simulation. See the <a class="reference internal" href="reset_timestep.html"><em>reset_timestep</em></a> command if you wish to change this after the dump snapshot is read.</p> <p>If the <em>box</em> keyword is specified with a <em>yes</em> value, then the current simulation box dimensions are replaced by the dump snapshot box dimensions. If the <em>box</em> keyword is specified with a <em>no</em> value, the current simulatoin box is unchanged.</p> <p>If the <em>purge</em> keyword is specified with a <em>yes</em> value, then all current atoms in the system are deleted before any of the operations invoked by the <em>replace</em>, <em>trim</em>, or <em>add</em> keywords take place.</p> <p>If the <em>replace</em> keyword is specified with a <em>yes</em> value, then atoms with IDs that are in both the current system and the dump snapshot have their properties overwritten by field values. If the <em>replace</em> keyword is specified with a <em>no</em> value, atoms with IDs that are in both the current system and the dump snapshot are not modified.</p> <p>If the <em>trim</em> keyword is specified with a <em>yes</em> value, then atoms with IDs that are in the current system but not in the dump snapshot are deleted. These atoms are unaffected if the <em>trim</em> keyword is specified with a <em>no</em> value.</p> <p>If the <em>add</em> keyword is specified with a <em>yes</em> value, then atoms with IDs that are in the dump snapshot, but not in the current system are added to the system. These dump atoms are ignored if the <em>add</em> keyword is specified with a <em>no</em> value.</p> <p>Note that atoms added via the <em>add</em> keyword will have only the attributes read from the dump file due to the <em>field</em> arguments. If <em>x</em> or <em>y</em> or <em>z</em> is not specified as a field, a value of 0.0 is used for added atoms. Added atoms must have an atom type, so this value must appear in the dump file.</p> <p>Any other attributes (e.g. charge or particle diameter for spherical particles) will be set to default values, the same as if the <a class="reference internal" href="create_atoms.html"><em>create_atoms</em></a> command were used.</p> <p>Note that atom IDs are not preserved for new dump snapshot atoms added via the <em>add</em> keyword. The procedure for assigning new atom IDS to added atoms is the same as is described for the <a class="reference internal" href="create_atoms.html"><em>create_atoms</em></a> command.</p> <hr class="docutils" /> <p>Atom coordinates read from the dump file are first converted into unscaled coordinates, relative to the box dimensions of the snapshot. These coordinates are then be assigned to an existing or new atom in the current simulation. The coordinates will then be remapped to the simulation box, whether it is the original box or the dump snapshot box. If periodic boundary conditions apply, this means the atom will be remapped back into the simulation box if necessary. If shrink-wrap boundary conditions apply, the new coordinates may change the simulation box dimensions. If fixed boundary conditions apply, the atom will be lost if it is outside the simulation box.</p> <p>For <em>native</em> format dump files, the 3 xyz image flags for an atom in the dump file are set to the corresponding values appearing in the dump file if the <em>ix</em>, <em>iy</em>, <em>iz</em> fields are specified. If not specified, the image flags for replaced atoms are not changed and image flags for new atoms are set to default values. If coordinates read from the dump file are in unwrapped format (e.g. <em>xu</em>) then the image flags for read-in atoms are also set to default values. The remapping procedure described in the previous paragraph will then change images flags for all atoms (old and new) if periodic boundary conditions are applied to remap an atom back into the simulation box.</p> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">If you get a warning about inconsistent image flags after reading in a dump snapshot, it means one or more pairs of bonded atoms now have inconsistent image flags. As discussed in <a class="reference internal" href="Section_errors.html"><em>Section errors</em></a> this may or may not cause problems for subsequent simulations, One way this can happen is if you read image flag fields from the dump file but do not also use the dump file box parameters.</p> </div> <p>LAMMPS knows how to compute unscaled and remapped coordinates for the snapshot column labels discussed above, e.g. <em>x</em>, <em>xs</em>, <em>xu</em>, <em>xsu</em>. If another column label is assigned to the <em>x</em> or <em>y</em> or <em>z</em> field via the <em>label</em> keyword, e.g. for coordinates output by the <a class="reference internal" href="fix_ave_atom.html"><em>fix ave/atom</em></a> command, then LAMMPS needs to know whether the coordinate information in the dump file is scaled and/or wrapped. This can be set via the <em>scaled</em> and <em>wrapped</em> keywords. Note that the value of the <em>scaled</em> and <em>wrapped</em> keywords is ignored for fields <em>x</em> or <em>y</em> or <em>z</em> if the <em>label</em> keyword is not used to assign a column label to that field.</p> <p>The scaled/unscaled and wrapped/unwrapped setting must be identical for any of the <em>x</em>, <em>y</em>, <em>z</em> fields that are specified. Thus you cannot read <em>xs</em> and <em>yu</em> from the dump file. Also, if the dump file coordinates are scaled and the simulation box is triclinic, then all 3 of the <em>x</em>, <em>y</em>, <em>z</em> fields must be specified, since they are all needed to generate absolute, unscaled coordinates.</p> </div> <hr class="docutils" /> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <p>To read gzipped dump files, you must compile LAMMPS with the -DLAMMPS_GZIP option - see the <a class="reference internal" href="Section_start.html#start-2"><span>Making LAMMPS</span></a> section of the documentation.</p> <p>The <em>molfile</em> dump file formats are part of the USER-MOLFILE package. They are only enabled if LAMMPS was built with that packages. See the <a class="reference internal" href="Section_start.html#start-3"><span>Making LAMMPS</span></a> section for more info.</p> </div> <div class="section" id="related-commands"> <h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2> <p><a class="reference internal" href="dump.html"><em>dump</em></a>, <a class="reference internal" href="dump_molfile.html"><em>dump molfile</em></a>, <a class="reference internal" href="read_data.html"><em>read_data</em></a>, <a class="reference internal" href="read_restart.html"><em>read_restart</em></a>, <a class="reference internal" href="rerun.html"><em>rerun</em></a></p> </div> <div class="section" id="default"> <h2>Default<a class="headerlink" href="#default" title="Permalink to this headline">¶</a></h2> <p>The option defaults are box = yes, replace = yes, purge = no, trim = no, add = no, scaled = no, wrapped = yes, and format = native.</p> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/region.html b/doc/region.html index e5a3e983c..3ac0eae59 100644 --- a/doc/region.html +++ b/doc/region.html @@ -1,485 +1,485 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>region command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>region command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="region-command"> <span id="index-0"></span><h1>region command<a class="headerlink" href="#region-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>region ID style args keyword arg ... </pre></div> </div> <ul class="simple"> <li>ID = user-assigned name for the region</li> <li>style = <em>delete</em> or <em>block</em> or <em>cone</em> or <em>cylinder</em> or <em>plane</em> or <em>prism</em> or <em>sphere</em> or <em>union</em> or <em>intersect</em></li> </ul> <pre class="literal-block"> <em>delete</em> = no args - <em>block</em> args = xlo xhi ylo yhi zlo zhi - xlo,xhi,ylo,yhi,zlo,zhi = bounds of block in all dimensions (distance units) - <em>cone</em> args = dim c1 c2 radlo radhi lo hi - dim = <em>x</em> or <em>y</em> or <em>z</em> = axis of cone - c1,c2 = coords of cone axis in other 2 dimensions (distance units) - radlo,radhi = cone radii at lo and hi end (distance units) - lo,hi = bounds of cone in dim (distance units) - <em>cylinder</em> args = dim c1 c2 radius lo hi - dim = <em>x</em> or <em>y</em> or <em>z</em> = axis of cylinder - c1,c2 = coords of cylinder axis in other 2 dimensions (distance units) - radius = cylinder radius (distance units) - radius can be a variable (see below) - lo,hi = bounds of cylinder in dim (distance units) - <em>plane</em> args = px py pz nx ny nz - px,py,pz = point on the plane (distance units) - nx,ny,nz = direction normal to plane (distance units) - <em>prism</em> args = xlo xhi ylo yhi zlo zhi xy xz yz - xlo,xhi,ylo,yhi,zlo,zhi = bounds of untilted prism (distance units) - xy = distance to tilt y in x direction (distance units) - xz = distance to tilt z in x direction (distance units) - yz = distance to tilt z in y direction (distance units) - <em>sphere</em> args = x y z radius - x,y,z = center of sphere (distance units) - radius = radius of sphere (distance units) - radius can be a variable (see below) - <em>union</em> args = N reg-ID1 reg-ID2 ... - N = # of regions to follow, must be 2 or greater - reg-ID1,reg-ID2, ... = IDs of regions to join together - <em>intersect</em> args = N reg-ID1 reg-ID2 ... - N = # of regions to follow, must be 2 or greater - reg-ID1,reg-ID2, ... = IDs of regions to intersect +<em>block</em> args = xlo xhi ylo yhi zlo zhi + xlo,xhi,ylo,yhi,zlo,zhi = bounds of block in all dimensions (distance units) +<em>cone</em> args = dim c1 c2 radlo radhi lo hi + dim = <em>x</em> or <em>y</em> or <em>z</em> = axis of cone + c1,c2 = coords of cone axis in other 2 dimensions (distance units) + radlo,radhi = cone radii at lo and hi end (distance units) + lo,hi = bounds of cone in dim (distance units) +<em>cylinder</em> args = dim c1 c2 radius lo hi + dim = <em>x</em> or <em>y</em> or <em>z</em> = axis of cylinder + c1,c2 = coords of cylinder axis in other 2 dimensions (distance units) + radius = cylinder radius (distance units) + radius can be a variable (see below) + lo,hi = bounds of cylinder in dim (distance units) +<em>plane</em> args = px py pz nx ny nz + px,py,pz = point on the plane (distance units) + nx,ny,nz = direction normal to plane (distance units) +<em>prism</em> args = xlo xhi ylo yhi zlo zhi xy xz yz + xlo,xhi,ylo,yhi,zlo,zhi = bounds of untilted prism (distance units) + xy = distance to tilt y in x direction (distance units) + xz = distance to tilt z in x direction (distance units) + yz = distance to tilt z in y direction (distance units) +<em>sphere</em> args = x y z radius + x,y,z = center of sphere (distance units) + radius = radius of sphere (distance units) + radius can be a variable (see below) +<em>union</em> args = N reg-ID1 reg-ID2 ... + N = # of regions to follow, must be 2 or greater + reg-ID1,reg-ID2, ... = IDs of regions to join together +<em>intersect</em> args = N reg-ID1 reg-ID2 ... + N = # of regions to follow, must be 2 or greater + reg-ID1,reg-ID2, ... = IDs of regions to intersect </pre> <ul class="simple"> <li>zero or more keyword/arg pairs may be appended</li> <li>keyword = <em>side</em> or <em>units</em> or <em>move</em> or <em>rotate</em></li> </ul> <pre class="literal-block"> <em>side</em> value = <em>in</em> or <em>out</em> - <em>in</em> = the region is inside the specified geometry - <em>out</em> = the region is outside the specified geometry - <em>units</em> value = <em>lattice</em> or <em>box</em> - <em>lattice</em> = the geometry is defined in lattice units - <em>box</em> = the geometry is defined in simulation box units - <em>move</em> args = v_x v_y v_z - v_x,v_y,v_z = equal-style variables for x,y,z displacement of region over time - <em>rotate</em> args = v_theta Px Py Pz Rx Ry Rz - v_theta = equal-style variable for rotaton of region over time (in radians) - Px,Py,Pz = origin for axis of rotation (distance units) - Rx,Ry,Rz = axis of rotation vector + <em>in</em> = the region is inside the specified geometry + <em>out</em> = the region is outside the specified geometry +<em>units</em> value = <em>lattice</em> or <em>box</em> + <em>lattice</em> = the geometry is defined in lattice units + <em>box</em> = the geometry is defined in simulation box units +<em>move</em> args = v_x v_y v_z + v_x,v_y,v_z = equal-style variables for x,y,z displacement of region over time +<em>rotate</em> args = v_theta Px Py Pz Rx Ry Rz + v_theta = equal-style variable for rotaton of region over time (in radians) + Px,Py,Pz = origin for axis of rotation (distance units) + Rx,Ry,Rz = axis of rotation vector </pre> </div> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>region 1 block -3.0 5.0 INF 10.0 INF INF region 2 sphere 0.0 0.0 0.0 5 side out region void cylinder y 2 3 5 -5.0 EDGE units box region 1 prism 0 10 0 10 0 10 2 0 0 region outside union 4 side1 side2 side3 side4 region 2 sphere 0.0 0.0 0.0 5 side out move v_left v_up NULL </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>This command defines a geometric region of space. Various other commands use regions. For example, the region can be filled with atoms via the <a class="reference internal" href="create_atoms.html"><em>create_atoms</em></a> command. Or a bounding box around the region, can be used to define the simulation box via the <a class="reference internal" href="create_box.html"><em>create_box</em></a> command. Or the atoms in the region can be identified as a group via the <a class="reference internal" href="group.html"><em>group</em></a> command, or deleted via the <a class="reference internal" href="delete_atoms.html"><em>delete_atoms</em></a> command. Or the surface of the region can be used as a boundary wall via the <a class="reference internal" href="fix_wall_region.html"><em>fix wall/region</em></a> command.</p> <p>Commands which use regions typically test whether an atom’s position is contained in the region or not. For this purpose, coordinates exactly on the region boundary are considered to be interior to the region. This means, for example, for a spherical region, an atom on the sphere surface would be part of the region if the sphere were defined with the <em>side in</em> keyword, but would not be part of the region if it were defined using the <em>side out</em> keyword. See more details on the <em>side</em> keyword below.</p> <p>Normally, regions in LAMMPS are “static”, meaning their geometric extent does not change with time. If the <em>move</em> or <em>rotate</em> keyword is used, as described below, the region becomes “dynamic”, meaning it’s location or orientation changes with time. This may be useful, for example, when thermostatting a region, via the compute temp/region command, or when the fix wall/region command uses a region surface as a bounding wall on particle motion, i.e. a rotating container.</p> <p>The <em>delete</em> style removes the named region. Since there is little overhead to defining extra regions, there is normally no need to do this, unless you are defining and discarding large numbers of regions in your input script.</p> <p>The lo/hi values for <em>block</em> or <em>cone</em> or <em>cylinder</em> or <em>prism</em> styles can be specified as EDGE or INF. EDGE means they extend all the way to the global simulation box boundary. Note that this is the current box boundary; if the box changes size during a simulation, the region does not. INF means a large negative or positive number (1.0e20), so it should encompass the simulation box even if it changes size. If a region is defined before the simulation box has been created (via <a class="reference internal" href="create_box.html"><em>create_box</em></a> or <a class="reference internal" href="read_data.html"><em>read_data</em></a> or <a class="reference internal" href="read_restart.html"><em>read_restart</em></a> commands), then an EDGE or INF parameter cannot be used. For a <em>prism</em> region, a non-zero tilt factor in any pair of dimensions cannot be used if both the lo/hi values in either of those dimensions are INF. E.g. if the xy tilt is non-zero, then xlo and xhi cannot both be INF, nor can ylo and yhi.</p> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">Regions in LAMMPS do not get wrapped across periodic boundaries, as specified by the <a class="reference internal" href="boundary.html"><em>boundary</em></a> command. For example, a spherical region that is defined so that it overlaps a periodic boundary is not treated as 2 half-spheres, one on either side of the simulation box.</p> </div> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">Regions in LAMMPS are always 3d geometric objects, regardless of whether the <a class="reference internal" href="dimension.html"><em>dimension</em></a> of a simulation is 2d or 3d. Thus when using regions in a 2d simulation, you should be careful to define the region so that its intersection with the 2d x-y plane of the simulation has the 2d geometric extent you want.</p> </div> <p>For style <em>cone</em>, an axis-aligned cone is defined which is like a <em>cylinder</em> except that two different radii (one at each end) can be defined. Either of the radii (but not both) can be 0.0.</p> <p>For style <em>cone</em> and <em>cylinder</em>, the c1,c2 params are coordinates in the 2 other dimensions besides the cylinder axis dimension. For dim = x, c1/c2 = y/z; for dim = y, c1/c2 = x/z; for dim = z, c1/c2 = x/y. Thus the third example above specifies a cylinder with its axis in the y-direction located at x = 2.0 and z = 3.0, with a radius of 5.0, and extending in the y-direction from -5.0 to the upper box boundary.</p> <p>For style <em>plane</em>, a plane is defined which contain the point (px,py,pz) and has a normal vector (nx,ny,nz). The normal vector does not have to be of unit length. The “inside” of the plane is the half-space in the direction of the normal vector; see the discussion of the <em>side</em> option below.</p> <p>For style <em>prism</em>, a parallelepiped is defined (it’s too hard to spell parallelepiped in an input script!). The parallelepiped has its “origin” at (xlo,ylo,zlo) and is defined by 3 edge vectors starting from the origin given by A = (xhi-xlo,0,0); B = (xy,yhi-ylo,0); C = (xz,yz,zhi-zlo). <em>Xy,xz,yz</em> can be 0.0 or positive or negative values and are called “tilt factors” because they are the amount of displacement applied to faces of an originally orthogonal box to transform it into the parallelepiped.</p> <p>A prism region that will be used with the <a class="reference internal" href="create_box.html"><em>create_box</em></a> command to define a triclinic simulation box must have tilt factors (xy,xz,yz) that do not skew the box more than half the distance of corresponding the parallel box length. For example, if xlo = 2 and xhi = 12, then the x box length is 10 and the xy tilt factor must be between -5 and 5. Similarly, both xz and yz must be between -(xhi-xlo)/2 and +(yhi-ylo)/2. Note that this is not a limitation, since if the maximum tilt factor is 5 (as in this example), then configurations with tilt = ..., -15, -5, 5, 15, 25, ... are all geometrically equivalent.</p> <p>The <em>radius</em> value for style <em>sphere</em> and <em>cylinder</em> can be specified as an equal-style <a class="reference internal" href="variable.html"><em>variable</em></a>. If the value is a variable, it should be specified as v_name, where name is the variable name. In this case, the variable will be evaluated each timestep, and its value used to determine the radius of the region.</p> <p>Equal-style variables can specify formulas with various mathematical functions, and include <a class="reference internal" href="thermo_style.html"><em>thermo_style</em></a> command keywords for the simulation box parameters and timestep and elapsed time. Thus it is easy to specify a time-dependent radius.</p> <p>See <a class="reference internal" href="Section_howto.html#howto-12"><span>Section_howto 12</span></a> of the doc pages for a geometric description of triclinic boxes, as defined by LAMMPS, and how to transform these parameters to and from other commonly used triclinic representations.</p> <p>The <em>union</em> style creates a region consisting of the volume of all the listed regions combined. The <em>intersect</em> style creates a region consisting of the volume that is common to all the listed regions.</p> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">The <em>union</em> and <em>intersect</em> regions operate by invoking methods from their list of sub-regions. Thus you cannot delete the sub-regions after defining the <em>union</em> or <em>intersection</em> region.</p> </div> <hr class="docutils" /> <p>The <em>side</em> keyword determines whether the region is considered to be inside or outside of the specified geometry. Using this keyword in conjunction with <em>union</em> and <em>intersect</em> regions, complex geometries can be built up. For example, if the interior of two spheres were each defined as regions, and a <em>union</em> style with <em>side</em> = out was constructed listing the region-IDs of the 2 spheres, the resulting region would be all the volume in the simulation box that was outside both of the spheres.</p> <p>The <em>units</em> keyword determines the meaning of the distance units used to define the region for any argument above listed as having distance units. It also affects the scaling of the velocity vector specfied with the <em>vel</em> keyword, the amplitude vector specified with the <em>wiggle</em> keyword, and the rotation point specified with the <em>rotate</em> keyword, since they each involve a distance metric.</p> <p>A <em>box</em> value selects standard distance units as defined by the <a class="reference internal" href="units.html"><em>units</em></a> command, e.g. Angstroms for units = real or metal. A <em>lattice</em> value means the distance units are in lattice spacings. The <a class="reference internal" href="lattice.html"><em>lattice</em></a> command must have been previously used to define the lattice spacings which are used as follows:</p> <ul class="simple"> <li>For style <em>block</em>, the lattice spacing in dimension x is applied to xlo and xhi, similarly the spacings in dimensions y,z are applied to ylo/yhi and zlo/zhi.</li> <li>For style <em>cone</em>, the lattice spacing in argument <em>dim</em> is applied to lo and hi. The spacings in the two radial dimensions are applied to c1 and c2. The two cone radii are scaled by the lattice spacing in the dimension corresponding to c1.</li> <li>For style <em>cylinder</em>, the lattice spacing in argument <em>dim</em> is applied to lo and hi. The spacings in the two radial dimensions are applied to c1 and c2. The cylinder radius is scaled by the lattice spacing in the dimension corresponding to c1.</li> <li>For style <em>plane</em>, the lattice spacing in dimension x is applied to px and nx, similarly the spacings in dimensions y,z are applied to py/ny and pz/nz.</li> <li>For style <em>prism</em>, the lattice spacing in dimension x is applied to xlo and xhi, similarly for ylo/yhi and zlo/zhi. The lattice spacing in dimension x is applied to xy and xz, and the spacing in dimension y to yz.</li> <li>For style <em>sphere</em>, the lattice spacing in dimensions x,y,z are applied to the sphere center x,y,z. The spacing in dimension x is applied to the sphere radius.</li> </ul> <hr class="docutils" /> <p>If the <em>move</em> or <em>rotate</em> keywords are used, the region is “dynamic”, meaning its location or orientation changes with time. These keywords cannot be used with a <em>union</em> or <em>intersect</em> style region. Instead, the keywords should be used to make the individual sub-regions of the <em>union</em> or <em>intersect</em> region dynamic. Normally, each sub-region should be “dynamic” in the same manner (e.g. rotate around the same point), though this is not a requirement.</p> <p>The <em>move</em> keyword allows one or more <a class="reference internal" href="variable.html"><em>equal-style variables</em></a> to be used to specify the x,y,z displacement of the region, typically as a function of time. A variable is specified as v_name, where name is the variable name. Any of the three variables can be specified as NULL, in which case no displacement is calculated in that dimension.</p> <p>Note that equal-style variables can specify formulas with various mathematical functions, and include <a class="reference internal" href="thermo_style.html"><em>thermo_style</em></a> command keywords for the simulation box parameters and timestep and elapsed time. Thus it is easy to specify a region displacement that change as a function of time or spans consecutive runs in a continuous fashion. For the latter, see the <em>start</em> and <em>stop</em> keywords of the <a class="reference internal" href="run.html"><em>run</em></a> command and the <em>elaplong</em> keyword of <a class="reference internal" href="thermo_style.html"><em>thermo_style custom</em></a> for details.</p> <p>For example, these commands would displace a region from its initial position, in the positive x direction, effectively at a constant velocity:</p> <div class="highlight-python"><div class="highlight"><pre>variable dx equal ramp(0,10) region 2 sphere 10.0 10.0 0.0 5 move v_dx NULL NULL </pre></div> </div> <p>Note that the initial displacemet is 0.0, though that is not required.</p> <p>Either of these varaibles would “wiggle” the region back and forth in the y direction:</p> <div class="highlight-python"><div class="highlight"><pre>variable dy equal swiggle(0,5,100) variable dysame equal 5*sin(2*PI*elaplong*dt/100) region 2 sphere 10.0 10.0 0.0 5 move NULL v_dy NULL </pre></div> </div> <p>The <em>rotate</em> keyword rotates the region around a rotation axis <em>R</em> = (Rx,Ry,Rz) that goes thru a point <em>P</em> = (Px,Py,Pz). The rotation angle is calculated, presumably as a function of time, by a variable specified as v_theta, where theta is the variable name. The variable should generate its result in radians. The direction of rotation for the region around the rotation axis is consistent with the right-hand rule: if your right-hand thumb points along <em>R</em>, then your fingers wrap around the axis in the direction of rotation.</p> <p>The <em>move</em> and <em>rotate</em> keywords can be used together. In this case, the displacement specified by the <em>move</em> keyword is applied to the <em>P</em> point of the <em>rotate</em> keyword.</p> </div> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <p>A prism cannot be of 0.0 thickness in any dimension; use a small z thickness for 2d simulations. For 2d simulations, the xz and yz parameters must be 0.0.</p> </div> <div class="section" id="related-commands"> <h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2> <p><a class="reference internal" href="lattice.html"><em>lattice</em></a>, <a class="reference internal" href="create_atoms.html"><em>create_atoms</em></a>, <a class="reference internal" href="delete_atoms.html"><em>delete_atoms</em></a>, <a class="reference internal" href="group.html"><em>group</em></a></p> </div> <div class="section" id="default"> <h2>Default<a class="headerlink" href="#default" title="Permalink to this headline">¶</a></h2> <p>The option defaults are side = in, units = lattice, and no move or rotation.</p> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/restart.html b/doc/restart.html index e1aedf7db..3bf2ce569 100644 --- a/doc/restart.html +++ b/doc/restart.html @@ -1,351 +1,351 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>restart command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>restart command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="restart-command"> <span id="index-0"></span><h1>restart command<a class="headerlink" href="#restart-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>restart 0 restart N root keyword value ... restart N file1 file2 keyword value ... </pre></div> </div> <ul class="simple"> <li>N = write a restart file every this many timesteps</li> <li>N can be a variable (see below)</li> <li>root = filename to which timestep # is appended</li> <li>file1,file2 = two full filenames, toggle between them when writing file</li> <li>zero or more keyword/value pairs may be appended</li> <li>keyword = <em>fileper</em> or <em>nfile</em></li> </ul> <pre class="literal-block"> <em>fileper</em> arg = Np - Np = write one file for every this many processors - <em>nfile</em> arg = Nf - Nf = write this many files, one from each of Nf processors + Np = write one file for every this many processors +<em>nfile</em> arg = Nf + Nf = write this many files, one from each of Nf processors </pre> </div> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>restart 0 restart 1000 poly.restart restart 1000 poly.restart.mpiio restart 1000 restart.*.equil restart 10000 poly.%.1 poly.%.2 nfile 10 restart v_mystep poly.restart </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>Write out a binary restart file with the current state of the simulation every so many timesteps, in either or both of two modes, as a run proceeds. A value of 0 means do not write out any restart files. The two modes are as follows. If one filename is specified, a series of filenames will be created which include the timestep in the filename. If two filenames are specified, only 2 restart files will be created, with those names. LAMMPS will toggle between the 2 names as it writes successive restart files.</p> <p>Note that you can specify the restart command twice, once with a single filename and once with two filenames. This would allow you, for example, to write out archival restart files every 100000 steps using a single filenname, and more frequent temporary restart files every 1000 steps, using two filenames. Using restart 0 will turn off both modes of output.</p> <p>Similar to <a class="reference internal" href="dump.html"><em>dump</em></a> files, the restart filename(s) can contain two wild-card characters.</p> <p>If a “*” appears in the single filename, it is replaced with the current timestep value. This is only recognized when a single filename is used (not when toggling back and forth). Thus, the 3rd example above creates restart files as follows: restart.1000.equil, restart.2000.equil, etc. If a single filename is used with no “*”, then the timestep value is appended. E.g. the 2nd example above creates restart files as follows: poly.restart.1000, poly.restart.2000, etc.</p> <p>If a “%” character appears in the restart filename(s), then one file is written for each processor and the “%” character is replaced with the processor ID from 0 to P-1. An additional file with the “%” replaced by “base” is also written, which contains global information. For example, the files written on step 1000 for filename restart.% would be restart.base.1000, restart.0.1000, restart.1.1000, ..., restart.P-1.1000. This creates smaller files and can be a fast mode of output and subsequent input on parallel machines that support parallel I/O. The optional <em>fileper</em> and <em>nfile</em> keywords discussed below can alter the number of files written.</p> <p>The restart file can also be written in parallel as one large binary file via the MPI-IO library, which is part of the MPI standard for versions 2.0 and above. Using MPI-IO requires two steps. First, build LAMMPS with its MPIIO package installed, e.g.</p> <div class="highlight-python"><div class="highlight"><pre>make yes-mpiio # installs the MPIIO package make g++ # build LAMMPS for your platform </pre></div> </div> <p>Second, use a restart filename which contains ”.mpiio”. Note that it does not have to end in ”.mpiio”, just contain those characters. Unlike MPI-IO dump files, a particular restart file must be both written and read using MPI-IO.</p> <p>Restart files are written on timesteps that are a multiple of N but not on the first timestep of a run or minimization. You can use the <a class="reference internal" href="write_restart.html"><em>write_restart</em></a> command to write a restart file before a run begins. A restart file is not written on the last timestep of a run unless it is a multiple of N. A restart file is written on the last timestep of a minimization if N > 0 and the minimization converges.</p> <p>Instead of a numeric value, N can be specifed as an <a class="reference internal" href="variable.html"><em>equal-style variable</em></a>, which should be specified as v_name, where name is the variable name. In this case, the variable is evaluated at the beginning of a run to determine the next timestep at which a restart file will be written out. On that timestep, the variable will be evaluated again to determine the next timestep, etc. Thus the variable should return timestep values. See the stagger() and logfreq() and stride() math functions for <a class="reference internal" href="variable.html"><em>equal-style variables</em></a>, as examples of useful functions to use in this context. Other similar math functions could easily be added as options for <a class="reference internal" href="variable.html"><em>equal-style variables</em></a>.</p> <p>For example, the following commands will write restart files every step from 1100 to 1200, and could be useful for debugging a simulation where something goes wrong at step 1163:</p> <div class="highlight-python"><div class="highlight"><pre>variable s equal stride(1100,1200,1) restart v_s tmp.restart </pre></div> </div> <hr class="docutils" /> <p>See the <a class="reference internal" href="read_restart.html"><em>read_restart</em></a> command for information about what is stored in a restart file.</p> <p>Restart files can be read by a <a class="reference internal" href="read_restart.html"><em>read_restart</em></a> command to restart a simulation from a particular state. Because the file is binary (to enable exact restarts), it may not be readable on another machine. In this case, you can use the <a class="reference internal" href="Section_start.html#start-7"><span>-r command-line switch</span></a> to convert a restart file to a data file.</p> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">Although the purpose of restart files is to enable restarting a simulation from where it left off, not all information about a simulation is stored in the file. For example, the list of fixes that were specified during the initial run is not stored, which means the new input script must specify any fixes you want to use. Even when restart information is stored in the file, as it is for some fixes, commands may need to be re-specified in the new input script, in order to re-use that information. See the <a class="reference internal" href="read_restart.html"><em>read_restart</em></a> command for information about what is stored in a restart file.</p> </div> <hr class="docutils" /> <p>The optional <em>nfile</em> or <em>fileper</em> keywords can be used in conjunction with the “%” wildcard character in the specified restart file name(s). As explained above, the “%” character causes the restart file to be written in pieces, one piece for each of P processors. By default P = the number of processors the simulation is running on. The <em>nfile</em> or <em>fileper</em> keyword can be used to set P to a smaller value, which can be more efficient when running on a large number of processors.</p> <p>The <em>nfile</em> keyword sets P to the specified Nf value. For example, if Nf = 4, and the simulation is running on 100 processors, 4 files will be written, by processors 0,25,50,75. Each will collect information from itself and the next 24 processors and write it to a restart file.</p> <p>For the <em>fileper</em> keyword, the specified value of Np means write one file for every Np processors. For example, if Np = 4, every 4th processor (0,4,8,12,etc) will collect information from itself and the next 3 processors and write it to a restart file.</p> </div> <hr class="docutils" /> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <p>To write and read restart files in parallel with MPI-IO, the MPIIO package must be installed.</p> </div> <div class="section" id="related-commands"> <h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2> <p><a class="reference internal" href="write_restart.html"><em>write_restart</em></a>, <a class="reference internal" href="read_restart.html"><em>read_restart</em></a></p> </div> <div class="section" id="default"> <h2>Default<a class="headerlink" href="#default" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>restart 0 </pre></div> </div> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/run.html b/doc/run.html index b7ed152af..b2b8ecd7f 100644 --- a/doc/run.html +++ b/doc/run.html @@ -1,385 +1,385 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>run command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>run command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="run-command"> <span id="index-0"></span><h1>run command<a class="headerlink" href="#run-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>run N keyword values ... </pre></div> </div> <ul class="simple"> <li>N = # of timesteps</li> <li>zero or more keyword/value pairs may be appended</li> <li>keyword = <em>upto</em> or <em>start</em> or <em>stop</em> or <em>pre</em> or <em>post</em> or <em>every</em></li> </ul> <pre class="literal-block"> <em>upto</em> value = none - <em>start</em> value = N1 - N1 = timestep at which 1st run started - <em>stop</em> value = N2 - N2 = timestep at which last run will end - <em>pre</em> value = <em>no</em> or <em>yes</em> - <em>post</em> value = <em>no</em> or <em>yes</em> - <em>every</em> values = M c1 c2 ... - M = break the run into M-timestep segments and invoke one or more commands between each segment - c1,c2,...,cN = one or more LAMMPS commands, each enclosed in quotes - c1 = NULL means no command will be invoked +<em>start</em> value = N1 + N1 = timestep at which 1st run started +<em>stop</em> value = N2 + N2 = timestep at which last run will end +<em>pre</em> value = <em>no</em> or <em>yes</em> +<em>post</em> value = <em>no</em> or <em>yes</em> +<em>every</em> values = M c1 c2 ... + M = break the run into M-timestep segments and invoke one or more commands between each segment + c1,c2,...,cN = one or more LAMMPS commands, each enclosed in quotes + c1 = NULL means no command will be invoked </pre> </div> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>run 10000 run 1000000 upto run 100 start 0 stop 1000 run 1000 pre no post yes run 100000 start 0 stop 1000000 every 1000 "print 'Protein Rg = $r'" run 100000 every 1000 NULL </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>Run or continue dynamics for a specified number of timesteps.</p> <p>When the <a class="reference internal" href="run_style.html"><em>run style</em></a> is <em>respa</em>, N refers to outer loop (largest) timesteps.</p> <p>A value of N = 0 is acceptable; only the thermodynamics of the system are computed and printed without taking a timestep.</p> <p>The <em>upto</em> keyword means to perform a run starting at the current timestep up to the specified timestep. E.g. if the current timestep is 10,000 and “run 100000 upto” is used, then an additional 90,000 timesteps will be run. This can be useful for very long runs on a machine that allocates chunks of time and terminate your job when time is exceeded. If you need to restart your script multiple times (reading in the last restart file), you can keep restarting your script with the same run command until the simulation finally completes.</p> <p>The <em>start</em> or <em>stop</em> keywords can be used if multiple runs are being performed and you want a <a class="reference internal" href="fix.html"><em>fix</em></a> command that changes some value over time (e.g. temperature) to make the change across the entire set of runs and not just a single run. See the doc page for individual fixes to see which ones can be used with the <em>start/stop</em> keywords.</p> <p>For example, consider this fix followed by 10 run commands:</p> <div class="highlight-python"><div class="highlight"><pre>fix 1 all nvt 200.0 300.0 1.0 run 1000 start 0 stop 10000 run 1000 start 0 stop 10000 ... run 1000 start 0 stop 10000 </pre></div> </div> <p>The NVT fix ramps the target temperature from 200.0 to 300.0 during a run. If the run commands did not have the start/stop keywords (just “run 1000”), then the temperature would ramp from 200.0 to 300.0 during the 1000 steps of each run. With the start/stop keywords, the ramping takes place over the 10000 steps of all runs together.</p> <p>The <em>pre</em> and <em>post</em> keywords can be used to streamline the setup, clean-up, and associated output to the screen that happens before and after a run. This can be useful if you wish to do many short runs in succession (e.g. LAMMPS is being called as a library which is doing other computations between successive short LAMMPS runs).</p> <p>By default (pre and post = yes), LAMMPS creates neighbor lists, computes forces, and imposes fix constraints before every run. And after every run it gathers and prints timings statistics. If a run is just a continuation of a previous run (i.e. no settings are changed), the initial computation is not necessary; the old neighbor list is still valid as are the forces. So if <em>pre</em> is specified as “no” then the initial setup is skipped, except for printing thermodynamic info. Note that if <em>pre</em> is set to “no” for the very 1st run LAMMPS performs, then it is overridden, since the initial setup computations must be done.</p> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">If your input script changes the system between 2 runs, then the initial setup must be performed to insure the change is recognized by all parts of the code that are affected. Examples are adding a <a class="reference internal" href="fix.html"><em>fix</em></a> or <a class="reference internal" href="dump.html"><em>dump</em></a> or <a class="reference internal" href="compute.html"><em>compute</em></a>, changing a <a class="reference internal" href="neigh_modify.html"><em>neighbor</em></a> list parameter, or writing restart file which can migrate atoms between processors. LAMMPS has no easy way to check if this has happened, but it is an error to use the <em>pre no</em> option in this case.</p> </div> <p>If <em>post</em> is specified as “no”, the full timing summary is skipped; only a one-line summary timing is printed.</p> <p>The <em>every</em> keyword provides a means of breaking a LAMMPS run into a series of shorter runs. Optionally, one or more LAMMPS commands (c1, c2, ..., cN) will be executed in between the short runs. If used, the <em>every</em> keyword must be the last keyword, since it has a variable number of arguments. Each of the trailing arguments is a single LAMMPS command, and each command should be enclosed in quotes, so that the entire command will be treated as a single argument. This will also prevent any variables in the command from being evaluated until it is executed multiple times during the run. Note that if a command itself needs one of its arguments quoted (e.g. the <a class="reference internal" href="print.html"><em>print</em></a> command), then you can use a combination of single and double quotes, as in the example above or below.</p> <p>The <em>every</em> keyword is a means to avoid listing a long series of runs and interleaving commands in your input script. For example, a <a class="reference internal" href="print.html"><em>print</em></a> command could be invoked or a <a class="reference internal" href="fix.html"><em>fix</em></a> could be redefined, e.g. to reset a thermostat temperature. Or this could be useful for invoking a command you have added to LAMMPS that wraps some other code (e.g. as a library) to perform a computation periodically during a long LAMMPS run. See <a class="reference internal" href="Section_modify.html"><em>this section</em></a> of the documentation for info about how to add new commands to LAMMPS. See <a class="reference internal" href="Section_howto.html#howto-10"><span>this section</span></a> of the documentation for ideas about how to couple LAMMPS to other codes.</p> <p>With the <em>every</em> option, N total steps are simulated, in shorter runs of M steps each. After each M-length run, the specified commands are invoked. If only a single command is specified as NULL, then no command is invoked. Thus these lines:</p> <div class="highlight-python"><div class="highlight"><pre>variable q equal x[100] run 6000 every 2000 "print 'Coord = $q'" </pre></div> </div> <p>are the equivalent of:</p> <div class="highlight-python"><div class="highlight"><pre>variable q equal x[100] run 2000 print "Coord = $q" run 2000 print "Coord = $q" run 2000 print "Coord = $q" </pre></div> </div> <p>which does 3 runs of 2000 steps and prints the x-coordinate of a particular atom between runs. Note that the variable “$q” will be evaluated afresh each time the print command is executed.</p> <p>Note that by using the line continuation character “&”, the run every command can be spread across many lines, though it is still a single command:</p> <div class="highlight-python"><div class="highlight"><pre>run 100000 every 1000 & "print 'Minimum value = $a'" & "print 'Maximum value = $b'" & "print 'Temp = $c'" & "print 'Press = $d'" </pre></div> </div> <p>If the <em>pre</em> and <em>post</em> options are set to “no” when used with the <em>every</em> keyword, then the 1st run will do the full setup and the last run will print the full timing summary, but these operations will be skipped for intermediate runs.</p> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">You might hope to specify a command that exits the run by jumping out of the loop, e.g.</p> </div> <div class="highlight-python"><div class="highlight"><pre>variable t equal temp run 10000 every 100 "if '$t < 300.0' then 'jump SELF afterrun'" </pre></div> </div> <p>Unfortunately this will not currently work. The run command simply executes each command one at a time each time it pauses, then continues the run. You can replace the jump command with a simple <a class="reference internal" href="quit.html"><em>quit</em></a> command and cause LAMMPS to exit during the middle of a run when the condition is met.</p> </div> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <p>When not using the <em>upto</em> keyword, the number of specified timesteps N must fit in a signed 32-bit integer, so you are limited to slightly more than 2 billion steps (2^31) in a single run. When using <em>upto</em>, N can be larger than a signed 32-bit integer, however the difference between N and the current timestep must still be no larger than 2^31 steps.</p> <p>However, with or without the <em>upto</em> keyword, you can perform successive runs to run a simulation for any number of steps (ok, up to 2^63 total steps). I.e. the timestep counter within LAMMPS is a 64-bit signed integer.</p> </div> <div class="section" id="related-commands"> <h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2> <p><a class="reference internal" href="minimize.html"><em>minimize</em></a>, <a class="reference internal" href="run_style.html"><em>run_style</em></a>, <a class="reference internal" href="temper.html"><em>temper</em></a></p> </div> <div class="section" id="default"> <h2>Default<a class="headerlink" href="#default" title="Permalink to this headline">¶</a></h2> <p>The option defaults are start = the current timestep, stop = current timestep + N, pre = yes, and post = yes.</p> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/run_style.html b/doc/run_style.html index 0e9c499bd..d9a467fc7 100644 --- a/doc/run_style.html +++ b/doc/run_style.html @@ -1,455 +1,455 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>run_style command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>run_style command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="run-style-command"> <span id="index-0"></span><h1>run_style command<a class="headerlink" href="#run-style-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>run_style style args </pre></div> </div> <ul class="simple"> <li>style = <em>verlet</em> or <em>verlet/split</em> or <em>respa</em> or <em>respa/omp</em></li> </ul> <pre class="literal-block"> <em>verlet</em> args = none - <em>verlet/split</em> args = none - <em>respa</em> args = N n1 n2 ... keyword values ... - N = # of levels of rRESPA - n1, n2, ... = loop factor between rRESPA levels (N-1 values) - zero or more keyword/value pairings may be appended to the loop factors - keyword = <em>bond</em> or <em>angle</em> or <em>dihedral</em> or <em>improper</em> or - <em>pair</em> or <em>inner</em> or <em>middle</em> or <em>outer</em> or <em>hybrid</em> or <em>kspace</em> - <em>bond</em> value = M - M = which level (1-N) to compute bond forces in - <em>angle</em> value = M - M = which level (1-N) to compute angle forces in - <em>dihedral</em> value = M - M = which level (1-N) to compute dihedral forces in - <em>improper</em> value = M - M = which level (1-N) to compute improper forces in - <em>pair</em> value = M - M = which level (1-N) to compute pair forces in - <em>inner</em> values = M cut1 cut2 - M = which level (1-N) to compute pair inner forces in - cut1 = inner cutoff between pair inner and - pair middle or outer (distance units) - cut2 = outer cutoff between pair inner and - pair middle or outer (distance units) - <em>middle</em> values = M cut1 cut2 - M = which level (1-N) to compute pair middle forces in - cut1 = inner cutoff between pair middle and pair outer (distance units) - cut2 = outer cutoff between pair middle and pair outer (distance units) - <em>outer</em> value = M - M = which level (1-N) to compute pair outer forces in - <em>hybrid</em> values = M1 [M2 ...] (as many values as there are hybrid sub-styles - M1 = which level (1-N) to compute the first pair_style hybrid sub-style in - M2 = which level (1-N) to compute the second pair_style hybrid sub-style in - ... - <em>kspace</em> value = M - M = which level (1-N) to compute kspace forces in +<em>verlet/split</em> args = none +<em>respa</em> args = N n1 n2 ... keyword values ... + N = # of levels of rRESPA + n1, n2, ... = loop factor between rRESPA levels (N-1 values) + zero or more keyword/value pairings may be appended to the loop factors + keyword = <em>bond</em> or <em>angle</em> or <em>dihedral</em> or <em>improper</em> or + <em>pair</em> or <em>inner</em> or <em>middle</em> or <em>outer</em> or <em>hybrid</em> or <em>kspace</em> + <em>bond</em> value = M + M = which level (1-N) to compute bond forces in + <em>angle</em> value = M + M = which level (1-N) to compute angle forces in + <em>dihedral</em> value = M + M = which level (1-N) to compute dihedral forces in + <em>improper</em> value = M + M = which level (1-N) to compute improper forces in + <em>pair</em> value = M + M = which level (1-N) to compute pair forces in + <em>inner</em> values = M cut1 cut2 + M = which level (1-N) to compute pair inner forces in + cut1 = inner cutoff between pair inner and + pair middle or outer (distance units) + cut2 = outer cutoff between pair inner and + pair middle or outer (distance units) + <em>middle</em> values = M cut1 cut2 + M = which level (1-N) to compute pair middle forces in + cut1 = inner cutoff between pair middle and pair outer (distance units) + cut2 = outer cutoff between pair middle and pair outer (distance units) + <em>outer</em> value = M + M = which level (1-N) to compute pair outer forces in + <em>hybrid</em> values = M1 [M2 ...] (as many values as there are hybrid sub-styles + M1 = which level (1-N) to compute the first pair_style hybrid sub-style in + M2 = which level (1-N) to compute the second pair_style hybrid sub-style in + ... + <em>kspace</em> value = M + M = which level (1-N) to compute kspace forces in </pre> </div> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>run_style verlet run_style respa 4 2 2 2 bond 1 dihedral 2 pair 3 kspace 4 run_style respa 4 2 2 2 bond 1 dihedral 2 inner 3 5.0 6.0 outer 4 kspace 4 </pre></div> </div> <div class="highlight-python"><div class="highlight"><pre>run_style respa 3 4 2 bond 1 hybrid 2 2 1 kspace 3 </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>Choose the style of time integrator used for molecular dynamics simulations performed by LAMMPS.</p> <p>The <em>verlet</em> style is a standard velocity-Verlet integrator.</p> <hr class="docutils" /> <p>The <em>verlet/split</em> style is also a velocity-Verlet integrator, but it splits the force calculation within each timestep over 2 partitions of processors. See <a class="reference internal" href="Section_start.html#start-7"><span>Section_start 6</span></a> for an explanation of the -partition command-line switch.</p> <p>Specifically, this style performs all computation except the <a class="reference internal" href="kspace_style.html"><em>kspace_style</em></a> portion of the force field on the 1st partition. This include the <a class="reference internal" href="pair_style.html"><em>pair style</em></a>, <a class="reference internal" href="bond_style.html"><em>bond style</em></a>, <a class="reference internal" href="neighbor.html"><em>neighbor list building</em></a>, <a class="reference internal" href="fix.html"><em>fixes</em></a> including time intergration, and output. The <a class="reference internal" href="kspace_style.html"><em>kspace_style</em></a> portion of the calculation is performed on the 2nd partition.</p> <p>This is most useful for the PPPM kspace_style when its performance on a large number of processors degrades due to the cost of communication in its 3d FFTs. In this scenario, splitting your P total processors into 2 subsets of processors, P1 in the 1st partition and P2 in the 2nd partition, can enable your simulation to run faster. This is because the long-range forces in PPPM can be calculated at the same time as pair-wise and bonded forces are being calculated, and the FFTs can actually speed up when running on fewer processors.</p> <p>To use this style, you must define 2 partitions where P1 is a multiple of P2. Typically having P1 be 3x larger than P2 is a good choice. The 3d processor layouts in each partition must overlay in the following sense. If P1 is a Px1 by Py1 by Pz1 grid, and P2 = Px2 by Py2 by Pz2, then Px1 must be an integer multiple of Px2, and similarly for Py1 a multiple of Py2, and Pz1 a multiple of Pz2.</p> <p>Typically the best way to do this is to let the 1st partition choose its onn optimal layout, then require the 2nd partition’s layout to match the integer multiple constraint. See the <a class="reference internal" href="processors.html"><em>processors</em></a> command with its <em>part</em> keyword for a way to control this, e.g.</p> <div class="highlight-python"><div class="highlight"><pre>procssors * * * part 1 2 multiple </pre></div> </div> <p>You can also use the <a class="reference internal" href="partition.html"><em>partition</em></a> command to explicitly specity the processor layout on each partition. E.g. for 2 partitions of 60 and 15 processors each:</p> <div class="highlight-python"><div class="highlight"><pre>partition yes 1 processors 3 4 5 partition yes 2 processors 3 1 5 </pre></div> </div> <p>When you run in 2-partition mode with the <em>verlet/split</em> style, the thermodyanmic data for the entire simulation will be output to the log and screen file of the 1st partition, which are log.lammps.0 and screen.0 by default; see the “-plog and -pscreen command-line switches”Section_start.html#start_7 to change this. The log and screen file for the 2nd partition will not contain thermodynamic output beyone the 1st timestep of the run.</p> <p>See <a class="reference internal" href="Section_accelerate.html"><em>Section_accelerate</em></a> of the manual for performance details of the speed-up offered by the <em>verlet/split</em> style. One important performance consideration is the assignemnt of logical processors in the 2 partitions to the physical cores of a parallel machine. The <a class="reference internal" href="processors.html"><em>processors</em></a> command has options to support this, and strategies are discussed in <a class="reference internal" href="Section_accelerate.html"><em>Section_accelerate</em></a> of the manual.</p> <hr class="docutils" /> <p>The <em>respa</em> style implements the rRESPA multi-timescale integrator <a class="reference internal" href="#tuckerman"><span>(Tuckerman)</span></a> with N hierarchical levels, where level 1 is the innermost loop (shortest timestep) and level N is the outermost loop (largest timestep). The loop factor arguments specify what the looping factor is between levels. N1 specifies the number of iterations of level 1 for a single iteration of level 2, N2 is the iterations of level 2 per iteration of level 3, etc. N-1 looping parameters must be specified.</p> <p>The <a class="reference internal" href="timestep.html"><em>timestep</em></a> command sets the timestep for the outermost rRESPA level. Thus if the example command above for a 4-level rRESPA had an outer timestep of 4.0 fmsec, the inner timestep would be 8x smaller or 0.5 fmsec. All other LAMMPS commands that specify number of timesteps (e.g. <a class="reference internal" href="neigh_modify.html"><em>neigh_modify</em></a> parameters, <a class="reference internal" href="dump.html"><em>dump</em></a> every N timesteps, etc) refer to the outermost timesteps.</p> <p>The rRESPA keywords enable you to specify at what level of the hierarchy various forces will be computed. If not specified, the defaults are that bond forces are computed at level 1 (innermost loop), angle forces are computed where bond forces are, dihedral forces are computed where angle forces are, improper forces are computed where dihedral forces are, pair forces are computed at the outermost level, and kspace forces are computed where pair forces are. The inner, middle, outer forces have no defaults.</p> <p>The <em>inner</em> and <em>middle</em> keywords take additional arguments for cutoffs that are used by the pairwise force computations. If the 2 cutoffs for <em>inner</em> are 5.0 and 6.0, this means that all pairs up to 6.0 apart are computed by the inner force. Those between 5.0 and 6.0 have their force go ramped to 0.0 so the overlap with the next regime (middle or outer) is smooth. The next regime (middle or outer) will compute forces for all pairs from 5.0 outward, with those from 5.0 to 6.0 having their value ramped in an inverse manner.</p> <p>Only some pair potentials support the use of the <em>inner</em> and <em>middle</em> and <em>outer</em> keywords. If not, only the <em>pair</em> keyword can be used with that pair style, meaning all pairwise forces are computed at the same rRESPA level. See the doc pages for individual pair styles for details.i</p> <p>Another variant to use pair potentials in rRESPA is with the <em>hybrid</em> keyword, which requires the use of a <a class="reference internal" href="pair_hybrid.html"><em>hybrid pair_style</em></a> In this scenario, different sub-styles of the hybrid pair style are evaluated at different rRESPA levels. Thus the hybrid keyword requires as many level assignments as there are hybrid substyles which designate the respective sub-styles to the rRESPA level according to their order of definition in the pair_style command. Since the <em>hybrid</em> designates pair force computations, it is mututally exclusive with either the <em>pair</em> or the <em>inner</em>/<em>middle</em>/<em>outer</em> keywords.</p> <p>When using rRESPA (or for any MD simulation) care must be taken to choose a timestep size(s) that insures the Hamiltonian for the chosen ensemble is conserved. For the constant NVE ensemble, total energy must be conserved. Unfortunately, it is difficult to know <em>a priori</em> how well energy will be conserved, and a fairly long test simulation (~10 ps) is usually necessary in order to verify that no long-term drift in energy occurs with the trial set of parameters.</p> <p>With that caveat, a few rules-of-thumb may be useful in selecting <em>respa</em> settings. The following applies mostly to biomolecular simulations using the CHARMM or a similar all-atom force field, but the concepts are adaptable to other problems. Without SHAKE, bonds involving hydrogen atoms exhibit high-frequency vibrations and require a timestep on the order of 0.5 fmsec in order to conserve energy. The relatively inexpensive force computations for the bonds, angles, impropers, and dihedrals can be computed on this innermost 0.5 fmsec step. The outermost timestep cannot be greater than 4.0 fmsec without risking energy drift. Smooth switching of forces between the levels of the rRESPA hierarchy is also necessary to avoid drift, and a 1-2 angstrom “healing distance” (the distance between the outer and inner cutoffs) works reasonably well. We thus recommend the following settings for use of the <em>respa</em> style without SHAKE in biomolecular simulations:</p> <div class="highlight-python"><div class="highlight"><pre>timestep 4.0 run_style respa 4 2 2 2 inner 2 4.5 6.0 middle 3 8.0 10.0 outer 4 </pre></div> </div> <p>With these settings, users can expect good energy conservation and roughly a 2.5 fold speedup over the <em>verlet</em> style with a 0.5 fmsec timestep.</p> <p>If SHAKE is used with the <em>respa</em> style, time reversibility is lost, but substantially longer time steps can be achieved. For biomolecular simulations using the CHARMM or similar all-atom force field, bonds involving hydrogen atoms exhibit high frequency vibrations and require a time step on the order of 0.5 fmsec in order to conserve energy. These high frequency modes also limit the outer time step sizes since the modes are coupled. It is therefore desirable to use SHAKE with respa in order to freeze out these high frequency motions and increase the size of the time steps in the respa hierarchy. The following settings can be used for biomolecular simulations with SHAKE and rRESPA:</p> <div class="highlight-python"><div class="highlight"><pre>fix 2 all shake 0.000001 500 0 m 1.0 a 1 timestep 4.0 run_style respa 2 2 inner 1 4.0 5.0 outer 2 </pre></div> </div> <p>With these settings, users can expect good energy conservation and roughly a 1.5 fold speedup over the <em>verlet</em> style with SHAKE and a 2.0 fmsec timestep.</p> <p>For non-biomolecular simulations, the <em>respa</em> style can be advantageous if there is a clear separation of time scales - fast and slow modes in the simulation. Even a LJ system can benefit from rRESPA if the interactions are divided by the inner, middle and outer keywords. A 2-fold or more speedup can be obtained while maintaining good energy conservation. In real units, for a pure LJ fluid at liquid density, with a sigma of 3.0 angstroms, and epsilon of 0.1 Kcal/mol, the following settings seem to work well:</p> <div class="highlight-python"><div class="highlight"><pre>timestep 36.0 run_style respa 3 3 4 inner 1 3.0 4.0 middle 2 6.0 7.0 outer 3 </pre></div> </div> <hr class="docutils" /> <p>The <em>respa/omp</em> styles is a variant of <em>respa</em> adapted for use with pair, bond, angle, dihedral, improper, or kspace styles with an <em>omp</em> suffix. It is functionally equivalent to <em>respa</em> but performs additional operations required for managing <em>omp</em> styles. For more on <em>omp</em> styles see the <a class="reference internal" href="Section_accelerate.html"><em>Section_accelerate</em></a> of the manual. Accelerated styles take the same arguments and should produce the same results, except for round-off and precision issues.</p> <p>You can specify <em>respa/omp</em> explicitly in your input script, or you can use the <a class="reference internal" href="Section_start.html#start-7"><span>-suffix command-line switch</span></a> when you invoke LAMMPS, or you can use the <a class="reference internal" href="suffix.html"><em>suffix</em></a> command in your input script.</p> <p>See <a class="reference internal" href="Section_accelerate.html"><em>Section_accelerate</em></a> of the manual for more instructions on how to use the accelerated styles effectively.</p> </div> <hr class="docutils" /> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <p>The <em>verlet/split</em> style can only be used if LAMMPS was built with the REPLICA package. Correspondingly the <em>respa/omp</em> style is available only if the USER-OMP package was included. See the <a class="reference internal" href="Section_start.html#start-3"><span>Making LAMMPS</span></a> section for more info on packages.</p> <p>Whenever using rRESPA, the user should experiment with trade-offs in speed and accuracy for their system, and verify that they are conserving energy to adequate precision.</p> </div> <div class="section" id="related-commands"> <h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2> <p><a class="reference internal" href="timestep.html"><em>timestep</em></a>, <a class="reference internal" href="run.html"><em>run</em></a></p> </div> <div class="section" id="default"> <h2>Default<a class="headerlink" href="#default" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>run_style verlet </pre></div> </div> <hr class="docutils" /> <p id="tuckerman"><strong>(Tuckerman)</strong> Tuckerman, Berne and Martyna, J Chem Phys, 97, p 1990 (1992).</p> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/set.html b/doc/set.html index d0c30f8dc..c90a9530f 100644 --- a/doc/set.html +++ b/doc/set.html @@ -1,536 +1,536 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>set command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>set command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="set-command"> <span id="index-0"></span><h1>set command<a class="headerlink" href="#set-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>set style ID keyword values ... </pre></div> </div> <ul> <li><p class="first">style = <em>atom</em> or <em>type</em> or <em>mol</em> or <em>group</em> or <em>region</em></p> </li> <li><p class="first">ID = atom ID range or type range or mol ID range or group ID or region ID</p> </li> <li><p class="first">one or more keyword/value pairs may be appended</p> </li> <li><dl class="first docutils"> <dt>keyword = <em>type</em> or <em>type/fraction</em> or <em>mol</em> or <em>x</em> or <em>y</em> or <em>z</em> or <em>charge</em> or <em>dipole</em> or <em>dipole/random</em> or <em>quat</em> or <em>quat/random</em> or <em>diameter</em> or <em>shape</em> or <em>length</em> or <em>tri</em> or <em>theta</em> or <em>angmom</em> or <em>mass</em> or <em>density</em> or <em>volume</em> or <em>image</em> or</dt> <dd><p class="first last"><em>bond</em> or <em>angle</em> or <em>dihedral</em> or <em>improper</em> or <em>meso_e</em> or <em>meso_cv</em> or <em>meso_rho</em> or <em>i_name</em> or <em>d_name</em></p> </dd> </dl> </li> </ul> <pre class="literal-block"> <em>type</em> value = atom type - value can be an atom-style variable (see below) - <em>type/fraction</em> values = type fraction seed - type = new atom type - fraction = fraction of selected atoms to set to new atom type - seed = random # seed (positive integer) - <em>mol</em> value = molecule ID - value can be an atom-style variable (see below) - <em>x</em>,*y*,*z* value = atom coordinate (distance units) - value can be an atom-style variable (see below) - <em>charge</em> value = atomic charge (charge units) - value can be an atom-style variable (see below) - <em>dipole</em> values = x y z - x,y,z = orientation of dipole moment vector - any of x,y,z can be an atom-style variable (see below) - <em>dipole/random</em> value = seed Dlen - seed = random # seed (positive integer) for dipole moment orientations - Dlen = magnitude of dipole moment (dipole units) - <em>quat</em> values = a b c theta - a,b,c = unit vector to rotate particle around via right-hand rule - theta = rotation angle (degrees) - any of a,b,c,theta can be an atom-style variable (see below) - <em>quat/random</em> value = seed - seed = random # seed (positive integer) for quaternion orientations - <em>diameter</em> value = diameter of spherical particle (distance units) - value can be an atom-style variable (see below) - <em>shape</em> value = Sx Sy Sz - Sx,Sy,Sz = 3 diameters of ellipsoid (distance units) - <em>length</em> value = len - len = length of line segment (distance units) - len can be an atom-style variable (see below) - <em>tri</em> value = side - side = side length of equilateral triangle (distance units) - side can be an atom-style variable (see below) - <em>theta</em> value = angle (degrees) - angle = orientation of line segment with respect to x-axis - angle can be an atom-style variable (see below) - <em>angmom</em> values = Lx Ly Lz - Lx,Ly,Lz = components of angular momentum vector (distance-mass-velocity units) - any of Lx,Ly,Lz can be an atom-style variable (see below) - <em>mass</em> value = per-atom mass (mass units) - value can be an atom-style variable (see below) - <em>density</em> value = particle density for sphere or ellipsoid (mass/distance^3 or mass/distance^2 or mass/distance units, depending on dimensionality of particle) - value can be an atom-style variable (see below) - <em>volume</em> value = particle volume for Peridynamic particle (distance^3 units) - value can be an atom-style variable (see below) - <em>image</em> nx ny nz - nx,ny,nz = which periodic image of the simulation box the atom is in - <em>bond</em> value = bond type for all bonds between selected atoms - <em>angle</em> value = angle type for all angles between selected atoms - <em>dihedral</em> value = dihedral type for all dihedrals between selected atoms - <em>improper</em> value = improper type for all impropers between selected atoms - <em>meso_e</em> value = energy of SPH particles (need units) - value can be an atom-style variable (see below) - <em>meso_cv</em> value = heat capacity of SPH particles (need units) - value can be an atom-style variable (see below) - <em>meso_rho</em> value = density of SPH particles (need units) - value can be an atom-style variable (see below) - <em>i_name</em> value = value for custom integer vector with name - value can be an atom-style variable (see below) - <em>d_name</em> value = value for custom floating-point vector with name - value can be an atom-style variable (see below) + value can be an atom-style variable (see below) +<em>type/fraction</em> values = type fraction seed + type = new atom type + fraction = fraction of selected atoms to set to new atom type + seed = random # seed (positive integer) +<em>mol</em> value = molecule ID + value can be an atom-style variable (see below) +<em>x</em>,*y*,*z* value = atom coordinate (distance units) + value can be an atom-style variable (see below) +<em>charge</em> value = atomic charge (charge units) + value can be an atom-style variable (see below) +<em>dipole</em> values = x y z + x,y,z = orientation of dipole moment vector + any of x,y,z can be an atom-style variable (see below) +<em>dipole/random</em> value = seed Dlen + seed = random # seed (positive integer) for dipole moment orientations + Dlen = magnitude of dipole moment (dipole units) +<em>quat</em> values = a b c theta + a,b,c = unit vector to rotate particle around via right-hand rule + theta = rotation angle (degrees) + any of a,b,c,theta can be an atom-style variable (see below) +<em>quat/random</em> value = seed + seed = random # seed (positive integer) for quaternion orientations +<em>diameter</em> value = diameter of spherical particle (distance units) + value can be an atom-style variable (see below) +<em>shape</em> value = Sx Sy Sz + Sx,Sy,Sz = 3 diameters of ellipsoid (distance units) +<em>length</em> value = len + len = length of line segment (distance units) + len can be an atom-style variable (see below) +<em>tri</em> value = side + side = side length of equilateral triangle (distance units) + side can be an atom-style variable (see below) +<em>theta</em> value = angle (degrees) + angle = orientation of line segment with respect to x-axis + angle can be an atom-style variable (see below) +<em>angmom</em> values = Lx Ly Lz + Lx,Ly,Lz = components of angular momentum vector (distance-mass-velocity units) + any of Lx,Ly,Lz can be an atom-style variable (see below) +<em>mass</em> value = per-atom mass (mass units) + value can be an atom-style variable (see below) +<em>density</em> value = particle density for sphere or ellipsoid (mass/distance^3 or mass/distance^2 or mass/distance units, depending on dimensionality of particle) + value can be an atom-style variable (see below) +<em>volume</em> value = particle volume for Peridynamic particle (distance^3 units) + value can be an atom-style variable (see below) +<em>image</em> nx ny nz + nx,ny,nz = which periodic image of the simulation box the atom is in +<em>bond</em> value = bond type for all bonds between selected atoms +<em>angle</em> value = angle type for all angles between selected atoms +<em>dihedral</em> value = dihedral type for all dihedrals between selected atoms +<em>improper</em> value = improper type for all impropers between selected atoms +<em>meso_e</em> value = energy of SPH particles (need units) + value can be an atom-style variable (see below) +<em>meso_cv</em> value = heat capacity of SPH particles (need units) + value can be an atom-style variable (see below) +<em>meso_rho</em> value = density of SPH particles (need units) + value can be an atom-style variable (see below) +<em>i_name</em> value = value for custom integer vector with name + value can be an atom-style variable (see below) +<em>d_name</em> value = value for custom floating-point vector with name + value can be an atom-style variable (see below) </pre> </div> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>set group solvent type 2 set group solvent type/fraction 2 0.5 12393 set group edge bond 4 set region half charge 0.5 set type 3 charge 0.5 set type 1*3 charge 0.5 set atom * charge v_atomfile set atom 100*200 x 0.5 y 1.0 set atom 1492 type 3 </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>Set one or more properties of one or more atoms. Since atom properties are initially assigned by the <a class="reference internal" href="read_data.html"><em>read_data</em></a>, <a class="reference internal" href="read_restart.html"><em>read_restart</em></a> or <a class="reference internal" href="create_atoms.html"><em>create_atoms</em></a> commands, this command changes those assignments. This can be useful for overriding the default values assigned by the <a class="reference internal" href="create_atoms.html"><em>create_atoms</em></a> command (e.g. charge = 0.0). It can be useful for altering pairwise and molecular force interactions, since force-field coefficients are defined in terms of types. It can be used to change the labeling of atoms by atom type or molecule ID when they are output in <a class="reference internal" href="dump.html"><em>dump</em></a> files. It can also be useful for debugging purposes; i.e. positioning an atom at a precise location to compute subsequent forces or energy.</p> <p>Note that the <em>style</em> and <em>ID</em> arguments determine which atoms have their properties reset. The remaining keywords specify which properties to reset and what the new values are. Some strings like <em>type</em> or <em>mol</em> can be used as a style and/or a keyword.</p> <hr class="docutils" /> <p>This section describes how to select which atoms to change the properties of, via the <em>style</em> and <em>ID</em> arguments.</p> <p>The style <em>atom</em> selects all the atoms in a range of atom IDs. The style <em>type</em> selects all the atoms in a range of types. The style <em>mol</em> selects all the atoms in a range of molecule IDs.</p> <p>In each of the range cases, the range can be specified as a single numeric value, or a wildcard asterisk can be used to specify a range of values. This takes the form “*” or “<em>n” or “n</em>” or “m*n”. For example, for the style <em>type</em>, if N = the number of atom types, then an asterisk with no numeric values means all types from 1 to N. A leading asterisk means all types from 1 to n (inclusive). A trailing asterisk means all types from n to N (inclusive). A middle asterisk means all types from m to n (inclusive). For all the styles except <em>mol</em>, the lowest value for the wildcard is 1; for <em>mol</em> it is 0.</p> <p>The style <em>group</em> selects all the atoms in the specified group. The style <em>region</em> selects all the atoms in the specified geometric region. See the <a class="reference internal" href="group.html"><em>group</em></a> and <a class="reference internal" href="region.html"><em>region</em></a> commands for details of how to specify a group or region.</p> <hr class="docutils" /> <p>This section describes the keyword options for which properties to change, for the selected atoms.</p> <p>Note that except where explicitly prohibited below, all of the keywords allow an <a class="reference internal" href="variable.html"><em>atom-style or atomfile-style variable</em></a> to be used as the specified value(s). If the value is a variable, it should be specified as v_name, where name is the variable name. In this case, the variable will be evaluated, and its resulting per-atom value used to determine the value assigned to each selected atom. Note that the per-atom value from the variable will be ignored for atoms that are not selected via the <em>style</em> and <em>ID</em> settings explained above. A simple way to use per-atom values from the variable to reset a property for all atoms is to use style <em>atom</em> with <em>ID</em> = “*”; this selects all atom IDs.</p> <p>Atom-style variables can specify formulas with various mathematical functions, and include <a class="reference internal" href="thermo_style.html"><em>thermo_style</em></a> command keywords for the simulation box parameters and timestep and elapsed time. They can also include per-atom values, such as atom coordinates. Thus it is easy to specify a time-dependent or spatially-dependent set of per-atom values. As explained on the <a class="reference internal" href="variable.html"><em>variable</em></a> doc page, atomfile-style variables can be used in place of atom-style variables, and thus as arguments to the set command. Atomfile-style variables read their per-atoms values from a file.</p> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">Atom-style and atomfile-style variables return floating point per-atom values. If the values are assigned to an integer variable, such as the molecule ID, then the floating point value is truncated to its integer portion, e.g. a value of 2.6 would become 2.</p> </div> <p>Keyword <em>type</em> sets the atom type for all selected atoms. The specified value must be from 1 to ntypes, where ntypes was set by the <a class="reference internal" href="create_box.html"><em>create_box</em></a> command or the <em>atom types</em> field in the header of the data file read by the <a class="reference internal" href="read_data.html"><em>read_data</em></a> command.</p> <p>Keyword <em>type/fraction</em> sets the atom type for a fraction of the selected atoms. The actual number of atoms changed is not guaranteed to be exactly the requested fraction, but should be statistically close. Random numbers are used in such a way that a particular atom is changed or not changed, regardless of how many processors are being used. This keyword does not allow use of an atom-style variable.</p> <p>Keyword <em>mol</em> sets the molecule ID for all selected atoms. The <a class="reference internal" href="atom_style.html"><em>atom style</em></a> being used must support the use of molecule IDs.</p> <p>Keywords <em>x</em>, <em>y</em>, <em>z</em>, and <em>charge</em> set the coordinates or charge of all selected atoms. For <em>charge</em>, the <a class="reference internal" href="atom_style.html"><em>atom style</em></a> being used must support the use of atomic charge.</p> <p>Keyword <em>dipole</em> uses the specified x,y,z values as components of a vector to set as the orientation of the dipole moment vectors of the selected atoms. The magnitude of the dipole moment is set by the length of this orientation vector.</p> <p>Keyword <em>dipole/random</em> randomizes the orientation of the dipole moment vectors of the selected atoms and sets the magnitude of each to the specified <em>Dlen</em> value. For 2d systems, the z component of the orientation is set to 0.0. Random numbers are used in such a way that the orientation of a particular atom is the same, regardless of how many processors are being used. This keyword does not allow use of an atom-style variable.</p> <p>Keyword <em>quat</em> uses the specified values to create a quaternion (4-vector) that represents the orientation of the selected atoms. The particles must be ellipsoids as defined by the <a class="reference internal" href="atom_style.html"><em>atom_style ellipsoid</em></a> command or triangles as defined by the <a class="reference internal" href="atom_style.html"><em>atom_style tri</em></a> command. Note that particles defined by <a class="reference internal" href="atom_style.html"><em>atom_style ellipsoid</em></a> have 3 shape parameters. The 3 values must be non-zero for each particle set by this command. They are used to specify the aspect ratios of an ellipsoidal particle, which is oriented by default with its x-axis along the simulation box’s x-axis, and similarly for y and z. If this body is rotated (via the right-hand rule) by an angle theta around a unit rotation vector (a,b,c), then the quaternion that represents its new orientation is given by (cos(theta/2), a*sin(theta/2), b*sin(theta/2), c*sin(theta/2)). The theta and a,b,c values are the arguments to the <em>quat</em> keyword. LAMMPS normalizes the quaternion in case (a,b,c) was not specified as a unit vector. For 2d systems, the a,b,c values are ignored, since a rotation vector of (0,0,1) is the only valid choice.</p> <p>Keyword <em>quat/random</em> randomizes the orientation of the quaternion of the selected atoms. The particles must be ellipsoids as defined by the <a class="reference internal" href="atom_style.html"><em>atom_style ellipsoid</em></a> command or triangles as defined by the <a class="reference internal" href="atom_style.html"><em>atom_style tri</em></a> command. Random numbers are used in such a way that the orientation of a particular atom is the same, regardless of how many processors are being used. For 2d systems, only orientations in the xy plane are generated. As with keyword <em>quat</em>, for ellipsoidal particles, the 3 shape values must be non-zero for each particle set by this command. This keyword does not allow use of an atom-style variable.</p> <p>Keyword <em>diameter</em> sets the size of the selected atoms. The particles must be finite-size spheres as defined by the <a class="reference internal" href="atom_style.html"><em>atom_style sphere</em></a> command. The diameter of a particle can be set to 0.0, which means they will be treated as point particles. Note that this command does not adjust the particle mass, even if it was defined with a density, e.g. via the <a class="reference internal" href="read_data.html"><em>read_data</em></a> command.</p> <p>Keyword <em>shape</em> sets the size and shape of the selected atoms. The particles must be ellipsoids as defined by the <a class="reference internal" href="atom_style.html"><em>atom_style ellipsoid</em></a> command. The <em>Sx</em>, <em>Sy</em>, <em>Sz</em> settings are the 3 diameters of the ellipsoid in each direction. All 3 can be set to the same value, which means the ellipsoid is effectively a sphere. They can also all be set to 0.0 which means the particle will be treated as a point particle. Note that this command does not adjust the particle mass, even if it was defined with a density, e.g. via the <a class="reference internal" href="read_data.html"><em>read_data</em></a> command.</p> <p>Keyword <em>length</em> sets the length of selected atoms. The particles must be line segments as defined by the <a class="reference internal" href="atom_style.html"><em>atom_style line</em></a> command. If the specified value is non-zero the line segment is (re)set to a length = the specified value, centered around the particle position, with an orientation along the x-axis. If the specified value is 0.0, the particle will become a point particle. Note that this command does not adjust the particle mass, even if it was defined with a density, e.g. via the <a class="reference internal" href="read_data.html"><em>read_data</em></a> command.</p> <p>Keyword <em>tri</em> sets the size of selected atoms. The particles must be triangles as defined by the <a class="reference internal" href="atom_style.html"><em>atom_style tri</em></a> command. If the specified value is non-zero the triangle is (re)set to be an equilateral triangle in the xy plane with side length = the specified value, with a centroid at the particle position, with its base parallel to the x axis, and the y-axis running from the center of the base to the top point of the triangle. If the specified value is 0.0, the particle will become a point particle. Note that this command does not adjust the particle mass, even if it was defined with a density, e.g. via the <a class="reference internal" href="read_data.html"><em>read_data</em></a> command.</p> <p>Keyword <em>theta</em> sets the orientation of selected atoms. The particles must be line segments as defined by the <a class="reference internal" href="atom_style.html"><em>atom_style line</em></a> command. The specified value is used to set the orientation angle of the line segments with respect to the x axis.</p> <p>Keyword <em>angmom</em> sets the angular momentum of selected atoms. The particles must be ellipsoids as defined by the <a class="reference internal" href="atom_style.html"><em>atom_style ellipsoid</em></a> command or triangles as defined by the <a class="reference internal" href="atom_style.html"><em>atom_style tri</em></a> command. The angular momentum vector of the particles is set to the 3 specified components.</p> <p>Keyword <em>mass</em> sets the mass of all selected particles. The particles must have a per-atom mass attribute, as defined by the <a class="reference internal" href="atom_style.html"><em>atom_style</em></a> command. See the “mass” command for how to set mass values on a per-type basis.</p> <p>Keyword <em>density</em> also sets the mass of all selected particles, but in a different way. The particles must have a per-atom mass attribute, as defined by the <a class="reference internal" href="atom_style.html"><em>atom_style</em></a> command. If the atom has a radius attribute (see <a class="reference internal" href="atom_style.html"><em>atom_style sphere</em></a>) and its radius is non-zero, its mass is set from the density and particle volume. If the atom has a shape attribute (see <a class="reference internal" href="atom_style.html"><em>atom_style ellipsoid</em></a>) and its 3 shape parameters are non-zero, then its mass is set from the density and particle volume. If the atom has a length attribute (see <a class="reference internal" href="atom_style.html"><em>atom_style line</em></a>) and its length is non-zero, then its mass is set from the density and line segment length (the input density is assumed to be in mass/distance units). If the atom has an area attribute (see <a class="reference internal" href="atom_style.html"><em>atom_style tri</em></a>) and its area is non-zero, then its mass is set from the density and triangle area (the input density is assumed to be in mass/distance^2 units). If none of these cases are valid, then the mass is set to the density value directly (the input density is assumed to be in mass units).</p> <p>Keyword <em>volume</em> sets the volume of all selected particles. Currently, only the <a class="reference internal" href="atom_style.html"><em>atom_style peri</em></a> command defines particles with a volume attribute. Note that this command does not adjust the particle mass.</p> <p>Keyword <em>image</em> sets which image of the simulation box the atom is considered to be in. An image of 0 means it is inside the box as defined. A value of 2 means add 2 box lengths to get the true value. A value of -1 means subtract 1 box length to get the true value. LAMMPS updates these flags as atoms cross periodic boundaries during the simulation. The flags can be output with atom snapshots via the <a class="reference internal" href="dump.html"><em>dump</em></a> command. If a value of NULL is specified for any of nx,ny,nz, then the current image value for that dimension is unchanged. For non-periodic dimensions only a value of 0 can be specified. This keyword does not allow use of atom-style variables.</p> <p>This command can be useful after a system has been equilibrated and atoms have diffused one or more box lengths in various directions. This command can then reset the image values for atoms so that they are effectively inside the simulation box, e.g if a diffusion coefficient is about to be measured via the <a class="reference internal" href="compute_msd.html"><em>compute msd</em></a> command. Care should be taken not to reset the image flags of two atoms in a bond to the same value if the bond straddles a periodic boundary (rather they should be different by +/- 1). This will not affect the dynamics of a simulation, but may mess up analysis of the trajectories if a LAMMPS diagnostic or your own analysis relies on the image flags to unwrap a molecule which straddles the periodic box.</p> <p>Keywords <em>bond</em>, <em>angle</em>, <em>dihedral</em>, and <em>improper</em>, set the bond type (angle type, etc) of all bonds (angles, etc) of selected atoms to the specified value from 1 to nbondtypes (nangletypes, etc). All atoms in a particular bond (angle, etc) must be selected atoms in order for the change to be made. The value of nbondtype (nangletypes, etc) was set by the <em>bond types</em> (<em>angle types</em>, etc) field in the header of the data file read by the <a class="reference internal" href="read_data.html"><em>read_data</em></a> command. These keywords do not allow use of an atom-style variable.</p> <p>Keywords <em>meso_e</em>, <em>meso_cv</em>, and <em>meso_rho</em> set the energy, heat capacity, and density of smmothed particle hydrodynamics (SPH) particles. See <a class="reference external" href="USER/sph/SPH_LAMMPS_userguide.pdf">this PDF guide</a> to using SPH in LAMMPS.</p> <p>Keywords <em>i_name</em> and <em>d_name</em> refer to custom integer and floating-point properties that have been added to each atom via the <a class="reference internal" href="fix_property_atom.html"><em>fix property/atom</em></a> command. When that command is used specific names are given to each attribute which are what is specified as the “name” portion of <em>i_name</em> or <em>d_name</em>.</p> </div> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <p>You cannot set an atom attribute (e.g. <em>mol</em> or <em>q</em> or <em>volume</em>) if the <a class="reference internal" href="atom_style.html"><em>atom_style</em></a> does not have that attribute.</p> <p>This command requires inter-processor communication to coordinate the setting of bond types (angle types, etc). This means that your system must be ready to perform a simulation before using one of these keywords (force fields set, atom mass set, etc). This is not necessary for other keywords.</p> <p>Using the <em>region</em> style with the bond (angle, etc) keywords can give unpredictable results if there are bonds (angles, etc) that straddle periodic boundaries. This is because the region may only extend up to the boundary and partner atoms in the bond (angle, etc) may have coordinates outside the simulation box if they are ghost atoms.</p> </div> <div class="section" id="related-commands"> <h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2> <p><a class="reference internal" href="create_box.html"><em>create_box</em></a>, <a class="reference internal" href="create_atoms.html"><em>create_atoms</em></a>, <a class="reference internal" href="read_data.html"><em>read_data</em></a></p> <p><strong>Default:</strong> none</p> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/shell.html b/doc/shell.html index eaf88c7f3..16b617509 100644 --- a/doc/shell.html +++ b/doc/shell.html @@ -1,286 +1,286 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>shell command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>shell command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="shell-command"> <span id="index-0"></span><h1>shell command<a class="headerlink" href="#shell-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>shell cmd args </pre></div> </div> <ul class="simple"> <li>cmd = <em>cd</em> or <em>mkdir</em> or <em>mv</em> or <em>rm</em> or <em>rmdir</em> or <em>putenv</em> or arbitrary command</li> </ul> <pre class="literal-block"> <em>cd</em> arg = dir - dir = directory to change to - <em>mkdir</em> args = dir1 dir2 ... - dir1,dir2 = one or more directories to create - <em>mv</em> args = old new - old = old filename - new = new filename - <em>rm</em> args = file1 file2 ... - file1,file2 = one or more filenames to delete - <em>rmdir</em> args = dir1 dir2 ... - dir1,dir2 = one or more directories to delete - <em>putenv</em> args = var1=value1 var2=value2 - var=value = one of more definitions of environment variables - anything else is passed as a command to the shell for direct execution + dir = directory to change to +<em>mkdir</em> args = dir1 dir2 ... + dir1,dir2 = one or more directories to create +<em>mv</em> args = old new + old = old filename + new = new filename +<em>rm</em> args = file1 file2 ... + file1,file2 = one or more filenames to delete +<em>rmdir</em> args = dir1 dir2 ... + dir1,dir2 = one or more directories to delete +<em>putenv</em> args = var1=value1 var2=value2 + var=value = one of more definitions of environment variables +anything else is passed as a command to the shell for direct execution </pre> </div> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>shell cd sub1 shell cd .. shell mkdir tmp1 tmp2 tmp3 shell rmdir tmp1 shell mv log.lammps hold/log.1 shell rm TMP/file1 TMP/file2 shell putenv LAMMPS_POTENTIALS=../../potentials shell my_setup file1 10 file2 shell my_post_process 100 dump.out </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>Execute a shell command. A few simple file-based shell commands are supported directly, in Unix-style syntax. Any command not listed above is passed as-is to the C-library system() call, which invokes the command in a shell.</p> <p>This is means to invoke other commands from your input script. For example, you can move files around in preparation for the next section of the input script. Or you can run a program that pre-processes data for input into LAMMPS. Or you can run a program that post-processes LAMMPS output data.</p> <p>With the exception of <em>cd</em>, all commands, including ones invoked via a system() call, are executed by only a single processor, so that files/directories are not being manipulated by multiple processors.</p> <p>The <em>cd</em> cmd executes the Unix “cd” command to change the working directory. All subsequent LAMMPS commands that read/write files will use the new directory. All processors execute this command.</p> <p>The <em>mkdir</em> cmd executes the Unix “mkdir” command to create one or more directories.</p> <p>The <em>mv</em> cmd executes the Unix “mv” command to rename a file and/or move it to a new directory.</p> <p>The <em>rm</em> cmd executes the Unix “rm” command to remove one or more files.</p> <p>The <em>rmdir</em> cmd executes the Unix “rmdir” command to remove one or more directories. A directory must be empty to be successfully removed.</p> <p>The <em>putenv</em> cmd defines or updates an environment variable directly. Since this command does not pass through the shell, no shell variable expansion or globbing is performed, only the usual substitution for LAMMPS variables defined with the <a class="reference internal" href="variable.html"><em>variable</em></a> command is performed. The resulting string is then used literally.</p> <p>Any other cmd is passed as-is to the shell along with its arguments as one string, invoked by the C-library system() call. For example, these lines in your input script:</p> <div class="highlight-python"><div class="highlight"><pre>variable n equal 10 variable foo string file2 shell my_setup file1 $n ${foo} </pre></div> </div> <p>would be the same as invoking</p> <div class="highlight-python"><div class="highlight"><pre>% my_setup file1 10 file2 </pre></div> </div> <p>from a command-line prompt. The executable program “my_setup” is run with 3 arguments: file1 10 file2.</p> </div> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <p>LAMMPS does not detect errors or print warnings when any of these commands execute. E.g. if the specified directory does not exist, executing the <em>cd</em> command will silently do nothing.</p> <p><strong>Related commands:</strong> none</p> <p><strong>Default:</strong> none</p> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/special_bonds.html b/doc/special_bonds.html index a716bcd37..a8b97e9d4 100644 --- a/doc/special_bonds.html +++ b/doc/special_bonds.html @@ -1,432 +1,432 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>special_bonds command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>special_bonds command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="special-bonds-command"> <span id="index-0"></span><h1>special_bonds command<a class="headerlink" href="#special-bonds-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>special_bonds keyword values ... </pre></div> </div> <ul class="simple"> <li>one or more keyword/value pairs may be appended</li> <li>keyword = <em>amber</em> or <em>charmm</em> or <em>dreiding</em> or <em>fene</em> or <em>lj/coul</em> or <em>lj</em> or <em>coul</em> or <em>angle</em> or <em>dihedral</em> or <em>extra</em></li> </ul> <pre class="literal-block"> <em>amber</em> values = none - <em>charmm</em> values = none - <em>dreiding</em> values = none - <em>fene</em> values = none - <em>lj/coul</em> values = w1,w2,w3 - w1,w2,w3 = weights (0.0 to 1.0) on pairwise Lennard-Jones and Coulombic interactions - <em>lj</em> values = w1,w2,w3 - w1,w2,w3 = weights (0.0 to 1.0) on pairwise Lennard-Jones interactions - <em>coul</em> values = w1,w2,w3 - w1,w2,w3 = weights (0.0 to 1.0) on pairwise Coulombic interactions - <em>angle</em> value = <em>yes</em> or <em>no</em> - <em>dihedral</em> value = <em>yes</em> or <em>no</em> - <em>extra</em> value = N - N = number of extra 1-2,1-3,1-4 interactions to save space for +<em>charmm</em> values = none +<em>dreiding</em> values = none +<em>fene</em> values = none +<em>lj/coul</em> values = w1,w2,w3 + w1,w2,w3 = weights (0.0 to 1.0) on pairwise Lennard-Jones and Coulombic interactions +<em>lj</em> values = w1,w2,w3 + w1,w2,w3 = weights (0.0 to 1.0) on pairwise Lennard-Jones interactions +<em>coul</em> values = w1,w2,w3 + w1,w2,w3 = weights (0.0 to 1.0) on pairwise Coulombic interactions +<em>angle</em> value = <em>yes</em> or <em>no</em> +<em>dihedral</em> value = <em>yes</em> or <em>no</em> +<em>extra</em> value = N + N = number of extra 1-2,1-3,1-4 interactions to save space for </pre> <p>Examples:</p> <div class="highlight-python"><div class="highlight"><pre>special_bonds amber special_bonds charmm special_bonds fene dihedral no special_bonds lj/coul 0.0 0.0 0.5 angle yes dihedral yes special_bonds lj 0.0 0.0 0.5 coul 0.0 0.0 0.0 dihedral yes special_bonds lj/coul 0 1 1 extra 2 </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>Set weighting coefficients for pairwise energy and force contributions between pairs of atoms that are also permanently bonded to each other, either directly or via one or two intermediate bonds. These weighting factors are used by nearly all <a class="reference internal" href="pair_style.html"><em>pair styles</em></a> in LAMMPS that compute simple pairwise interactions. Permanent bonds between atoms are specified by defining the bond topology in the data file read by the <a class="reference internal" href="read_data.html"><em>read_data</em></a> command. Typically a <a class="reference internal" href="bond_style.html"><em>bond_style</em></a> command is also used to define a bond potential. The rationale for using these weighting factors is that the interaction between a pair of bonded atoms is all (or mostly) specified by the bond, angle, dihedral potentials, and thus the non-bonded Lennard-Jones or Coulombic interaction between the pair of atoms should be excluded (or reduced by a weighting factor).</p> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">These weighting factors are NOT used by <a class="reference internal" href="pair_style.html"><em>pair styles</em></a> that compute many-body interactions, since the “bonds” that result from such interactions are not permanent, but are created and broken dynamically as atom conformations change. Examples of pair styles in this category are EAM, MEAM, Stillinger-Weber, Tersoff, COMB, AIREBO, and ReaxFF. In fact, it generally makes no sense to define permanent bonds between atoms that interact via these potentials, though such bonds may exist elsewhere in your system, e.g. when using the <a class="reference internal" href="pair_hybrid.html"><em>pair_style hybrid</em></a> command. Thus LAMMPS ignores special_bonds settings when manybody potentials are calculated.</p> </div> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">Unlike some commands in LAMMPS, you cannot use this command multiple times in an incremental fashion: e.g. to first set the LJ settings and then the Coulombic ones. Each time you use this command it sets all the coefficients to default values and only overrides the one you specify, so you should set all the options you need each time you use it. See more details at the bottom of this page.</p> </div> <p>The Coulomb factors are applied to any Coulomb (charge interaction) term that the potential calculates. The LJ factors are applied to the remaining terms that the potential calculates, whether they represent LJ interactions or not. The weighting factors are a scaling pre-factor on the energy and force between the pair of atoms. A value of 1.0 means include the full interaction; a value of 0.0 means exclude it completely.</p> <p>The 1st of the 3 coefficients (LJ or Coulombic) is the weighting factor on 1-2 atom pairs, which are pairs of atoms directly bonded to each other. The 2nd coefficient is the weighting factor on 1-3 atom pairs which are those separated by 2 bonds (e.g. the two H atoms in a water molecule). The 3rd coefficient is the weighting factor on 1-4 atom pairs which are those separated by 3 bonds (e.g. the 1st and 4th atoms in a dihedral interaction). Thus if the 1-2 coefficient is set to 0.0, then the pairwise interaction is effectively turned off for all pairs of atoms bonded to each other. If it is set to 1.0, then that interaction will be at full strength.</p> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">For purposes of computing weighted pairwise interactions, 1-3 and 1-4 interactions are not defined from the list of angles or dihedrals used by the simulation. Rather, they are inferred topologically from the set of bonds specified when the simulation is defined from a data or restart file (see <a class="reference internal" href="read_data.html"><em>read_data</em></a> or <a class="reference internal" href="read_restart.html"><em>read_restart</em></a> commands). Thus the set of 1-2,1-3,1-4 interactions that the weights apply to is the same whether angle and dihedral potentials are computed or not, and remains the same even if bonds are constrained, or turned off, or removed during a simulation.</p> </div> <p>The two exceptions to this rule are (a) if the <em>angle</em> or <em>dihedral</em> keywords are set to <em>yes</em> (see below), or (b) if the <a class="reference internal" href="delete_bonds.html"><em>delete_bonds</em></a> command is used with the <em>special</em> option that recomputes the 1-2,1-3,1-4 topologies after bonds are deleted; see the <a class="reference internal" href="delete_bonds.html"><em>delete_bonds</em></a> command for more details.</p> <p>The <em>amber</em> keyword sets the 3 coefficients to 0.0, 0.0, 0.5 for LJ interactions and to 0.0, 0.0, 0.8333 for Coulombic interactions, which is the default for a commonly used version of the AMBER force field, where the last value is really 5/6. See <a class="reference internal" href="#cornell"><span>(Cornell)</span></a> for a description of the AMBER force field.</p> <p>The <em>charmm</em> keyword sets the 3 coefficients to 0.0, 0.0, 0.0 for both LJ and Coulombic interactions, which is the default for a commonly used version of the CHARMM force field. Note that in pair styles <em>lj/charmm/coul/charmm</em> and <em>lj/charmm/coul/long</em> the 1-4 coefficients are defined explicitly, and these pairwise contributions are computed as part of the charmm dihedral style - see the <a class="reference internal" href="pair_coeff.html"><em>pair_coeff</em></a> and <a class="reference internal" href="dihedral_style.html"><em>dihedral_style</em></a> commands for more information. See <a class="reference internal" href="#mackerell"><span>(MacKerell)</span></a> for a description of the CHARMM force field.</p> <p>The <em>dreiding</em> keyword sets the 3 coefficients to 0.0, 0.0, 1.0 for both LJ and Coulombic interactions, which is the default for the Dreiding force field, as discussed in <a class="reference internal" href="#mayo"><span>(Mayo)</span></a>.</p> <p>The <em>fene</em> keyword sets the 3 coefficients to 0.0, 1.0, 1.0 for both LJ and Coulombic interactions, which is consistent with a coarse-grained polymer model with <a class="reference internal" href="bond_fene.html"><em>FENE bonds</em></a>. See <a class="reference internal" href="#kremer"><span>(Kremer)</span></a> for a description of FENE bonds.</p> <p>The <em>lj/coul</em>, <em>lj</em>, and <em>coul</em> keywords allow the 3 coefficients to be set explicitly. The <em>lj/coul</em> keyword sets both the LJ and Coulombic coefficients to the same 3 values. The <em>lj</em> and <em>coul</em> keywords only set either the LJ or Coulombic coefficients. Use both of them if you wish to set the LJ coefficients to different values than the Coulombic coefficients.</p> <p>The <em>angle</em> keyword allows the 1-3 weighting factor to be ignored for individual atom pairs if they are not listed as the first and last atoms in any angle defined in the simulation or as 1,3 or 2,4 atoms in any dihedral defined in the simulation. For example, imagine the 1-3 weighting factor is set to 0.5 and you have a linear molecule with 4 atoms and bonds as follows: 1-2-3-4. If your data file defines 1-2-3 as an angle, but does not define 2-3-4 as an angle or 1-2-3-4 as a dihedral, then the pairwise interaction between atoms 1 and 3 will always be weighted by 0.5, but different force fields use different rules for weighting the pairwise interaction between atoms 2 and 4. If the <em>angle</em> keyword is specified as <em>yes</em>, then the pairwise interaction between atoms 2 and 4 will be unaffected (full weighting of 1.0). If the <em>angle</em> keyword is specified as <em>no</em> which is the default, then the 2,4 interaction will also be weighted by 0.5.</p> <p>The <em>dihedral</em> keyword allows the 1-4 weighting factor to be ignored for individual atom pairs if they are not listed as the first and last atoms in any dihedral defined in the simulation. For example, imagine the 1-4 weighting factor is set to 0.5 and you have a linear molecule with 5 atoms and bonds as follows: 1-2-3-4-5. If your data file defines 1-2-3-4 as a dihedral, but does not define 2-3-4-5 as a dihedral, then the pairwise interaction between atoms 1 and 4 will always be weighted by 0.5, but different force fields use different rules for weighting the pairwise interaction between atoms 2 and 5. If the <em>dihedral</em> keyword is specified as <em>yes</em>, then the pairwise interaction between atoms 2 and 5 will be unaffected (full weighting of 1.0). If the <em>dihedral</em> keyword is specified as <em>no</em> which is the default, then the 2,5 interaction will also be weighted by 0.5.</p> <p>The <em>extra</em> keyword can be used when additional bonds will be created during a simulation run, e.g. by the <a class="reference internal" href="fix_bond_create.html"><em>fix bond/create</em></a> command. It can also be used if molecules will be added to the system, e.g. via the <a class="reference internal" href="fix_deposit.html"><em>fix deposit</em></a>, or <a class="reference internal" href="fix_pour.html"><em>fix pour</em></a> commands, which will have atoms with more special neighbors than any atom in the current system has.</p> <hr class="docutils" /> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">LAMMPS stores and maintains a data structure with a list of the 1st, 2nd, and 3rd neighbors of each atom (within the bond topology of the system). If new bonds are created (or molecules added containing atoms with more special neighbors), the size of this list needs to grow. Note that adding a single bond always adds a new 1st neighbor but may also induce <em>many</em> new 2nd and 3rd neighbors, depending on the molecular topology of your system. Using the <em>extra</em> keyword leaves empty space in the list for this N additional 1st, 2nd, or 3rd neighbors to be added. If you do not do this, you may get an error when bonds (or molecules) are added.</p> </div> <hr class="docutils" /> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">If you reuse this command in an input script, you should set all the options you need each time. This command cannot be used a 2nd time incrementally, e.g. to add some extra storage locations via the <em>extra</em> keyword. E.g. these two commands:</p> </div> <p>special_bonds lj 0.0 1.0 1.0 special_bonds coul 0.0 0.0 1.0</p> <p>are not the same as</p> <p>special_bonds lj 0.0 1.0 1.0 coul 0.0 0.0 1.0</p> <p>In the first case you end up with (after the 2nd command):</p> <p>LJ: 0.0 0.0 0.0 Coul: coul 0.0 0.0 1.0</p> <p>because the LJ settings are reset to their default values each time the command is issued.</p> <p>Likewise</p> <div class="highlight-python"><div class="highlight"><pre>special_bonds amber special_bonds extra 2 </pre></div> </div> <p>is not the same as this single command:</p> <div class="highlight-python"><div class="highlight"><pre>special_bonds amber extra 2 </pre></div> </div> <p>since in the former case, the 2nd command will reset all the LJ and Coulombic weights to 0.0 (the default).</p> <p>One exception to this rule is the <em>extra</em> option itself. It is not reset to its default value of 0 each time the special_bonds command is invoked. This is because it can also be set by the <a class="reference internal" href="read_data.html"><em>read_data</em></a> and <a class="reference internal" href="create_box.html"><em>create_box</em></a> commands, so this command will not override those settings unless you explicitly use <em>extra</em> as an option.</p> </div> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <blockquote> <div>none</div></blockquote> </div> <div class="section" id="related-commands"> <h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2> <p><a class="reference internal" href="delete_bonds.html"><em>delete_bonds</em></a>, <a class="reference internal" href="fix_bond_create.html"><em>fix bond/create</em></a></p> </div> <div class="section" id="default"> <h2>Default<a class="headerlink" href="#default" title="Permalink to this headline">¶</a></h2> <p>All 3 Lennard-Jones and 3 Coulombic weighting coefficients = 0.0, angle = no, dihedral = no, and extra = 0.</p> <hr class="docutils" /> <p id="cornell"><strong>(Cornell)</strong> Cornell, Cieplak, Bayly, Gould, Merz, Ferguson, Spellmeyer, Fox, Caldwell, Kollman, JACS 117, 5179-5197 (1995).</p> <p id="kremer"><strong>(Kremer)</strong> Kremer, Grest, J Chem Phys, 92, 5057 (1990).</p> <p id="mackerell"><strong>(MacKerell)</strong> MacKerell, Bashford, Bellott, Dunbrack, Evanseck, Field, Fischer, Gao, Guo, Ha, et al, J Phys Chem, 102, 3586 (1998).</p> <p id="mayo"><strong>(Mayo)</strong> Mayo, Olfason, Goddard III, J Phys Chem, 94, 8897-8909 (1990).</p> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/tad.html b/doc/tad.html index aa0bff9b8..843fc4a7b 100644 --- a/doc/tad.html +++ b/doc/tad.html @@ -1,463 +1,463 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>tad command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>tad command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="tad-command"> <span id="index-0"></span><h1>tad command<a class="headerlink" href="#tad-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>tad N t_event T_lo T_hi delta tmax compute-ID keyword value ... </pre></div> </div> <ul class="simple"> <li>N = # of timesteps to run (not including dephasing/quenching)</li> <li>t_event = timestep interval between event checks</li> <li>T_lo = temperature at which event times are desired</li> <li>T_hi = temperature at which MD simulation is performed</li> <li>delta = desired confidence level for stopping criterion</li> <li>tmax = reciprocal of lowest expected preexponential factor (time units)</li> <li>compute-ID = ID of the compute used for event detection</li> <li>zero or more keyword/value pairs may be appended</li> <li>keyword = <em>min</em> or <em>neb</em> or <em>min_style</em> or <em>neb_style</em> or <em>neb_log</em></li> </ul> <pre class="literal-block"> <em>min</em> values = etol ftol maxiter maxeval - etol = stopping tolerance for energy (energy units) - ftol = stopping tolerance for force (force units) - maxiter = max iterations of minimize - maxeval = max number of force/energy evaluations - <em>neb</em> values = ftol N1 N2 Nevery - etol = stopping tolerance for energy (energy units) - ftol = stopping tolerance for force (force units) - N1 = max # of iterations (timesteps) to run initial NEB - N2 = max # of iterations (timesteps) to run barrier-climbing NEB - Nevery = print NEB statistics every this many timesteps - <em>neb_style</em> value = <em>quickmin</em> or <em>fire</em> - <em>neb_step</em> value = dtneb - dtneb = timestep for NEB damped dynamics minimization - <em>neb_log</em> value = file where NEB statistics are printed + etol = stopping tolerance for energy (energy units) + ftol = stopping tolerance for force (force units) + maxiter = max iterations of minimize + maxeval = max number of force/energy evaluations +<em>neb</em> values = ftol N1 N2 Nevery + etol = stopping tolerance for energy (energy units) + ftol = stopping tolerance for force (force units) + N1 = max # of iterations (timesteps) to run initial NEB + N2 = max # of iterations (timesteps) to run barrier-climbing NEB + Nevery = print NEB statistics every this many timesteps +<em>neb_style</em> value = <em>quickmin</em> or <em>fire</em> +<em>neb_step</em> value = dtneb + dtneb = timestep for NEB damped dynamics minimization +<em>neb_log</em> value = file where NEB statistics are printed </pre> </div> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>tad 2000 50 1800 2300 0.01 0.01 event tad 2000 50 1800 2300 0.01 0.01 event & min 1e-05 1e-05 100 100 & neb 0.0 0.01 200 200 20 & min_style cg & neb_style fire & neb_log log.neb </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>Run a temperature accelerated dynamics (TAD) simulation. This method requires two or more partitions to perform NEB transition state searches.</p> <p>TAD is described in <a class="reference internal" href="#voter"><span>this paper</span></a> by Art Voter. It is a method that uses accelerated dynamics at an elevated temperature to generate results at a specified lower temperature. A good overview of accelerated dynamics methods for such systems is given in <a class="reference internal" href="#voter2"><span>this review paper</span></a> from the same group. In general, these methods assume that the long-time dynamics is dominated by infrequent events i.e. the system is is confined to low energy basins for long periods, punctuated by brief, randomly-occurring transitions to adjacent basins. TAD is suitable for infrequent-event systems, where in addition, the transition kinetics are well-approximated by harmonic transition state theory (hTST). In hTST, the temperature dependence of transition rates follows the Arrhenius relation. As a consequence a set of event times generated in a high-temperature simulation can be mapped to a set of much longer estimated times in the low-temperature system. However, because this mapping involves the energy barrier of the transition event, which is different for each event, the first event at the high temperature may not be the earliest event at the low temperature. TAD handles this by first generating a set of possible events from the current basin. After each event, the simulation is reflected backwards into the current basin. This is repeated until the stopping criterion is satisfied, at which point the event with the earliest low-temperature occurrence time is selected. The stopping criterion is that the confidence measure be greater than 1-<em>delta</em>. The confidence measure is the probability that no earlier low-temperature event will occur at some later time in the high-temperature simulation. hTST provides an lower bound for this probability, based on the user-specified minimum pre-exponential factor (reciprocal of <em>tmax</em>).</p> <p>In order to estimate the energy barrier for each event, the TAD method invokes the <a class="reference internal" href="neb.html"><em>NEB</em></a> method. Each NEB replica runs on a partition of processors. The current NEB implementation in LAMMPS restricts you to having exactly one processor per replica. For more information, see the documentation for the <a class="reference internal" href="neb.html"><em>neb</em></a> command. In the current LAMMPS implementation of TAD, all the non-NEB TAD operations are performed on the first partition, while the other partitions remain idle. See <a class="reference internal" href="Section_howto.html#howto-5"><span>Section_howto 5</span></a> of the manual for further discussion of multi-replica simulations.</p> <p>A TAD run has several stages, which are repeated each time an event is performed. The logic for a TAD run is as follows:</p> <div class="highlight-python"><div class="highlight"><pre>while (time remains): while (time < tstop): until (event occurs): run dynamics for t_event steps quench run neb calculation using all replicas compute tlo from energy barrier update earliest event update tstop reflect back into current basin execute earliest event </pre></div> </div> <p>Before this outer loop begins, the initial potential energy basin is identified by quenching (an energy minimization, see below) the initial state and storing the resulting coordinates for reference.</p> <p>Inside the inner loop, dynamics is run continuously according to whatever integrator has been specified by the user, stopping every <em>t_event</em> steps to check if a transition event has occurred. This check is performed by quenching the system and comparing the resulting atom coordinates to the coordinates from the previous basin.</p> <p>A quench is an energy minimization and is performed by whichever algorithm has been defined by the <a class="reference internal" href="min_style.html"><em>min_style</em></a> command; its default is the CG minimizer. The tolerances and limits for each quench can be set by the <em>min</em> keyword. Note that typically, you do not need to perform a highly-converged minimization to detect a transition event.</p> <p>The event check is performed by a compute with the specified <em>compute-ID</em>. Currently there is only one compute that works with the TAD commmand, which is the <a class="reference internal" href="compute_event_displace.html"><em>compute event/displace</em></a> command. Other event-checking computes may be added. <a class="reference internal" href="compute_event_displace.html"><em>Compute event/displace</em></a> checks whether any atom in the compute group has moved further than a specified threshold distance. If so, an “event” has occurred.</p> <p>The NEB calculation is similar to that invoked by the <a class="reference internal" href="neb.html"><em>neb</em></a> command, except that the final state is generated internally, instead of being read in from a file. The style of minimization performed by NEB is determined by the <em>neb_style</em> keyword and must be a damped dynamics minimizer. The tolerances and limits for each NEB calculation can be set by the <em>neb</em> keyword. As discussed on the <a class="reference internal" href="neb.html"><em>neb</em></a>, it is often advantageous to use a larger timestep for NEB than for normal dyanmics. Since the size of the timestep set by the <a class="reference internal" href="timestep.html"><em>timestep</em></a> command is used by TAD for performing dynamics, there is a <em>neb_step</em> keyword which can be used to set a larger timestep for each NEB calculation if desired.</p> <hr class="docutils" /> <p>A key aspect of the TAD method is setting the stopping criterion appropriately. If this criterion is too conservative, then many events must be generated before one is finally executed. Conversely, if this criterion is too aggressive, high-entropy high-barrier events will be over-sampled, while low-entropy low-barrier events will be under-sampled. If the lowest pre-exponential factor is known fairly accurately, then it can be used to estimate <em>tmax</em>, and the value of <em>delta</em> can be set to the desired confidence level e.g. <em>delta</em> = 0.05 corresponds to 95% confidence. However, for systems where the dynamics are not well characterized (the most common case), it will be necessary to experiment with the values of <em>delta</em> and <em>tmax</em> to get a good trade-off between accuracy and performance.</p> <p>A second key aspect is the choice of <em>t_hi</em>. A larger value greatly increases the rate at which new events are generated. However, too large a value introduces errors due to anharmonicity (not accounted for within hTST). Once again, for any given system, experimentation is necessary to determine the best value of <em>t_hi</em>.</p> <hr class="docutils" /> <p>Five kinds of output can be generated during a TAD run: event statistics, NEB statistics, thermodynamic output by each replica, dump files, and restart files.</p> <p>Event statistics are printed to the screen and master log.lammps file each time an event is executed. The quantities are the timestep, CPU time, global event number <em>N</em>, local event number <em>M</em>, event status, energy barrier, time margin, <em>t_lo</em> and <em>delt_lo</em>. The timestep is the usual LAMMPS timestep, which corresponds to the high-temperature time at which the event was detected, in units of timestep. The CPU time is the total processor time since the start of the TAD run. The global event number <em>N</em> is a counter that increments with each executed event. The local event number <em>M</em> is a counter that resets to zero upon entering each new basin. The event status is <em>E</em> when an event is executed, and is <em>D</em> for an event that is detected, while <em>DF</em> is for a detected event that is also the earliest (first) event at the low temperature.</p> <p>The time margin is the ratio of the high temperature time in the current basin to the stopping time. This last number can be used to judge whether the stopping time is too short or too long (see above).</p> <p><em>t_lo</em> is the low-temperature event time when the current basin was entered, in units of timestep. del*t_lo* is the time of each detected event, measured relative to <em>t_lo</em>. <em>delt_lo</em> is equal to the high-temperature time since entering the current basin, scaled by an exponential factor that depends on the hi/lo temperature ratio and the energy barrier for that event.</p> <p>On lines for executed events, with status <em>E</em>, the global event number is incremented by one, the local event number and time margin are reset to zero, while the global event number, energy barrier, and <em>delt_lo</em> match the last event with status <em>DF</em> in the immediately preceding block of detected events. The low-temperature event time <em>t_lo</em> is incremented by <em>delt_lo</em>.</p> <p>NEB statistics are written to the file specified by the <em>neb_log</em> keyword. If the keyword value is “none”, then no NEB statistics are printed out. The statistics are written every <em>Nevery</em> timesteps. See the <a class="reference internal" href="neb.html"><em>neb</em></a> command for a full description of the NEB statistics. When invoked from TAD, NEB statistics are never printed to the screen.</p> <p>Because the NEB calculation must run on multiple partitions, LAMMPS produces additional screen and log files for each partition, e.g. log.lammps.0, log.lammps.1, etc. For the TAD command, these contain the thermodynamic output of each NEB replica. In addition, the log file for the first partition, log.lammps.0, will contain thermodynamic output from short runs and minimizations corresponding to the dynamics and quench operations, as well as a line for each new detected event, as described above.</p> <p>After the TAD command completes, timing statistics for the TAD run are printed in each replica’s log file, giving a breakdown of how much CPU time was spent in each stage (NEB, dynamics, quenching, etc).</p> <p>Any <a class="reference internal" href="dump.html"><em>dump files</em></a> defined in the input script will be written to during a TAD run at timesteps when an event is executed. This means the the requested dump frequency in the <a class="reference internal" href="dump.html"><em>dump</em></a> command is ignored. There will be one dump file (per dump command) created for all partitions. The atom coordinates of the dump snapshot are those of the minimum energy configuration resulting from quenching following the executed event. The timesteps written into the dump files correspond to the timestep at which the event occurred and NOT the clock. A dump snapshot corresponding to the initial minimum state used for event detection is written to the dump file at the beginning of each TAD run.</p> <p>If the <a class="reference internal" href="restart.html"><em>restart</em></a> command is used, a single restart file for all the partitions is generated, which allows a TAD run to be continued by a new input script in the usual manner. The restart file is generated after an event is executed. The restart file contains a snapshot of the system in the new quenched state, including the event number and the low-temperature time. The restart frequency specified in the <a class="reference internal" href="restart.html"><em>restart</em></a> command is interpreted differently when performing a TAD run. It does not mean the timestep interval between restart files. Instead it means an event interval for executed events. Thus a frequency of 1 means write a restart file every time an event is executed. A frequency of 10 means write a restart file every 10th executed event. When an input script reads a restart file from a previous TAD run, the new script can be run on a different number of replicas or processors.</p> <p>Note that within a single state, the dynamics will typically temporarily continue beyond the event that is ultimately chosen, until the stopping criterionis satisfied. When the event is eventually executed, the timestep counter is reset to the value when the event was detected. Similarly, after each quench and NEB minimization, the timestep counter is reset to the value at the start of the minimization. This means that the timesteps listed in the replica log files do not always increase monotonically. However, the timestep values printed to the master log file, dump files, and restart files are always monotonically increasing.</p> </div> <hr class="docutils" /> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <p>This command can only be used if LAMMPS was built with the REPLICA package. See the <a class="reference internal" href="Section_start.html#start-3"><span>Making LAMMPS</span></a> section for more info on packages.</p> <p><em>N</em> setting must be integer multiple of <em>t_event</em>.</p> <p>Runs restarted from restart files written during a TAD run will only produce identical results if the user-specified integrator supports exact restarts. So <a class="reference internal" href="fix_nh.html"><em>fix nvt</em></a> will produce an exact restart, but <a class="reference internal" href="fix_langevin.html"><em>fix langevin</em></a> will not.</p> <p>This command cannot be used when any fixes are defined that keep track of elapsed time to perform time-dependent operations. Examples include the “ave” fixes such as <a class="reference internal" href="fix_ave_spatial.html"><em>fix ave/spatial</em></a>. Also <a class="reference internal" href="fix_dt_reset.html"><em>fix dt/reset</em></a> and <a class="reference internal" href="fix_deposit.html"><em>fix deposit</em></a>.</p> </div> <div class="section" id="related-commands"> <h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2> <p><a class="reference internal" href="compute_event_displace.html"><em>compute event/displace</em></a>, <a class="reference internal" href="min_modify.html"><em>min_modify</em></a>, <a class="reference internal" href="min_style.html"><em>min_style</em></a>, <a class="reference internal" href="run_style.html"><em>run_style</em></a>, <a class="reference internal" href="minimize.html"><em>minimize</em></a>, <a class="reference internal" href="temper.html"><em>temper</em></a>, <a class="reference internal" href="neb.html"><em>neb</em></a>, <a class="reference internal" href="prd.html"><em>prd</em></a></p> </div> <div class="section" id="default"> <h2>Default<a class="headerlink" href="#default" title="Permalink to this headline">¶</a></h2> <p>The option defaults are <em>min</em> = 0.1 0.1 40 50, <em>neb</em> = 0.01 100 100 10, <em>neb_style</em> = <em>quickmin</em>, <em>neb_step</em> = the same timestep set by the <a class="reference internal" href="timestep.html"><em>timestep</em></a> command, and <em>neb_log</em> = “none”.</p> <hr class="docutils" /> <p id="voter"><strong>(Voter)</strong> Sorensen and Voter, J Chem Phys, 112, 9599 (2000)</p> <p id="voter2"><strong>(Voter2)</strong> Voter, Montalenti, Germann, Annual Review of Materials Research 32, 321 (2002).</p> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/thermo_style.html b/doc/thermo_style.html index 5195ac1a5..981a09b10 100644 --- a/doc/thermo_style.html +++ b/doc/thermo_style.html @@ -1,518 +1,518 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>thermo_style command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>thermo_style command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="thermo-style-command"> <span id="index-0"></span><h1>thermo_style command<a class="headerlink" href="#thermo-style-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>thermo_style style args </pre></div> </div> <ul class="simple"> <li>style = <em>one</em> or <em>multi</em> or <em>custom</em></li> <li>args = list of arguments for a particular style</li> </ul> <pre class="literal-block"> <em>one</em> args = none - <em>multi</em> args = none - <em>custom</em> args = list of keywords - possible keywords = step, elapsed, elaplong, dt, time, - cpu, tpcpu, spcpu, cpuremain, part, - atoms, temp, press, pe, ke, etotal, enthalpy, - evdwl, ecoul, epair, ebond, eangle, edihed, eimp, - emol, elong, etail, - vol, density, lx, ly, lz, xlo, xhi, ylo, yhi, zlo, zhi, - xy, xz, yz, xlat, ylat, zlat, - bonds, angles, dihedrals, impropers, - pxx, pyy, pzz, pxy, pxz, pyz, - fmax, fnorm, nbuild, ndanger, - cella, cellb, cellc, cellalpha, cellbeta, cellgamma, - c_ID, c_ID[I], c_ID[I][J], - f_ID, f_ID[I], f_ID[I][J], - v_name - step = timestep - elapsed = timesteps since start of this run - elaplong = timesteps since start of initial run in a series of runs - dt = timestep size - time = simulation time - cpu = elapsed CPU time in seconds - tpcpu = time per CPU second - spcpu = timesteps per CPU second - cpuremain = estimated CPU time remaining in run - part = which partition (0 to Npartition-1) this is - atoms = # of atoms - temp = temperature - press = pressure - pe = total potential energy - ke = kinetic energy - etotal = total energy (pe + ke) - enthalpy = enthalpy (etotal + press*vol) - evdwl = VanderWaal pairwise energy - ecoul = Coulombic pairwise energy - epair = pairwise energy (evdwl + ecoul + elong + etail) - ebond = bond energy - eangle = angle energy - edihed = dihedral energy - eimp = improper energy - emol = molecular energy (ebond + eangle + edihed + eimp) - elong = long-range kspace energy - etail = VanderWaal energy long-range tail correction - vol = volume - density = mass density of system - lx,ly,lz = box lengths in x,y,z - xlo,xhi,ylo,yhi,zlo,zhi = box boundaries - xy,xz,yz = box tilt for triclinic (non-orthogonal) simulation boxes - xlat,ylat,zlat = lattice spacings as calculated by <a class="reference internal" href="lattice.html"><em>lattice</em></a> command - bonds,angles,dihedrals,impropers = # of these interactions defined - pxx,pyy,pzz,pxy,pxz,pyz = 6 components of pressure tensor - fmax = max component of force on any atom in any dimension - fnorm = length of force vector for all atoms - nbuild = # of neighbor list builds - ndanger = # of dangerous neighbor list builds - cella,cellb,cellc = periodic cell lattice constants a,b,c - cellalpha, cellbeta, cellgamma = periodic cell angles alpha,beta,gamma - c_ID = global scalar value calculated by a compute with ID - c_ID[I] = Ith component of global vector calculated by a compute with ID - c_ID[I][J] = I,J component of global array calculated by a compute with ID - f_ID = global scalar value calculated by a fix with ID - f_ID[I] = Ith component of global vector calculated by a fix with ID - f_ID[I][J] = I,J component of global array calculated by a fix with ID - v_name = scalar value calculated by an equal-style variable with name +<em>multi</em> args = none +<em>custom</em> args = list of keywords + possible keywords = step, elapsed, elaplong, dt, time, + cpu, tpcpu, spcpu, cpuremain, part, + atoms, temp, press, pe, ke, etotal, enthalpy, + evdwl, ecoul, epair, ebond, eangle, edihed, eimp, + emol, elong, etail, + vol, density, lx, ly, lz, xlo, xhi, ylo, yhi, zlo, zhi, + xy, xz, yz, xlat, ylat, zlat, + bonds, angles, dihedrals, impropers, + pxx, pyy, pzz, pxy, pxz, pyz, + fmax, fnorm, nbuild, ndanger, + cella, cellb, cellc, cellalpha, cellbeta, cellgamma, + c_ID, c_ID[I], c_ID[I][J], + f_ID, f_ID[I], f_ID[I][J], + v_name + step = timestep + elapsed = timesteps since start of this run + elaplong = timesteps since start of initial run in a series of runs + dt = timestep size + time = simulation time + cpu = elapsed CPU time in seconds + tpcpu = time per CPU second + spcpu = timesteps per CPU second + cpuremain = estimated CPU time remaining in run + part = which partition (0 to Npartition-1) this is + atoms = # of atoms + temp = temperature + press = pressure + pe = total potential energy + ke = kinetic energy + etotal = total energy (pe + ke) + enthalpy = enthalpy (etotal + press*vol) + evdwl = VanderWaal pairwise energy + ecoul = Coulombic pairwise energy + epair = pairwise energy (evdwl + ecoul + elong + etail) + ebond = bond energy + eangle = angle energy + edihed = dihedral energy + eimp = improper energy + emol = molecular energy (ebond + eangle + edihed + eimp) + elong = long-range kspace energy + etail = VanderWaal energy long-range tail correction + vol = volume + density = mass density of system + lx,ly,lz = box lengths in x,y,z + xlo,xhi,ylo,yhi,zlo,zhi = box boundaries + xy,xz,yz = box tilt for triclinic (non-orthogonal) simulation boxes + xlat,ylat,zlat = lattice spacings as calculated by <a class="reference internal" href="lattice.html"><em>lattice</em></a> command + bonds,angles,dihedrals,impropers = # of these interactions defined + pxx,pyy,pzz,pxy,pxz,pyz = 6 components of pressure tensor + fmax = max component of force on any atom in any dimension + fnorm = length of force vector for all atoms + nbuild = # of neighbor list builds + ndanger = # of dangerous neighbor list builds + cella,cellb,cellc = periodic cell lattice constants a,b,c + cellalpha, cellbeta, cellgamma = periodic cell angles alpha,beta,gamma + c_ID = global scalar value calculated by a compute with ID + c_ID[I] = Ith component of global vector calculated by a compute with ID + c_ID[I][J] = I,J component of global array calculated by a compute with ID + f_ID = global scalar value calculated by a fix with ID + f_ID[I] = Ith component of global vector calculated by a fix with ID + f_ID[I][J] = I,J component of global array calculated by a fix with ID + v_name = scalar value calculated by an equal-style variable with name </pre> </div> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>thermo_style multi thermo_style custom step temp pe etotal press vol thermo_style custom step temp etotal c_myTemp v_abc </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>Set the style and content for printing thermodynamic data to the screen and log file.</p> <p>Style <em>one</em> prints a one-line summary of thermodynamic info that is the equivalent of “thermo_style custom step temp epair emol etotal press”. The line contains only numeric values.</p> <p>Style <em>multi</em> prints a multiple-line listing of thermodynamic info that is the equivalent of “thermo_style custom etotal ke temp pe ebond eangle edihed eimp evdwl ecoul elong press”. The listing contains numeric values and a string ID for each quantity.</p> <p>Style <em>custom</em> is the most general setting and allows you to specify which of the keywords listed above you want printed on each thermodynamic timestep. Note that the keywords c_ID, f_ID, v_name are references to <a class="reference internal" href="compute.html"><em>computes</em></a>, <a class="reference internal" href="fix.html"><em>fixes</em></a>, and equal-style <a class="reference external" href="variable.html"">variables</a> that have been defined elsewhere in the input script or can even be new styles which users have added to LAMMPS (see the <a class="reference internal" href="Section_modify.html"><em>Section_modify</em></a> section of the documentation). Thus the <em>custom</em> style provides a flexible means of outputting essentially any desired quantity as a simulation proceeds.</p> <p>All styles except <em>custom</em> have <em>vol</em> appended to their list of outputs if the simulation box volume changes during the simulation.</p> <p>The values printed by the various keywords are instantaneous values, calculated on the current timestep. Time-averaged quantities, which include values from previous timesteps, can be output by using the f_ID keyword and accessing a fix that does time-averaging such as the <a class="reference internal" href="fix_ave_time.html"><em>fix ave/time</em></a> command.</p> <p>Options invoked by the <a class="reference internal" href="thermo_modify.html"><em>thermo_modify</em></a> command can be used to set the one- or multi-line format of the print-out, the normalization of thermodynamic output (total values versus per-atom values for extensive quantities (ones which scale with the number of atoms in the system), and the numeric precision of each printed value.</p> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">When you use a “thermo_style” command, all thermodynamic settings are restored to their default values, including those previously set by a <a class="reference internal" href="thermo_modify.html"><em>thermo_modify</em></a> command. Thus if your input script specifies a thermo_style command, you should use the thermo_modify command after it.</p> </div> <hr class="docutils" /> <p>Several of the thermodynamic quantities require a temperature to be computed: “temp”, “press”, “ke”, “etotal”, “enthalpy”, “pxx”, etc. By default this is done by using a <em>temperature</em> compute which is created when LAMMPS starts up, as if this command had been issued:</p> <div class="highlight-python"><div class="highlight"><pre>compute thermo_temp all temp </pre></div> </div> <p>See the <a class="reference internal" href="compute_temp.html"><em>compute temp</em></a> command for details. Note that the ID of this compute is <em>thermo_temp</em> and the group is <em>all</em>. You can change the attributes of this temperature (e.g. its degrees-of-freedom) via the <a class="reference internal" href="compute_modify.html"><em>compute_modify</em></a> command. Alternatively, you can directly assign a new compute (that calculates temperature) which you have defined, to be used for calculating any thermodynamic quantity that requires a temperature. This is done via the <a class="reference internal" href="thermo_modify.html"><em>thermo_modify</em></a> command.</p> <p>Several of the thermodynamic quantities require a pressure to be computed: “press”, “enthalpy”, “pxx”, etc. By default this is done by using a <em>pressure</em> compute which is created when LAMMPS starts up, as if this command had been issued:</p> <div class="highlight-python"><div class="highlight"><pre>compute thermo_press all pressure thermo_temp </pre></div> </div> <p>See the <a class="reference internal" href="compute_pressure.html"><em>compute pressure</em></a> command for details. Note that the ID of this compute is <em>thermo_press</em> and the group is <em>all</em>. You can change the attributes of this pressure via the <a class="reference internal" href="compute_modify.html"><em>compute_modify</em></a> command. Alternatively, you can directly assign a new compute (that calculates pressure) which you have defined, to be used for calculating any thermodynamic quantity that requires a pressure. This is done via the <a class="reference internal" href="thermo_modify.html"><em>thermo_modify</em></a> command.</p> <p>Several of the thermodynamic quantities require a potential energy to be computed: “pe”, “etotal”, “ebond”, etc. This is done by using a <em>pe</em> compute which is created when LAMMPS starts up, as if this command had been issued:</p> <div class="highlight-python"><div class="highlight"><pre>compute thermo_pe all pe </pre></div> </div> <p>See the <a class="reference internal" href="compute_pe.html"><em>compute pe</em></a> command for details. Note that the ID of this compute is <em>thermo_pe</em> and the group is <em>all</em>. You can change the attributes of this potential energy via the <a class="reference internal" href="compute_modify.html"><em>compute_modify</em></a> command.</p> <hr class="docutils" /> <p>The kinetic energy of the system <em>ke</em> is inferred from the temperature of the system with 1/2 Kb T of energy for each degree of freedom. Thus, using different <a class="reference internal" href="compute.html"><em>compute commands</em></a> for calculating temperature, via the <a class="reference internal" href="thermo_modify.html"><em>thermo_modify temp</em></a> command, may yield different kinetic energies, since different computes that calculate temperature can subtract out different non-thermal components of velocity and/or include different degrees of freedom (translational, rotational, etc).</p> <p>The potential energy of the system <em>pe</em> will include contributions from fixes if the <a class="reference internal" href="fix_modify.html"><em>fix_modify thermo</em></a> option is set for a fix that calculates such a contribution. For example, the <a class="reference internal" href="fix_wall.html"><em>fix wall/lj93</em></a> fix calculates the energy of atoms interacting with the wall. See the doc pages for “individual fixes” to see which ones contribute.</p> <p>A long-range tail correction <em>etail</em> for the VanderWaal pairwise energy will be non-zero only if the <a class="reference internal" href="pair_modify.html"><em>pair_modify tail</em></a> option is turned on. The <em>etail</em> contribution is included in <em>evdwl</em>, <em>pe</em>, and <em>etotal</em>, and the corresponding tail correction to the pressure is included in <em>press</em> and <em>pxx</em>, <em>pyy</em>, etc.</p> <hr class="docutils" /> <p>The <em>step</em>, <em>elapsed</em>, and <em>elaplong</em> keywords refer to timestep count. <em>Step</em> is the current timestep, or iteration count when a <a class="reference internal" href="minimize.html"><em>minimization</em></a> is being performed. <em>Elapsed</em> is the number of timesteps elapsed since the beginning of this run. <em>Elaplong</em> is the number of timesteps elapsed since the beginning of an initial run in a series of runs. See the <em>start</em> and <em>stop</em> keywords for the <a class="reference internal" href="run.html"><em>run</em></a> for info on how to invoke a series of runs that keep track of an initial starting time. If these keywords are not used, then <em>elapsed</em> and <em>elaplong</em> are the same value.</p> <p>The <em>dt</em> keyword is the current timestep size in time <a class="reference internal" href="units.html"><em>units</em></a>. The <em>time</em> keyword is the current elapsed simulation time, also in time <a class="reference internal" href="units.html"><em>units</em></a>, which is simply (step*dt) if the timestep size has not changed and the timestep has not been reset. If the timestep has changed (e.g. via <a class="reference internal" href="fix_dt_reset.html"><em>fix dt/reset</em></a>) or the timestep has been reset (e.g. via the “reset_timestep” command), then the simulation time is effectively a cummulative value up to the current point.</p> <p>The <em>cpu</em> keyword is elapsed CPU seconds since the beginning of this run. The <em>tpcpu</em> and <em>spcpu</em> keywords are measures of how fast your simulation is currently running. The <em>tpcpu</em> keyword is simulation time per CPU second, where simulation time is in time <a class="reference internal" href="units.html"><em>units</em></a>. E.g. for metal units, the <em>tpcpu</em> value would be picoseconds per CPU second. The <em>spcpu</em> keyword is the number of timesteps per CPU second. Both quantities are on-the-fly metrics, measured relative to the last time they were invoked. Thus if you are printing out thermodyamic output every 100 timesteps, the two keywords will continually output the time and timestep rate for the last 100 steps. The <em>tpcpu</em> keyword does not attempt to track any changes in timestep size, e.g. due to using the <a class="reference internal" href="fix_dt_reset.html"><em>fix dt/reset</em></a> command.</p> <p>The <em>cpuremain</em> keyword estimates the CPU time remaining in the current run, based on the time elapsed thus far. It will only be a good estimate if the CPU time/timestep for the rest of the run is similar to the preceding timesteps. On the initial timestep the value will be 0.0 since there is no history to estimate from. For a minimization run performed by the “minimize” command, the estimate is based on the <em>maxiter</em> parameter, assuming the minimization will proceed for the maximum number of allowed iterations.</p> <p>The <em>part</em> keyword is useful for multi-replica or multi-partition simulations to indicate which partition this output and this file corresponds to, or for use in a <a class="reference internal" href="variable.html"><em>variable</em></a> to append to a filename for output specific to this partition. See <a class="reference internal" href="Section_start.html#start-7"><span>Section_start 7</span></a> of the manual for details on running in multi-partition mode.</p> <p>The <em>fmax</em> and <em>fnorm</em> keywords are useful for monitoring the progress of an <a class="reference internal" href="minimize.html"><em>energy minimization</em></a>. The <em>fmax</em> keyword calculates the maximum force in any dimension on any atom in the system, or the infinity-norm of the force vector for the system. The <em>fnorm</em> keyword calculates the 2-norm or length of the force vector.</p> <p>The <em>nbuild</em> and <em>ndanger</em> keywords are useful for monitoring neighbor list builds during a run. Note that both these values are also printed with the end-of-run statistics. The <em>nbuild</em> keyword is the number of re-builds during the current run. The <em>ndanger</em> keyword is the number of re-builds that LAMMPS considered potentially “dangerous”. If atom movement triggered neighbor list rebuilding (see the <a class="reference internal" href="neigh_modify.html"><em>neigh_modify</em></a> command), then dangerous reneighborings are those that were triggered on the first timestep atom movement was checked for. If this count is non-zero you may wish to reduce the delay factor to insure no force interactions are missed by atoms moving beyond the neighbor skin distance before a rebuild takes place.</p> <p>The keywords <em>cella</em>, <em>cellb</em>, <em>cellc</em>, <em>cellalpha</em>, <em>cellbeta</em>, <em>cellgamma</em>, correspond to the usual crystallographic quantities that define the periodic unit cell of a crystal. See <a class="reference internal" href="Section_howto.html#howto-12"><span>this section</span></a> of the doc pages for a geometric description of triclinic periodic cells, including a precise defintion of these quantities in terms of the internal LAMMPS cell dimensions <em>lx</em>, <em>ly</em>, <em>lz</em>, <em>yz</em>, <em>xz</em>, <em>xy</em>.</p> <hr class="docutils" /> <p>The <em>c_ID</em> and <em>c_ID[I]</em> and <em>c_ID[I][J]</em> keywords allow global values calculated by a compute to be output. As discussed on the <a class="reference internal" href="compute.html"><em>compute</em></a> doc page, computes can calculate global, per-atom, or local values. Only global values can be referenced by this command. However, per-atom compute values can be referenced in a <a class="reference internal" href="variable.html"><em>variable</em></a> and the variable referenced by thermo_style custom, as discussed below.</p> <p>The ID in the keyword should be replaced by the actual ID of a compute that has been defined elsewhere in the input script. See the <a class="reference internal" href="compute.html"><em>compute</em></a> command for details. If the compute calculates a global scalar, vector, or array, then the keyword formats with 0, 1, or 2 brackets will reference a scalar value from the compute.</p> <p>Note that some computes calculate “intensive” global quantities like temperature; others calculate “extensive” global quantities like kinetic energy that are summed over all atoms in the compute group. Intensive quantities are printed directly without normalization by thermo_style custom. Extensive quantities may be normalized by the total number of atoms in the simulation (NOT the number of atoms in the compute group) when output, depending on the <a class="reference internal" href="thermo_modify.html"><em>thermo_modify norm</em></a> option being used.</p> <p>The <em>f_ID</em> and <em>f_ID[I]</em> and <em>f_ID[I][J]</em> keywords allow global values calculated by a fix to be output. As discussed on the <a class="reference internal" href="fix.html"><em>fix</em></a> doc page, fixes can calculate global, per-atom, or local values. Only global values can be referenced by this command. However, per-atom fix values can be referenced in a <a class="reference internal" href="variable.html"><em>variable</em></a> and the variable referenced by thermo_style custom, as discussed below.</p> <p>The ID in the keyword should be replaced by the actual ID of a fix that has been defined elsewhere in the input script. See the <a class="reference internal" href="fix.html"><em>fix</em></a> command for details. If the fix calculates a global scalar, vector, or array, then the keyword formats with 0, 1, or 2 brackets will reference a scalar value from the fix.</p> <p>Note that some fixes calculate “intensive” global quantities like timestep size; others calculate “extensive” global quantities like energy that are summed over all atoms in the fix group. Intensive quantities are printed directly without normalization by thermo_style custom. Extensive quantities may be normalized by the total number of atoms in the simulation (NOT the number of atoms in the fix group) when output, depending on the <a class="reference internal" href="thermo_modify.html"><em>thermo_modify norm</em></a> option being used.</p> <p>The <em>v_name</em> keyword allow the current value of a variable to be output. The name in the keyword should be replaced by the variable name that has been defined elsewhere in the input script. Only equal-style variables can be referenced. See the <a class="reference internal" href="variable.html"><em>variable</em></a> command for details. Variables of style <em>equal</em> can reference per-atom properties or thermodynamic keywords, or they can invoke other computes, fixes, or variables when evaluated, so this is a very general means of creating thermodynamic output.</p> <p>Note that equal-style variables are assumed to be “intensive” global quantities, which are thus printed as-is, without normalization by thermo_style custom. You can include a division by “natoms” in the variable formula if this is not the case.</p> </div> <hr class="docutils" /> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <p>This command must come after the simulation box is defined by a <a class="reference internal" href="read_data.html"><em>read_data</em></a>, <a class="reference internal" href="read_restart.html"><em>read_restart</em></a>, or <a class="reference internal" href="create_box.html"><em>create_box</em></a> command.</p> </div> <div class="section" id="related-commands"> <h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2> <p><a class="reference internal" href="thermo.html"><em>thermo</em></a>, <a class="reference internal" href="thermo_modify.html"><em>thermo_modify</em></a>, <a class="reference internal" href="fix_modify.html"><em>fix_modify</em></a>, <a class="reference internal" href="compute_temp.html"><em>compute temp</em></a>, <a class="reference internal" href="compute_pressure.html"><em>compute pressure</em></a></p> </div> <div class="section" id="default"> <h2>Default<a class="headerlink" href="#default" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>thermo_style one </pre></div> </div> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/variable.html b/doc/variable.html index d3867fa48..ab9808a4d 100644 --- a/doc/variable.html +++ b/doc/variable.html @@ -1,1233 +1,1233 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>variable command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>variable command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="variable-command"> <span id="index-0"></span><h1>variable command<a class="headerlink" href="#variable-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>variable name style args ... </pre></div> </div> <ul class="simple"> <li>name = name of variable to define</li> <li>style = <em>delete</em> or <em>index</em> or <em>loop</em> or <em>world</em> or <em>universe</em> or <em>uloop</em> or <em>string</em> or <em>format</em> or <em>getenv</em> or <em>file</em> or <em>atomfile</em> or <em>python</em> or <em>equal</em> or <em>atom</em></li> </ul> <pre class="literal-block"> <em>delete</em> = no args - <em>index</em> args = one or more strings - <em>loop</em> args = N - N = integer size of loop, loop from 1 to N inclusive - <em>loop</em> args = N pad - N = integer size of loop, loop from 1 to N inclusive - pad = all values will be same length, e.g. 001, 002, ..., 100 - <em>loop</em> args = N1 N2 - N1,N2 = loop from N1 to N2 inclusive - <em>loop</em> args = N1 N2 pad - N1,N2 = loop from N1 to N2 inclusive - pad = all values will be same length, e.g. 050, 051, ..., 100 - <em>world</em> args = one string for each partition of processors - <em>universe</em> args = one or more strings - <em>uloop</em> args = N - N = integer size of loop - <em>uloop</em> args = N pad - N = integer size of loop - pad = all values will be same length, e.g. 001, 002, ..., 100 - <em>string</em> arg = one string - <em>format</em> args = vname fstr - vname = name of equal-style variable to evaluate - fstr = C-style format string - <em>getenv</em> arg = one string - <em>file</em> arg = filename - <em>atomfile</em> arg = filename - <em>python</em> arg = function - <em>equal</em> or <em>atom</em> args = one formula containing numbers, thermo keywords, math operations, group functions, atom values and vectors, compute/fix/variable references - numbers = 0.0, 100, -5.4, 2.8e-4, etc - constants = PI - thermo keywords = vol, ke, press, etc from <a class="reference internal" href="thermo_style.html"><em>thermo_style</em></a> - math operators = (), -x, x+y, x-y, x*y, x/y, x^y, x%y, - x == y, x != y, x &lt y, x &lt= y, x &gt y, x &gt= y, x && y, x || y, !x - math functions = sqrt(x), exp(x), ln(x), log(x), abs(x), - sin(x), cos(x), tan(x), asin(x), acos(x), atan(x), atan2(y,x), - random(x,y,z), normal(x,y,z), ceil(x), floor(x), round(x) - ramp(x,y), stagger(x,y), logfreq(x,y,z), logfreq2(x,y,z), - stride(x,y,z), stride2(x,y,z,a,b,c), - vdisplace(x,y), swiggle(x,y,z), cwiggle(x,y,z) - group functions = count(group), mass(group), charge(group), - xcm(group,dim), vcm(group,dim), fcm(group,dim), - bound(group,dir), gyration(group), ke(group), - angmom(group,dim), torque(group,dim), - inertia(group,dimdim), omega(group,dim) - region functions = count(group,region), mass(group,region), charge(group,region), - xcm(group,dim,region), vcm(group,dim,region), fcm(group,dim,region), - bound(group,dir,region), gyration(group,region), ke(group,reigon), - angmom(group,dim,region), torque(group,dim,region), - inertia(group,dimdim,region), omega(group,dim,region) - special functions = sum(x), min(x), max(x), ave(x), trap(x), slope(x), gmask(x), rmask(x), grmask(x,y), next(x) - atom value = id[i], mass[i], type[i], mol[i], x[i], y[i], z[i], vx[i], vy[i], vz[i], fx[i], fy[i], fz[i], q[i] - atom vector = id, mass, type, mol, x, y, z, vx, vy, vz, fx, fy, fz, q - compute references = c_ID, c_ID[i], c_ID[i][j] - fix references = f_ID, f_ID[i], f_ID[i][j] - variable references = v_name, v_name[i] +<em>index</em> args = one or more strings +<em>loop</em> args = N + N = integer size of loop, loop from 1 to N inclusive +<em>loop</em> args = N pad + N = integer size of loop, loop from 1 to N inclusive + pad = all values will be same length, e.g. 001, 002, ..., 100 +<em>loop</em> args = N1 N2 + N1,N2 = loop from N1 to N2 inclusive +<em>loop</em> args = N1 N2 pad + N1,N2 = loop from N1 to N2 inclusive + pad = all values will be same length, e.g. 050, 051, ..., 100 +<em>world</em> args = one string for each partition of processors +<em>universe</em> args = one or more strings +<em>uloop</em> args = N + N = integer size of loop +<em>uloop</em> args = N pad + N = integer size of loop + pad = all values will be same length, e.g. 001, 002, ..., 100 +<em>string</em> arg = one string +<em>format</em> args = vname fstr + vname = name of equal-style variable to evaluate + fstr = C-style format string +<em>getenv</em> arg = one string +<em>file</em> arg = filename +<em>atomfile</em> arg = filename +<em>python</em> arg = function +<em>equal</em> or <em>atom</em> args = one formula containing numbers, thermo keywords, math operations, group functions, atom values and vectors, compute/fix/variable references + numbers = 0.0, 100, -5.4, 2.8e-4, etc + constants = PI + thermo keywords = vol, ke, press, etc from <a class="reference internal" href="thermo_style.html"><em>thermo_style</em></a> + math operators = (), -x, x+y, x-y, x*y, x/y, x^y, x%y, + x == y, x != y, x &lt y, x &lt= y, x &gt y, x &gt= y, x && y, x || y, !x + math functions = sqrt(x), exp(x), ln(x), log(x), abs(x), + sin(x), cos(x), tan(x), asin(x), acos(x), atan(x), atan2(y,x), + random(x,y,z), normal(x,y,z), ceil(x), floor(x), round(x) + ramp(x,y), stagger(x,y), logfreq(x,y,z), logfreq2(x,y,z), + stride(x,y,z), stride2(x,y,z,a,b,c), + vdisplace(x,y), swiggle(x,y,z), cwiggle(x,y,z) + group functions = count(group), mass(group), charge(group), + xcm(group,dim), vcm(group,dim), fcm(group,dim), + bound(group,dir), gyration(group), ke(group), + angmom(group,dim), torque(group,dim), + inertia(group,dimdim), omega(group,dim) + region functions = count(group,region), mass(group,region), charge(group,region), + xcm(group,dim,region), vcm(group,dim,region), fcm(group,dim,region), + bound(group,dir,region), gyration(group,region), ke(group,reigon), + angmom(group,dim,region), torque(group,dim,region), + inertia(group,dimdim,region), omega(group,dim,region) + special functions = sum(x), min(x), max(x), ave(x), trap(x), slope(x), gmask(x), rmask(x), grmask(x,y), next(x) + atom value = id[i], mass[i], type[i], mol[i], x[i], y[i], z[i], vx[i], vy[i], vz[i], fx[i], fy[i], fz[i], q[i] + atom vector = id, mass, type, mol, x, y, z, vx, vy, vz, fx, fy, fz, q + compute references = c_ID, c_ID[i], c_ID[i][j] + fix references = f_ID, f_ID[i], f_ID[i][j] + variable references = v_name, v_name[i] </pre> </div> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>variable x index run1 run2 run3 run4 run5 run6 run7 run8 variable LoopVar loop $n variable beta equal temp/3.0 variable b1 equal x[234]+0.5*vol variable b1 equal "x[234] + 0.5*vol" variable b equal xcm(mol1,x)/2.0 variable b equal c_myTemp variable b atom x*y/vol variable foo string myfile variable myPy python increase variable f file values.txt variable temp world 300.0 310.0 320.0 ${Tfinal} variable x universe 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 variable x uloop 15 pad variable str format x %.6g variable x delete </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>This command assigns one or more strings to a variable name for evaluation later in the input script or during a simulation.</p> <p>Variables can thus be useful in several contexts. A variable can be defined and then referenced elsewhere in an input script to become part of a new input command. For variable styles that store multiple strings, the <a class="reference internal" href="next.html"><em>next</em></a> command can be used to increment which string is assigned to the variable. Variables of style <em>equal</em> store a formula which when evaluated produces a single numeric value which can be output either directly (see the <a class="reference internal" href="print.html"><em>print</em></a>, <a class="reference internal" href="fix_print.html"><em>fix print</em></a>, and <a class="reference internal" href="run.html"><em>run every</em></a> commands) or as part of thermodynamic output (see the <a class="reference internal" href="thermo_style.html"><em>thermo_style</em></a> command), or used as input to an averaging fix (see the <a class="reference internal" href="fix_ave_time.html"><em>fix ave/time</em></a> command). Variables of style <em>atom</em> store a formula which when evaluated produces one numeric value per atom which can be output to a dump file (see the <a class="reference internal" href="dump.html"><em>dump custom</em></a> command) or used as input to an averaging fix (see the <a class="reference internal" href="fix_ave_spatial.html"><em>fix ave/spatial</em></a> and <a class="reference internal" href="fix_ave_atom.html"><em>fix ave/atom</em></a> commands). Variables of style <em>atomfile</em> can be used anywhere in an input script that atom-style variables are used; they get their per-atom values from a file rather than from a formula. Variables can be hooked to Python functions using code you provide, so that the variable gets its value from the evaluation of the Python code.</p> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">As discussed in <a class="reference internal" href="Section_commands.html#cmd-2"><span>Section 3.2</span></a> of the manual, an input script can use “immediate” variables, specified as $(formula) with parenthesis, where the formula has the same syntax as equal-style variables described on this page. This is a convenient way to evaluate a formula immediately without using the variable command to define a named variable and then evaluate that variable. See below for a more detailed discussion of this feature.</p> </div> <p>In the discussion that follows, the “name” of the variable is the arbitrary string that is the 1st argument in the variable command. This name can only contain alphanumeric characters and underscores. The “string” is one or more of the subsequent arguments. The “string” can be simple text as in the 1st example above, it can contain other variables as in the 2nd example, or it can be a formula as in the 3rd example. The “value” is the numeric quantity resulting from evaluation of the string. Note that the same string can generate different values when it is evaluated at different times during a simulation.</p> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">When the input script line is encountered that defines a variable of style <em>equal</em> or <em>atom</em> or <em>python</em> that contains a formula or Python code, the formula is NOT immediately evaluated. It will be evaluated every time when the variable is <strong>used</strong> instead. If you simply want to evaluate a formula in place you can use as so-called. See the section below about “Immediate Evaluation of Variables” for more details on the topic. This is also true of a <em>format</em> style variable since it evaluates another variable when it is invoked.</p> </div> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">Variables of style <em>equal</em> and <em>atom</em> can be used as inputs to various other LAMMPS commands which evaluate their formulas as needed, e.g. at different timesteps during a <a class="reference internal" href="run.html"><em>run</em></a>. Variables of style <em>python</em> can be used in place of an equal-style variable so long as the associated Python function, as defined by the <a class="reference internal" href="python.html"><em>python</em></a> command, returns a numeric value. Thus any command that states it can use an equal-style variable as an argument, can also use such a python-style variable. This means that when the LAMMPS command evaluates the variable, the Python function will be executed.</p> </div> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">When a variable command is encountered in the input script and the variable name has already been specified, the command is ignored. This means variables can NOT be re-defined in an input script (with two exceptions, read further). This is to allow an input script to be processed multiple times without resetting the variables; see the <a class="reference internal" href="jump.html"><em>jump</em></a> or <a class="reference internal" href="include.html"><em>include</em></a> commands. It also means that using the <a class="reference internal" href="Section_start.html#start-7"><span>command-line switch</span></a> -var will override a corresponding index variable setting in the input script.</p> </div> <p>There are two exceptions to this rule. First, variables of style <em>string</em>, <em>getenv</em>, <em>equal</em>, <em>atom</em>, and <em>python</em> ARE redefined each time the command is encountered. This allows these style of variables to be redefined multiple times in an input script. In a loop, this means the formula associated with an <em>equal</em> or <em>atom</em> style variable can change if it contains a substitution for another variable, e.g. $x or v_x.</p> <p>Second, as described below, if a variable is iterated on to the end of its list of strings via the <a class="reference internal" href="next.html"><em>next</em></a> command, it is removed from the list of active variables, and is thus available to be re-defined in a subsequent variable command. The <em>delete</em> style does the same thing.</p> <hr class="docutils" /> <p><a class="reference internal" href="Section_commands.html#cmd-2"><span>This section</span></a> of the manual explains how occurrences of a variable name in an input script line are replaced by the variable’s string. The variable name can be referenced as $x if the name “x” is a single character, or as ${LoopVar} if the name “LoopVar” is one or more characters.</p> <p>As described below, for variable styles <em>index</em>, <em>loop</em>, <em>file</em>, <em>universe</em>, and <em>uloop</em>, which string is assigned to a variable can be incremented via the <a class="reference internal" href="next.html"><em>next</em></a> command. When there are no more strings to assign, the variable is exhausted and a flag is set that causes the next <a class="reference internal" href="jump.html"><em>jump</em></a> command encountered in the input script to be skipped. This enables the construction of simple loops in the input script that are iterated over and then exited from.</p> <p>As explained above, an exhausted variable can be re-used in an input script. The <em>delete</em> style also removes the variable, the same as if it were exhausted, allowing it to be redefined later in the input script or when the input script is looped over. This can be useful when breaking out of a loop via the <a class="reference internal" href="if.html"><em>if</em></a> and <a class="reference internal" href="jump.html"><em>jump</em></a> commands before the variable would become exhausted. For example,</p> <div class="highlight-python"><div class="highlight"><pre>label loop variable a loop 5 print "A = $a" if "$a > 2" then "jump in.script break" next a jump in.script loop label break variable a delete </pre></div> </div> <hr class="docutils" /> <p>This section describes how all the various variable styles are defined and what they store. Except for the <em>equal</em> and <em>atom</em> styles, which are explaine in the next section.</p> <p>Many of the styles store one or more strings. Note that a single string can contain spaces (multiple words), if it is enclosed in quotes in the variable command. When the variable is substituted for in another input script command, its returned string will then be interpreted as multiple arguments in the expanded command.</p> <p>For the <em>index</em> style, one or more strings are specified. Initially, the 1st string is assigned to the variable. Each time a <a class="reference internal" href="next.html"><em>next</em></a> command is used with the variable name, the next string is assigned. All processors assign the same string to the variable.</p> <p><em>Index</em> style variables with a single string value can also be set by using the command-line switch -var; see <a class="reference internal" href="Section_start.html#start-7"><span>this section</span></a> for details.</p> <p>The <em>loop</em> style is identical to the <em>index</em> style except that the strings are the integers from 1 to N inclusive, if only one argument N is specified. This allows generation of a long list of runs (e.g. 1000) without having to list N strings in the input script. Initially, the string “1” is assigned to the variable. Each time a <a class="reference internal" href="next.html"><em>next</em></a> command is used with the variable name, the next string (“2”, “3”, etc) is assigned. All processors assign the same string to the variable. The <em>loop</em> style can also be specified with two arguments N1 and N2. In this case the loop runs from N1 to N2 inclusive, and the string N1 is initially assigned to the variable. N1 <= N2 and N2 >= 0 is required.</p> <p>For the <em>world</em> style, one or more strings are specified. There must be one string for each processor partition or “world”. See <a class="reference internal" href="Section_start.html#start-7"><span>this section</span></a> of the manual for information on running LAMMPS with multiple partitions via the “-partition” command-line switch. This variable command assigns one string to each world. All processors in the world are assigned the same string. The next command cannot be used with <em>equal</em> style variables, since there is only one value per world. This style of variable is useful when you wish to run different simulations on different partitions, or when performing a parallel tempering simulation (see the <a class="reference internal" href="temper.html"><em>temper</em></a> command), to assign different temperatures to different partitions.</p> <p>For the <em>universe</em> style, one or more strings are specified. There must be at least as many strings as there are processor partitions or “worlds”. See <a class="reference internal" href="Section_start.html#start-7"><span>this page</span></a> for information on running LAMMPS with multiple partitions via the “-partition” command-line switch. This variable command initially assigns one string to each world. When a <a class="reference internal" href="next.html"><em>next</em></a> command is encountered using this variable, the first processor partition to encounter it, is assigned the next available string. This continues until all the variable strings are consumed. Thus, this command can be used to run 50 simulations on 8 processor partitions. The simulations will be run one after the other on whatever partition becomes available, until they are all finished. <em>Universe</em> style variables are incremented using the files “tmp.lammps.variable” and “tmp.lammps.variable.lock” which you will see in your directory during such a LAMMPS run.</p> <p>The <em>uloop</em> style is identical to the <em>universe</em> style except that the strings are the integers from 1 to N. This allows generation of long list of runs (e.g. 1000) without having to list N strings in the input script.</p> <p>For the <em>string</em> style, a single string is assigned to the variable. The only difference between this and using the <em>index</em> style with a single string is that a variable with <em>string</em> style can be redefined. E.g. by another command later in the input script, or if the script is read again in a loop.</p> <p>For the <em>format</em> style, an equal-style variable is specified along with a C-style format string, e.g. “%f” or “%.10g”, which must be appropriate for formatting a double-precision floating-point value. This allows an equal-style variable to be formatted specifically for output as a string, e.g. by the <a class="reference internal" href="print.html"><em>print</em></a> command, if the default format “%.15g” has too much precision.</p> <p>For the <em>getenv</em> style, a single string is assigned to the variable which should be the name of an environment variable. When the variable is evaluated, it returns the value of the environment variable, or an empty string if it not defined. This style of variable can be used to adapt the behavior of LAMMPS input scripts via environment variable settings, or to retrieve information that has been previously stored with the <a class="reference internal" href="shell.html"><em>shell putenv</em></a> command. Note that because environment variable settings are stored by the operating systems, they persist beyond a <a class="reference internal" href="clear.html"><em>clear</em></a> command.</p> <p>For the <em>file</em> style, a filename is provided which contains a list of strings to assign to the variable, one per line. The strings can be numeric values if desired. See the discussion of the next() function below for equal-style variables, which will convert the string of a file-style variable into a numeric value in a formula.</p> <p>When a file-style variable is defined, the file is opened and the string on the first line is read and stored with the variable. This means the variable can then be evaluated as many times as desired and will return that string. There are two ways to cause the next string from the file to be read: use the <a class="reference internal" href="next.html"><em>next</em></a> command or the next() function in an equal- or atom-style variable, as discussed below.</p> <p>The rules for formatting the file are as follows. A comment character “#” can be used anywhere on a line; text starting with the comment character is stripped. Blank lines are skipped. The first “word” of a non-blank line, delimited by white space, is the “string” assigned to the variable.</p> <p>For the <em>atomfile</em> style, a filename is provided which contains one or more sets of values, to assign on a per-atom basis to the variable. The format of the file is described below.</p> <p>When an atomfile-style variable is defined, the file is opened and the first set of per-atom values are read and stored with the variable. This means the variable can then be evaluated as many times as desired and will return those values. There are two ways to cause the next set of per-atom values from the file to be read: use the <a class="reference internal" href="next.html"><em>next</em></a> command or the next() function in an atom-style variable, as discussed below.</p> <p>The rules for formatting the file are as follows. Each time a set of per-atom values is read, a non-blank line is searched for in the file. A comment character “#” can be used anywhere on a line; text starting with the comment character is stripped. Blank lines are skipped. The first “word” of a non-blank line, delimited by white space, is read as the count N of per-atom lines to immediately follow. N can be be the total number of atoms in the system, or only a subset. The next N lines have the following format</p> <div class="highlight-python"><div class="highlight"><pre>ID value </pre></div> </div> <p>where ID is an atom ID and value is the per-atom numeric value that will be assigned to that atom. IDs can be listed in any order.</p> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">Every time a set of per-atom lines is read, the value for all atoms is first set to 0.0. Thus values for atoms whose ID does not appear in the set, will remain 0.0.</p> </div> <p>For the <em>python</em> style a Python function name is provided. This needs to match a function name specified in a <a class="reference internal" href="python.html"><em>python</em></a> command which returns a value to this variable as defined by its <em>return</em> keyword. For exampe these two commands would be self-consistent:</p> <div class="highlight-python"><div class="highlight"><pre>variable foo python myMultiply python myMultiply return v_foo format f file funcs.py </pre></div> </div> <p>The two commands can appear in either order so long as both are specified before the Python function is invoked for the first time.</p> <p>Each time the variable is evaluated, the associated Python function is invoked, and the value it returns is also returned by the variable. Since the Python function can use other LAMMPS variables as input, or query interal LAMMPS quantities to perform its computation, this means the variable can return a different value each time it is evaluated.</p> <p>The type of value stored in the variable is determined by the <em>format</em> keyword of the <a class="reference internal" href="python.html"><em>python</em></a> command. It can be an integer (i), floating point (f), or string (s) value. As mentioned above, if it is a numeric value (integer or floating point), then the python-style variable can be used in place of an equal-style variable anywhere in an input script, e.g. as an argument to another command that allows for equal-style variables.</p> <hr class="docutils" /> <p>For the <em>equal</em> and <em>atom</em> styles, a single string is specified which represents a formula that will be evaluated afresh each time the variable is used. If you want spaces in the string, enclose it in double quotes so the parser will treat it as a single argument. For <em>equal</em> style variables the formula computes a scalar quantity, which becomes the value of the variable whenever it is evaluated. For <em>atom</em> style variables the formula computes one quantity for each atom whenever it is evaluated.</p> <p>Note that <em>equal</em> and <em>atom</em> variables can produce different values at different stages of the input script or at different times during a run. For example, if an <em>equal</em> variable is used in a <a class="reference internal" href="fix_print.html"><em>fix print</em></a> command, different values could be printed each timestep it was invoked. If you want a variable to be evaluated immediately, so that the result is stored by the variable instead of the string, see the section below on “Immediate Evaluation of Variables”.</p> <p>The next command cannot be used with <em>equal</em> or <em>atom</em> style variables, since there is only one string.</p> <p>The formula for an <em>equal</em> or <em>atom</em> variable can contain a variety of quantities. The syntax for each kind of quantity is simple, but multiple quantities can be nested and combined in various ways to build up formulas of arbitrary complexity. For example, this is a valid (though strange) variable formula:</p> <div class="highlight-python"><div class="highlight"><pre>variable x equal "pe + c_MyTemp / vol^(1/3)" </pre></div> </div> <p>Specifically, an formula can contain numbers, thermo keywords, math operators, math functions, group functions, region functions, atom values, atom vectors, compute references, fix references, and references to other variables.</p> <hr class="docutils" /> <p>Most of the formula elements produce a scalar value. A few produce a per-atom vector of values. These are the atom vectors, compute references that represent a per-atom vector, fix references that represent a per-atom vector, and variables that are atom-style variables. Math functions that operate on scalar values produce a scalar value; math function that operate on per-atom vectors do so element-by-element and produce a per-atom vector.</p> <p>A formula for equal-style variables cannot use any formula element that produces a per-atom vector. A formula for an atom-style variable can use formula elements that produce either a scalar value or a per-atom vector. Atom-style variables are evaluated by other commands that define a <a class="reference internal" href="group.html"><em>group</em></a> on which they operate, e.g. a <a class="reference internal" href="dump.html"><em>dump</em></a> or <a class="reference internal" href="compute.html"><em>compute</em></a> or <a class="reference internal" href="fix.html"><em>fix</em></a> command. When they invoke the atom-style variable, only atoms in the group are inlcuded in the formula evaluation. The variable evaluates to 0.0 for atoms not in the group.</p> <p>The thermo keywords allowed in a formula are those defined by the <a class="reference internal" href="thermo_style.html"><em>thermo_style custom</em></a> command. Thermo keywords that require a <a class="reference internal" href="compute.html"><em>compute</em></a> to calculate their values such as “temp” or “press”, use computes stored and invoked by the <a class="reference internal" href="thermo_style.html"><em>thermo_style</em></a> command. This means that you can only use those keywords in a variable if the style you are using with the thermo_style command (and the thermo keywords associated with that style) also define and use the needed compute. Note that some thermo keywords use a compute indirectly to calculate their value (e.g. the enthalpy keyword uses temp, pe, and pressure). If a variable is evaluated directly in an input script (not during a run), then the values accessed by the thermo keyword must be current. See the discussion below about “Variable Accuracy”.</p> <hr class="docutils" /> <div class="section" id="math-operators"> <h3>Math Operators<a class="headerlink" href="#math-operators" title="Permalink to this headline">¶</a></h3> <p>Math operators are written in the usual way, where the “x” and “y” in the examples can themselves be arbitrarily complex formulas, as in the examples above. In this syntax, “x” and “y” can be scalar values or per-atom vectors. For example, “ke/natoms” is the division of two scalars, where “vy+vz” is the element-by-element sum of two per-atom vectors of y and z velocities.</p> <p>Operators are evaluated left to right and have the usual C-style precedence: unary minus and unary logical NOT operator ”!” have the highest precedence, exponentiation “^” is next; multiplication and division and the modulo operator “%” are next; addition and subtraction are next; the 4 relational operators “<”, “<=”, “>”, and “>=” are next; the two remaining relational operators “==” and ”!=” are next; then the logical AND operator “&&”; and finally the logical OR operator “||” has the lowest precedence. Parenthesis can be used to group one or more portions of a formula and/or enforce a different order of evaluation than what would occur with the default precedence.</p> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">Because a unary minus is higher precedence than exponentiation, the formula “-2^2” will evaluate to 4, not -4. This convention is compatible with some programming languages, but not others. As mentioned, this behavior can be easily overridden with parenthesis; the formula “-(2^2)” will evaluate to -4.</p> </div> <p>The 6 relational operators return either a 1.0 or 0.0 depending on whether the relationship between x and y is TRUE or FALSE. For example the expression x<10.0 in an atom-style variable formula will return 1.0 for all atoms whose x-coordinate is less than 10.0, and 0.0 for the others. The logical AND operator will return 1.0 if both its arguments are non-zero, else it returns 0.0. The logical OR operator will return 1.0 if either of its arguments is non-zero, else it returns 0.0. The logical NOT operator returns 1.0 if its argument is 0.0, else it returns 0.0.</p> <p>These relational and logical operators can be used as a masking or selection operation in a formula. For example, the number of atoms whose properties satifsy one or more criteria could be calculated by taking the returned per-atom vector of ones and zeroes and passing it to the <a class="reference internal" href="compute_reduce.html"><em>compute reduce</em></a> command.</p> </div> <hr class="docutils" /> <div class="section" id="math-functions"> <h3>Math Functions<a class="headerlink" href="#math-functions" title="Permalink to this headline">¶</a></h3> <p>Math functions are specified as keywords followed by one or more parenthesized arguments “x”, “y”, “z”, each of which can themselves be arbitrarily complex formulas. In this syntax, the arguments can represent scalar values or per-atom vectors. In the latter case, the math operation is performed on each element of the vector. For example, “sqrt(natoms)” is the sqrt() of a scalar, where “sqrt(y*z)” yields a per-atom vector with each element being the sqrt() of the product of one atom’s y and z coordinates.</p> <p>Most of the math functions perform obvious operations. The ln() is the natural log; log() is the base 10 log.</p> <p>The random(x,y,z) function takes 3 arguments: x = lo, y = hi, and z = seed. It generates a uniform random number between lo and hi. The normal(x,y,z) function also takes 3 arguments: x = mu, y = sigma, and z = seed. It generates a Gaussian variate centered on mu with variance sigma^2. In both cases the seed is used the first time the internal random number generator is invoked, to initialize it. For equal-style variables, every processor uses the same seed so that they each generate the same sequence of random numbers. For atom-style variables, a unique seed is created for each processor, based on the specified seed. This effectively generates a different random number for each atom being looped over in the atom-style variable.</p> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">Internally, there is just one random number generator for all equal-style variables and one for all atom-style variables. If you define multiple variables (of each style) which use the random() or normal() math functions, then the internal random number generators will only be initialized once, which means only one of the specified seeds will determine the sequence of generated random numbers.</p> </div> <p>The ceil(), floor(), and round() functions are those in the C math library. Ceil() is the smallest integer not less than its argument. Floor() if the largest integer not greater than its argument. Round() is the nearest integer to its argument.</p> <p>The ramp(x,y) function uses the current timestep to generate a value linearly intepolated between the specified x,y values over the course of a run, according to this formula:</p> <div class="highlight-python"><div class="highlight"><pre><span class="n">value</span> <span class="o">=</span> <span class="n">x</span> <span class="o">+</span> <span class="p">(</span><span class="n">y</span><span class="o">-</span><span class="n">x</span><span class="p">)</span> <span class="o">*</span> <span class="p">(</span><span class="n">timestep</span><span class="o">-</span><span class="n">startstep</span><span class="p">)</span> <span class="o">/</span> <span class="p">(</span><span class="n">stopstep</span><span class="o">-</span><span class="n">startstep</span><span class="p">)</span> </pre></div> </div> <p>The run begins on startstep and ends on stopstep. Startstep and stopstep can span multiple runs, using the <em>start</em> and <em>stop</em> keywords of the <a class="reference internal" href="run.html"><em>run</em></a> command. See the <a class="reference internal" href="run.html"><em>run</em></a> command for details of how to do this.</p> <p>The stagger(x,y) function uses the current timestep to generate a new timestep. X,y > 0 and x > y are required. The generated timesteps increase in a staggered fashion, as the sequence x,x+y,2x,2x+y,3x,3x+y,etc. For any current timestep, the next timestep in the sequence is returned. Thus if stagger(1000,100) is used in a variable by the <a class="reference internal" href="dump_modify.html"><em>dump_modify every</em></a> command, it will generate the sequence of output timesteps:</p> <div class="highlight-python"><div class="highlight"><pre><span class="mi">100</span><span class="p">,</span><span class="mi">1000</span><span class="p">,</span><span class="mi">1100</span><span class="p">,</span><span class="mi">2000</span><span class="p">,</span><span class="mi">2100</span><span class="p">,</span><span class="mi">3000</span><span class="p">,</span><span class="n">etc</span> </pre></div> </div> <p>The logfreq(x,y,z) function uses the current timestep to generate a new timestep. X,y,z > 0 and y < z are required. The generated timesteps are on a base-z logarithmic scale, starting with x, and the y value is how many of the z-1 possible timesteps within one logarithmic interval are generated. I.e. the timesteps follow the sequence x,2x,3x,...y*x,x*z,2x*z,3x*z,...y*x*z,x*z^2,2x*z^2,etc. For any current timestep, the next timestep in the sequence is returned. Thus if logfreq(100,4,10) is used in a variable by the <a class="reference internal" href="dump_modify.html"><em>dump_modify every</em></a> command, it will generate this sequence of output timesteps:</p> <div class="highlight-python"><div class="highlight"><pre><span class="mi">100</span><span class="p">,</span><span class="mi">200</span><span class="p">,</span><span class="mi">300</span><span class="p">,</span><span class="mi">400</span><span class="p">,</span><span class="mi">1000</span><span class="p">,</span><span class="mi">2000</span><span class="p">,</span><span class="mi">3000</span><span class="p">,</span><span class="mi">4000</span><span class="p">,</span><span class="mi">10000</span><span class="p">,</span><span class="mi">20000</span><span class="p">,</span><span class="n">etc</span> </pre></div> </div> <p>The logfreq2(x,y,z) function is similar to logfreq, except a single logarithmic interval is divided into y equally-spaced timesteps and all of them are output. Y < z is not required. Thus, if logfreq2(100,18,10) is used in a variable by the <a class="reference internal" href="dump_modify.html"><em>dump_modify every</em></a> command, then the interval between 100 and 1000 is divided as 900/18 = 50 steps, and it will generate the sequence of output timesteps:</p> <div class="highlight-python"><div class="highlight"><pre><span class="mi">100</span><span class="p">,</span><span class="mi">150</span><span class="p">,</span><span class="mi">200</span><span class="p">,</span><span class="o">...</span><span class="mi">950</span><span class="p">,</span><span class="mi">1000</span><span class="p">,</span><span class="mi">1500</span><span class="p">,</span><span class="mi">2000</span><span class="p">,</span><span class="o">...</span><span class="mi">9500</span><span class="p">,</span><span class="mi">10000</span><span class="p">,</span><span class="mi">15000</span><span class="p">,</span><span class="n">etc</span> </pre></div> </div> <p>The stride(x,y,z) function uses the current timestep to generate a new timestep. X,y >= 0 and z > 0 and x <= y are required. The generated timesteps increase in increments of z, from x to y, i.e. it generates the sequece x,x+z,x+2z,...,y. If y-x is not a multiple of z, then similar to the way a for loop operates, the last value will be one that does not exceed y. For any current timestep, the next timestep in the sequence is returned. Thus if stride(1000,2000,100) is used in a variable by the <a class="reference internal" href="dump_modify.html"><em>dump_modify every</em></a> command, it will generate the sequence of output timesteps:</p> <div class="highlight-python"><div class="highlight"><pre><span class="mi">1000</span><span class="p">,</span><span class="mi">1100</span><span class="p">,</span><span class="mi">1200</span><span class="p">,</span> <span class="o">...</span> <span class="p">,</span><span class="mi">1900</span><span class="p">,</span><span class="mi">2000</span> </pre></div> </div> <p>The stride2(x,y,z,a,b,c) function is similar to the stride() function except it generates two sets of strided timesteps, one at a coarser level and one at a finer level. Thus it is useful for debugging, e.g. to produce output every timestep at the point in simulation when a problem occurs. X,y >= 0 and z > 0 and x <= y are required, as are a,b >= 0 and c > 0 and a < b. Also, a >= x and b <= y are required so that the second stride is inside the first. The generated timesteps increase in increments of z, starting at x, until a is reached. At that point the timestep increases in increments of c, from a to b, then after b, increments by z are resumed until y is reached. For any current timestep, the next timestep in the sequence is returned. Thus if stride(1000,2000,100,1350,1360,1) is used in a variable by the <a class="reference internal" href="dump_modify.html"><em>dump_modify every</em></a> command, it will generate the sequence of output timesteps:</p> <div class="highlight-python"><div class="highlight"><pre>1000,1100,1200,1300,1350,1351,1352, ... 1359,1360,1400,1500, ... ,2000 </pre></div> </div> <p>The vdisplace(x,y) function takes 2 arguments: x = value0 and y = velocity, and uses the elapsed time to change the value by a linear displacement due to the applied velocity over the course of a run, according to this formula:</p> <div class="highlight-python"><div class="highlight"><pre><span class="n">value</span> <span class="o">=</span> <span class="n">value0</span> <span class="o">+</span> <span class="n">velocity</span><span class="o">*</span><span class="p">(</span><span class="n">timestep</span><span class="o">-</span><span class="n">startstep</span><span class="p">)</span><span class="o">*</span><span class="n">dt</span> </pre></div> </div> <p>where dt = the timestep size.</p> <p>The run begins on startstep. Startstep can span multiple runs, using the <em>start</em> keyword of the <a class="reference internal" href="run.html"><em>run</em></a> command. See the <a class="reference internal" href="run.html"><em>run</em></a> command for details of how to do this. Note that the <a class="reference internal" href="thermo_style.html"><em>thermo_style</em></a> keyword elaplong = timestep-startstep.</p> <p>The swiggle(x,y,z) and cwiggle(x,y,z) functions each take 3 arguments: x = value0, y = amplitude, z = period. They use the elapsed time to oscillate the value by a sin() or cos() function over the course of a run, according to one of these formulas, where omega = 2 PI / period:</p> <div class="highlight-python"><div class="highlight"><pre><span class="n">value</span> <span class="o">=</span> <span class="n">value0</span> <span class="o">+</span> <span class="n">Amplitude</span> <span class="o">*</span> <span class="n">sin</span><span class="p">(</span><span class="n">omega</span><span class="o">*</span><span class="p">(</span><span class="n">timestep</span><span class="o">-</span><span class="n">startstep</span><span class="p">)</span><span class="o">*</span><span class="n">dt</span><span class="p">)</span> <span class="n">value</span> <span class="o">=</span> <span class="n">value0</span> <span class="o">+</span> <span class="n">Amplitude</span> <span class="o">*</span> <span class="p">(</span><span class="mi">1</span> <span class="o">-</span> <span class="n">cos</span><span class="p">(</span><span class="n">omega</span><span class="o">*</span><span class="p">(</span><span class="n">timestep</span><span class="o">-</span><span class="n">startstep</span><span class="p">)</span><span class="o">*</span><span class="n">dt</span><span class="p">))</span> </pre></div> </div> <p>where dt = the timestep size.</p> <p>The run begins on startstep. Startstep can span multiple runs, using the <em>start</em> keyword of the <a class="reference internal" href="run.html"><em>run</em></a> command. See the <a class="reference internal" href="run.html"><em>run</em></a> command for details of how to do this. Note that the <a class="reference internal" href="thermo_style.html"><em>thermo_style</em></a> keyword elaplong = timestep-startstep.</p> </div> <hr class="docutils" /> <div class="section" id="group-and-region-functions"> <h3>Group and Region Functions<a class="headerlink" href="#group-and-region-functions" title="Permalink to this headline">¶</a></h3> <p>Group functions are specified as keywords followed by one or two parenthesized arguments. The first argument <em>ID</em> is the group-ID. The <em>dim</em> argument, if it exists, is <em>x</em> or <em>y</em> or <em>z</em>. The <em>dir</em> argument, if it exists, is <em>xmin</em>, <em>xmax</em>, <em>ymin</em>, <em>ymax</em>, <em>zmin</em>, or <em>zmax</em>. The <em>dimdim</em> argument, if it exists, is <em>xx</em> or <em>yy</em> or <em>zz</em> or <em>xy</em> or <em>yz</em> or <em>xz</em>.</p> <p>The group function count() is the number of atoms in the group. The group functions mass() and charge() are the total mass and charge of the group. Xcm() and vcm() return components of the position and velocity of the center of mass of the group. Fcm() returns a component of the total force on the group of atoms. Bound() returns the min/max of a particular coordinate for all atoms in the group. Gyration() computes the radius-of-gyration of the group of atoms. See the <a class="reference internal" href="compute_gyration.html"><em>compute gyration</em></a> command for a definition of the formula. Angmom() returns components of the angular momentum of the group of atoms around its center of mass. Torque() returns components of the torque on the group of atoms around its center of mass, based on current forces on the atoms. Inertia() returns one of 6 components of the symmetric inertia tensor of the group of atoms around its center of mass, ordered as Ixx,Iyy,Izz,Ixy,Iyz,Ixz. Omega() returns components of the angular velocity of the group of atoms around its center of mass.</p> <p>Region functions are specified exactly the same way as group functions except they take an extra final argument <em>IDR</em> which is the region ID. The function is computed for all atoms that are in both the group and the region. If the group is “all”, then the only criteria for atom inclusion is that it be in the region.</p> </div> <hr class="docutils" /> <div class="section" id="special-functions"> <h3>Special Functions<a class="headerlink" href="#special-functions" title="Permalink to this headline">¶</a></h3> <p>Special functions take specific kinds of arguments, meaning their arguments cannot be formulas themselves.</p> <p>The sum(x), min(x), max(x), ave(x), trap(x), and slope(x) functions each take 1 argument which is of the form “c_ID” or “c_ID[N]” or “f_ID” or “f_ID[N]”. The first two are computes and the second two are fixes; the ID in the reference should be replaced by the ID of a compute or fix defined elsewhere in the input script. The compute or fix must produce either a global vector or array. If it produces a global vector, then the notation without “[N]” should be used. If it produces a global array, then the notation with “[N]” should be used, when N is an integer, to specify which column of the global array is being referenced.</p> <p>These functions operate on the global vector of inputs and reduce it to a single scalar value. This is analagous to the operation of the <a class="reference internal" href="compute_reduce.html"><em>compute reduce</em></a> command, which invokes the same functions on per-atom and local vectors.</p> <p>The sum() function calculates the sum of all the vector elements. The min() and max() functions find the minimum and maximum element respectively. The ave() function is the same as sum() except that it divides the result by the length of the vector.</p> <p>The trap() function is the same as sum() except the first and last elements are multiplied by a weighting factor of 1/2 when performing the sum. This effectively implements an integration via the trapezoidal rule on the global vector of data. I.e. consider a set of points, equally spaced by 1 in their x coordinate: (1,V1), (2,V2), ..., (N,VN), where the Vi are the values in the global vector of length N. The integral from 1 to N of these points is trap(). When appropriately normalized by the timestep size, this function is useful for calculating integrals of time-series data, like that generated by the <a class="reference internal" href="fix_ave_correlate.html"><em>fix ave/correlate</em></a> command.</p> <p>The slope() function uses linear regression to fit a line to the set of points, equally spaced by 1 in their x coordinate: (1,V1), (2,V2), ..., (N,VN), where the Vi are the values in the global vector of length N. The returned value is the slope of the line. If the line has a single point or is vertical, it returns 1.0e20.</p> <p>The gmask(x) function takes 1 argument which is a group ID. It can only be used in atom-style variables. It returns a 1 for atoms that are in the group, and a 0 for atoms that are not.</p> <p>The rmask(x) function takes 1 argument which is a region ID. It can only be used in atom-style variables. It returns a 1 for atoms that are in the geometric region, and a 0 for atoms that are not.</p> <p>The grmask(x,y) function takes 2 arguments. The first is a group ID, and the second is a region ID. It can only be used in atom-style variables. It returns a 1 for atoms that are in both the group and region, and a 0 for atoms that are not in both.</p> <p>The next(x) function takes 1 argument which is a variable ID (not “v_foo”, just “foo”). It must be for a file-style or atomfile-style variable. Each time the next() function is invoked (i.e. each time the equal-style or atom-style variable is evaluated), the following steps occur.</p> <p>For file-style variables, the current string value stored by the file-style variable is converted to a numeric value and returned by the function. And the next string value in the file is read and stored. Note that if the line previously read from the file was not a numeric string, then it will typically evaluate to 0.0, which is likely not what you want.</p> <p>For atomfile-style variables, the current per-atom values stored by the atomfile-style variable are returned by the function. And the next set of per-atom values in the file is read and stored.</p> <p>Since file-style and atomfile-style variables read and store the first line of the file or first set of per-atoms values when they are defined in the input script, these are the value(s) that will be returned the first time the next() function is invoked. If next() is invoked more times than there are lines or sets of lines in the file, the variable is deleted, similar to how the <a class="reference internal" href="next.html"><em>next</em></a> command operates.</p> </div> <hr class="docutils" /> <div class="section" id="atom-values-and-vectors"> <h3>Atom Values and Vectors<a class="headerlink" href="#atom-values-and-vectors" title="Permalink to this headline">¶</a></h3> <p>Atom values take an integer argument I from 1 to N, where I is the atom-ID, e.g. x[243], which means use the x coordinate of the atom with ID = 243. Or they can take a variable name, specified as v_name, where name is the name of the variable, like x[v_myIndex]. The variable can be of any style except atom or atom-file variables. The variable is evaluated and the result is expected to be numeric and is cast to an integer (i.e. 3.4 becomes 3), to use an an index, which must be a value from 1 to N. Note that a “formula” cannot be used as the argument between the brackets, e.g. x[243+10] or x[v_myIndex+1] are not allowed. To do this a single variable can be defined that contains the needed formula.</p> <p>Note that the 0 < atom-ID <= N, where N is the largest atom ID in the system. If an ID is specified for an atom that does not currently exist, then the generated value is 0.0.</p> <p>Atom vectors generate one value per atom, so that a reference like “vx” means the x-component of each atom’s velocity will be used when evaluating the variable.</p> <p>The meaning of the different atom values and vectors is mostly self-explanatory. Mol refers to the molecule ID of an atom, and is only defined if an <a class="reference internal" href="atom_style.html"><em>atom_style</em></a> is being used that defines molecule IDs.</p> <p>Note that many other atom attributes can be used as inputs to a variable by using the <a class="reference internal" href="compute_property_atom.html"><em>compute property/atom</em></a> command and then specifying a quantity from that compute.</p> </div> <hr class="docutils" /> <div class="section" id="compute-references"> <h3>Compute References<a class="headerlink" href="#compute-references" title="Permalink to this headline">¶</a></h3> <p>Compute references access quantities calculated by a <a class="reference internal" href="compute.html"><em>compute</em></a>. The ID in the reference should be replaced by the ID of a compute defined elsewhere in the input script. As discussed in the doc page for the <a class="reference internal" href="compute.html"><em>compute</em></a> command, computes can produce global, per-atom, or local values. Only global and per-atom values can be used in a variable. Computes can also produce a scalar, vector, or array. An equal-style variable can only use scalar values, which means a global scalar, or an element of a global or per-atom vector or array. Atom-style variables can use the same scalar values. They can also use per-atom vector values. A vector value can be a per-atom vector itself, or a column of an per-atom array. See the doc pages for individual computes to see what kind of values they produce.</p> <p>Examples of different kinds of compute references are as follows. There is no ambiguity as to what a reference means, since computes only produce global or per-atom quantities, never both.</p> <table border="1" class="docutils"> <colgroup> <col width="10%" /> <col width="90%" /> </colgroup> <tbody valign="top"> <tr class="row-odd"><td>c_ID</td> <td>global scalar, or per-atom vector</td> </tr> <tr class="row-even"><td>c_ID[I]</td> <td>Ith element of global vector, or atom I’s value in per-atom vector, or Ith column from per-atom array</td> </tr> <tr class="row-odd"><td>c_ID[I][J]</td> <td>I,J element of global array, or atom I’s Jth value in per-atom array</td> </tr> </tbody> </table> <p>For I and J, integers can be specified or a variable name, specified as v_name, where name is the name of the variable. The rules for this syntax are the same as for the “Atom Values and Vectors” discussion above.</p> <p>If a variable containing a compute is evaluated directly in an input script (not during a run), then the values accessed by the compute must be current. See the discussion below about “Variable Accuracy”.</p> </div> <hr class="docutils" /> <div class="section" id="fix-references"> <h3>Fix References<a class="headerlink" href="#fix-references" title="Permalink to this headline">¶</a></h3> <p>Fix references access quantities calculated by a <a class="reference internal" href="compute.html"><em>fix</em></a>. The ID in the reference should be replaced by the ID of a fix defined elsewhere in the input script. As discussed in the doc page for the <a class="reference internal" href="fix.html"><em>fix</em></a> command, fixes can produce global, per-atom, or local values. Only global and per-atom values can be used in a variable. Fixes can also produce a scalar, vector, or array. An equal-style variable can only use scalar values, which means a global scalar, or an element of a global or per-atom vector or array. Atom-style variables can use the same scalar values. They can also use per-atom vector values. A vector value can be a per-atom vector itself, or a column of an per-atom array. See the doc pages for individual fixes to see what kind of values they produce.</p> <p>The different kinds of fix references are exactly the same as the compute references listed in the above table, where “<a href="#id1"><span class="problematic" id="id2">c_</span></a>” is replaced by “<a href="#id3"><span class="problematic" id="id4">f_</span></a>”. Again, there is no ambiguity as to what a reference means, since fixes only produce global or per-atom quantities, never both.</p> <table border="1" class="docutils"> <colgroup> <col width="10%" /> <col width="90%" /> </colgroup> <tbody valign="top"> <tr class="row-odd"><td>f_ID</td> <td>global scalar, or per-atom vector</td> </tr> <tr class="row-even"><td>f_ID[I]</td> <td>Ith element of global vector, or atom I’s value in per-atom vector, or Ith column from per-atom array</td> </tr> <tr class="row-odd"><td>f_ID[I][J]</td> <td>I,J element of global array, or atom I’s Jth value in per-atom array</td> </tr> </tbody> </table> <p>For I and J, integers can be specified or a variable name, specified as v_name, where name is the name of the variable. The rules for this syntax are the same as for the “Atom Values and Vectors” discussion above.</p> <p>If a variable containing a fix is evaluated directly in an input script (not during a run), then the values accessed by the fix should be current. See the discussion below about “Variable Accuracy”.</p> <p>Note that some fixes only generate quantities on certain timesteps. If a variable attempts to access the fix on non-allowed timesteps, an error is generated. For example, the <a class="reference internal" href="fix_ave_time.html"><em>fix ave/time</em></a> command may only generate averaged quantities every 100 steps. See the doc pages for individual fix commands for details.</p> </div> <hr class="docutils" /> <div class="section" id="variable-references"> <h3>Variable References<a class="headerlink" href="#variable-references" title="Permalink to this headline">¶</a></h3> <p>Variable references access quantities stored or calculated by other variables, which will cause those variables to be evaluated. The name in the reference should be replaced by the name of a variable defined elsewhere in the input script.</p> <p>As discussed on this doc page, equal-style variables generate a global scalar numeric value; atom-style and atomfile-style variables generate a per-atom vector of numeric values; all other variables store a string. The formula for an equal-style variable can use any style of variable except an atom-style or atomfile-style (unless only a single value from the variable is accessed via a subscript). If a string-storing variable is used, the string is converted to a numeric value. Note that this will typically produce a 0.0 if the string is not a numeric string, which is likely not what you want. The formula for an atom-style variable can use any style of variable, including other atom-style or atomfile-style variables.</p> <p>Examples of different kinds of variable references are as follows. There is no ambiguity as to what a reference means, since variables produce only a global scalar or a per-atom vector, never both.</p> <table border="1" class="docutils"> <colgroup> <col width="24%" /> <col width="76%" /> </colgroup> <tbody valign="top"> <tr class="row-odd"><td>v_name</td> <td>scalar, or per-atom vector</td> </tr> <tr class="row-even"><td>v_name[I]</td> <td>atom I’s value in per-atom vector</td> </tr> </tbody> </table> <p>For I, an integer can be specified or a variable name, specified as v_name, where name is the name of the variable. The rules for this syntax are the same as for the “Atom Values and Vectors” discussion above.</p> <hr class="docutils" /> <p><strong>Immediate Evaluation of Variables:</strong></p> <p>If you want an equal-style variable to be evaluated immediately, it may be the case that you do not need to define a variable at all. See <a class="reference internal" href="Section_commands.html#cmd-2"><span>Section 3.2</span></a> of the manual, which describes the use of “immediate” variables in an input script, specified as $(formula) with parenthesis, where the formula has the same syntax as equal-style variables described on this page. This effectively evaluates a formula immediately without using the variable command to define a named variable.</p> <p>More generally, there is a difference between referencing a variable with a leading $ sign (e.g. $x or ${abc}) versus with a leading “<a href="#id5"><span class="problematic" id="id6">v_</span></a>” (e.g. v_x or v_abc). The former can be used in any input script command, including a variable command. The input script parser evaluates the reference variable immediately and substitutes its value into the command. As explained in <span class="xref std std-ref">Section commands 3.2</span> for “Parsing rules”, you can also use un-named “immediate” variables for this purpose. For example, a string like this $((xlo+xhi)/2+sqrt(v_area)) in an input script command evaluates the string between the parenthesis as an equal-style variable formula.</p> <p>Referencing a variable with a leading “<a href="#id7"><span class="problematic" id="id8">v_</span></a>” is an optional or required kind of argument for some commands (e.g. the <a class="reference internal" href="fix_ave_spatial.html"><em>fix ave/spatial</em></a> or <a class="reference internal" href="dump.html"><em>dump custom</em></a> or <a class="reference internal" href="thermo_style.html"><em>thermo_style</em></a> commands) if you wish it to evaluate a variable periodically during a run. It can also be used in a variable formula if you wish to reference a second variable. The second variable will be evaluated whenever the first variable is evaluated.</p> <p>As an example, suppose you use this command in your input script to define the variable “v” as</p> <div class="highlight-python"><div class="highlight"><pre>variable v equal vol </pre></div> </div> <p>before a run where the simulation box size changes. You might think this will assign the initial volume to the variable “v”. That is not the case. Rather it assigns a formula which evaluates the volume (using the thermo_style keyword “vol”) to the variable “v”. If you use the variable “v” in some other command like <a class="reference internal" href="fix_ave_time.html"><em>fix ave/time</em></a> then the current volume of the box will be evaluated continuously during the run.</p> <p>If you want to store the initial volume of the system, you can do it this way:</p> <div class="highlight-python"><div class="highlight"><pre>variable v equal vol variable v0 equal $v </pre></div> </div> <p>The second command will force “v” to be evaluated (yielding the initial volume) and assign that value to the variable “v0”. Thus the command</p> <div class="highlight-python"><div class="highlight"><pre>thermo_style custom step v_v v_v0 </pre></div> </div> <p>would print out both the current and initial volume periodically during the run.</p> <p>Note that it is a mistake to enclose a variable formula in double quotes if it contains variables preceeded by $ signs. For example,</p> <div class="highlight-python"><div class="highlight"><pre>variable vratio equal "${vfinal}/${v0}" </pre></div> </div> <p>This is because the quotes prevent variable substitution (see <a class="reference internal" href="Section_commands.html#cmd-2"><span>this section</span></a> on parsing input script commands), and thus an error will occur when the formula for “vratio” is evaluated later.</p> <hr class="docutils" /> <p><strong>Variable Accuracy:</strong></p> <p>Obviously, LAMMPS attempts to evaluate variables containing formulas (<em>equal</em> and <em>atom</em> style variables) accurately whenever the evaluation is performed. Depending on what is included in the formula, this may require invoking a <a class="reference internal" href="compute.html"><em>compute</em></a>, either directly or indirectly via a thermo keyword, or accessing a value previously calculated by a compute, or accessing a value calculated and stored by a <a class="reference internal" href="fix.html"><em>fix</em></a>. If the compute is one that calculates the pressure or energy of the system, then these quantities need to be tallied during the evaluation of the interatomic potentials (pair, bond, etc) on timesteps that the variable will need the values.</p> <p>LAMMPS keeps track of all of this during a <a class="reference internal" href="run.html"><em>run</em></a> or <a class="reference internal" href="minimize.html"><em>energy minimization</em></a>. An error will be generated if you attempt to evaluate a variable on timesteps when it cannot produce accurate values. For example, if a <a class="reference internal" href="thermo_style.html"><em>thermo_style custom</em></a> command prints a variable which accesses values stored by a <a class="reference internal" href="fix_ave_time.html"><em>fix ave/time</em></a> command and the timesteps on which thermo output is generated are not multiples of the averaging frequency used in the fix command, then an error will occur.</p> <p>An input script can also request variables be evaluated before or after or in between runs, e.g. by including them in a <a class="reference internal" href="print.html"><em>print</em></a> command. In this case, if a compute is needed to evaluate a variable (either directly or indirectly), LAMMPS will not invoke the compute, but it will use a value previously calculated by the compute, and can do this only if it was invoked on the current timestep. Fixes will always provide a quantity needed by a variable, but the quantity may or may not be current. This leads to one of three kinds of behavior:</p> <p>(1) The variable may be evaluated accurately. If it contains references to a compute or fix, and these values were calculated on the last timestep of a preceeding run, then they will be accessed and used by the variable and the result will be accurate.</p> <p>(2) LAMMPS may not be able to evaluate the variable and will generate an error message stating so. For example, if the variable requires a quantity from a <a class="reference internal" href="compute.html"><em>compute</em></a> that has not been invoked on the current timestep, LAMMPS will generate an error. This means, for example, that such a variable cannot be evaluated before the first run has occurred. Likewise, in between runs, a variable containing a compute cannot be evaluated unless the compute was invoked on the last timestep of the preceding run, e.g. by thermodynamic output.</p> <p>One way to get around this problem is to perform a 0-timestep run before using the variable. For example, these commands</p> <div class="highlight-python"><div class="highlight"><pre>variable t equal temp print "Initial temperature = $t" run 1000 </pre></div> </div> <p>will generate an error if the run is the first run specified in the input script, because generating a value for the “t” variable requires a compute for calculating the temperature to be invoked.</p> <p>However, this sequence of commands would be fine:</p> <div class="highlight-python"><div class="highlight"><pre>run 0 variable t equal temp print "Initial temperature = $t" run 1000 </pre></div> </div> <p>The 0-timestep run initializes and invokes various computes, including the one for temperature, so that the value it stores is current and can be accessed by the variable “t” after the run has completed. Note that a 0-timestep run does not alter the state of the system, so it does not change the input state for the 1000-timestep run that follows. Also note that the 0-timestep run must actually use and invoke the compute in question (e.g. via <a class="reference internal" href="thermo_style.html"><em>thermo</em></a> or <a class="reference internal" href="dump.html"><em>dump</em></a> output) in order for it to enable the compute to be used in a variable after the run. Thus if you are trying to print a variable that uses a compute you have defined, you can insure it is invoked on the last timestep of the preceding run by including it in thermodynamic output.</p> <p>Unlike computes, <a class="reference internal" href="fix.html"><em>fixes</em></a> will never generate an error if their values are accessed by a variable in between runs. They always return some value to the variable. However, the value may not be what you expect if the fix has not yet calculated the quantity of interest or it is not current. For example, the <a class="reference internal" href="fix_indent.html"><em>fix indent</em></a> command stores the force on the indenter. But this is not computed until a run is performed. Thus if a variable attempts to print this value before the first run, zeroes will be output. Again, performing a 0-timestep run before printing the variable has the desired effect.</p> <p>(3) The variable may be evaluated incorrectly and LAMMPS may have no way to detect this has occurred. Consider the following sequence of commands:</p> <div class="highlight-python"><div class="highlight"><pre>pair_coeff 1 1 1.0 1.0 run 1000 pair_coeff 1 1 1.5 1.0 variable e equal pe print "Final potential energy = $e" </pre></div> </div> <p>The first run is performed using one setting for the pairwise potential defined by the <a class="reference internal" href="pair_style.html"><em>pair_style</em></a> and <a class="reference internal" href="pair_coeff.html"><em>pair_coeff</em></a> commands. The potential energy is evaluated on the final timestep and stored by the <a class="reference internal" href="compute_pe.html"><em>compute pe</em></a> compute (this is done by the <a class="reference internal" href="thermo_style.html"><em>thermo_style</em></a> command). Then a pair coefficient is changed, altering the potential energy of the system. When the potential energy is printed via the “e” variable, LAMMPS will use the potential energy value stored by the <a class="reference internal" href="compute_pe.html"><em>compute pe</em></a> compute, thinking it is current. There are many other commands which could alter the state of the system between runs, causing a variable to evaluate incorrectly.</p> <p>The solution to this issue is the same as for case (2) above, namely perform a 0-timestep run before the variable is evaluated to insure the system is up-to-date. For example, this sequence of commands would print a potential energy that reflected the changed pairwise coefficient:</p> <div class="highlight-python"><div class="highlight"><pre>pair_coeff 1 1 1.0 1.0 run 1000 pair_coeff 1 1 1.5 1.0 run 0 variable e equal pe print "Final potential energy = $e" </pre></div> </div> </div> </div> <hr class="docutils" /> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <p>Indexing any formula element by global atom ID, such as an atom value, requires the atom style to use a global mapping in order to look up the vector indices. By default, only atom styles with molecular information create global maps. The <a class="reference internal" href="atom_modify.html"><em>atom_modify map</em></a> command can override the default.</p> <p>All <em>universe</em>- and <em>uloop</em>-style variables defined in an input script must have the same number of values.</p> </div> <div class="section" id="related-commands"> <h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2> <p><a class="reference internal" href="next.html"><em>next</em></a>, <a class="reference internal" href="jump.html"><em>jump</em></a>, <a class="reference internal" href="include.html"><em>include</em></a>, <a class="reference internal" href="temper.html"><em>temper</em></a>, <a class="reference internal" href="fix_print.html"><em>fix print</em></a>, <a class="reference internal" href="print.html"><em>print</em></a></p> <p><strong>Default:</strong> none</p> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/velocity.html b/doc/velocity.html index aa82e906d..32ca817d6 100644 --- a/doc/velocity.html +++ b/doc/velocity.html @@ -1,419 +1,419 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>velocity command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>velocity command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="velocity-command"> <span id="index-0"></span><h1>velocity command<a class="headerlink" href="#velocity-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>velocity group-ID style args keyword value ... </pre></div> </div> <ul class="simple"> <li>group-ID = ID of group of atoms whose velocity will be changed</li> <li>style = <em>create</em> or <em>set</em> or <em>scale</em> or <em>ramp</em> or <em>zero</em></li> </ul> <pre class="literal-block"> <em>create</em> args = temp seed - temp = temperature value (temperature units) - seed = random # seed (positive integer) - <em>set</em> args = vx vy vz - vx,vy,vz = velocity value or NULL (velocity units) - any of vx,vy,vz van be a variable (see below) - <em>scale</em> arg = temp - temp = temperature value (temperature units) - <em>ramp</em> args = vdim vlo vhi dim clo chi - vdim = <em>vx</em> or <em>vy</em> or <em>vz</em> - vlo,vhi = lower and upper velocity value (velocity units) - dim = <em>x</em> or <em>y</em> or <em>z</em> - clo,chi = lower and upper coordinate bound (distance units) - <em>zero</em> arg = <em>linear</em> or <em>angular</em> - <em>linear</em> = zero the linear momentum - <em>angular</em> = zero the angular momentum + temp = temperature value (temperature units) + seed = random # seed (positive integer) +<em>set</em> args = vx vy vz + vx,vy,vz = velocity value or NULL (velocity units) + any of vx,vy,vz van be a variable (see below) +<em>scale</em> arg = temp + temp = temperature value (temperature units) +<em>ramp</em> args = vdim vlo vhi dim clo chi + vdim = <em>vx</em> or <em>vy</em> or <em>vz</em> + vlo,vhi = lower and upper velocity value (velocity units) + dim = <em>x</em> or <em>y</em> or <em>z</em> + clo,chi = lower and upper coordinate bound (distance units) +<em>zero</em> arg = <em>linear</em> or <em>angular</em> + <em>linear</em> = zero the linear momentum + <em>angular</em> = zero the angular momentum </pre> <ul class="simple"> <li>zero or more keyword/value pairs may be appended</li> <li>keyword = <em>dist</em> or <em>sum</em> or <em>mom</em> or <em>rot</em> or <em>temp</em> or <em>bias</em> or <em>loop</em> or <em>units</em></li> </ul> <pre class="literal-block"> <em>dist</em> value = <em>uniform</em> or <em>gaussian</em> - <em>sum</em> value = <em>no</em> or <em>yes</em> - <em>mom</em> value = <em>no</em> or <em>yes</em> - <em>rot</em> value = <em>no</em> or <em>yes</em> - <em>temp</em> value = temperature compute ID - <em>bias</em> value = <em>no</em> or <em>yes</em> - <em>loop</em> value = <em>all</em> or <em>local</em> or <em>geom</em> - <em>rigid</em> value = fix-ID - fix-ID = ID of rigid body fix - <em>units</em> value = <em>box</em> or <em>lattice</em> +<em>sum</em> value = <em>no</em> or <em>yes</em> +<em>mom</em> value = <em>no</em> or <em>yes</em> +<em>rot</em> value = <em>no</em> or <em>yes</em> +<em>temp</em> value = temperature compute ID +<em>bias</em> value = <em>no</em> or <em>yes</em> +<em>loop</em> value = <em>all</em> or <em>local</em> or <em>geom</em> +<em>rigid</em> value = fix-ID + fix-ID = ID of rigid body fix +<em>units</em> value = <em>box</em> or <em>lattice</em> </pre> </div> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>velocity all create 300.0 4928459 rot yes dist gaussian velocity border set NULL 4.0 v_vz sum yes units box velocity flow scale 300.0 velocity flow ramp vx 0.0 5.0 y 5 25 temp mytemp velocity all zero linear </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>Set or change the velocities of a group of atoms in one of several styles. For each style, there are required arguments and optional keyword/value parameters. Not all options are used by each style. Each option has a default as listed below.</p> <p>The <em>create</em> style generates an ensemble of velocities using a random number generator with the specified seed as the specified temperature.</p> <p>The <em>set</em> style sets the velocities of all atoms in the group to the specified values. If any component is specified as NULL, then it is not set. Any of the vx,vy,vz velocity components can be specified as an equal-style or atom-style <a class="reference internal" href="variable.html"><em>variable</em></a>. If the value is a variable, it should be specified as v_name, where name is the variable name. In this case, the variable will be evaluated, and its value used to determine the velocity component. Note that if a variable is used, the velocity it calculates must be in box units, not lattice units; see the discussion of the <em>units</em> keyword below.</p> <p>Equal-style variables can specify formulas with various mathematical functions, and include <a class="reference internal" href="thermo_style.html"><em>thermo_style</em></a> command keywords for the simulation box parameters or other parameters.</p> <p>Atom-style variables can specify the same formulas as equal-style variables but can also include per-atom values, such as atom coordinates. Thus it is easy to specify a spatially-dependent velocity field.</p> <p>The <em>scale</em> style computes the current temperature of the group of atoms and then rescales the velocities to the specified temperature.</p> <p>The <em>ramp</em> style is similar to that used by the <a class="reference internal" href="compute_temp_ramp.html"><em>compute temp/ramp</em></a> command. Velocities ramped uniformly from vlo to vhi are applied to dimension vx, or vy, or vz. The value assigned to a particular atom depends on its relative coordinate value (in dim) from clo to chi. For the example above, an atom with y-coordinate of 10 (1/4 of the way from 5 to 25), would be assigned a x-velocity of 1.25 (1/4 of the way from 0.0 to 5.0). Atoms outside the coordinate bounds (less than 5 or greater than 25 in this case), are assigned velocities equal to vlo or vhi (0.0 or 5.0 in this case).</p> <p>The <em>zero</em> style adjusts the velocities of the group of atoms so that the aggregate linear or angular momentum is zero. No other changes are made to the velocities of the atoms. If the <em>rigid</em> option is specified (see below), then the zeroing is performed on individual rigid bodies, as defined by the <a class="reference internal" href="fix_rigid.html"><em>fix rigid or fix rigid/small</em></a> commands. In other words, zero linear will set the linear momentum of each rigid body to zero, and zero angular will set the angular momentum of each rigid body to zero. This is done by adjusting the velocities of the atoms in each rigid body.</p> <p>All temperatures specified in the velocity command are in temperature units; see the <a class="reference internal" href="units.html"><em>units</em></a> command. The units of velocities and coordinates depend on whether the <em>units</em> keyword is set to <em>box</em> or <em>lattice</em>, as discussed below.</p> <p>For all styles, no atoms are assigned z-component velocities if the simulation is 2d; see the <a class="reference internal" href="dimension.html"><em>dimension</em></a> command.</p> <hr class="docutils" /> <p>The keyword/value options are used in the following ways by the various styles.</p> <p>The <em>dist</em> keyword is used by <em>create</em>. The ensemble of generated velocities can be a <em>uniform</em> distribution from some minimum to maximum value, scaled to produce the requested temperature. Or it can be a <em>gaussian</em> distribution with a mean of 0.0 and a sigma scaled to produce the requested temperature.</p> <p>The <em>sum</em> keyword is used by all styles, except <em>zero</em>. The new velocities will be added to the existing ones if sum = yes, or will replace them if sum = no.</p> <p>The <em>mom</em> and <em>rot</em> keywords are used by <em>create</em>. If mom = yes, the linear momentum of the newly created ensemble of velocities is zeroed; if rot = yes, the angular momentum is zeroed.</p> <p><a href="#id1"><span class="problematic" id="id2">*</span></a>line</p> <p>If specified, the <em>temp</em> keyword is used by <em>create</em> and <em>scale</em> to specify a <a class="reference internal" href="compute.html"><em>compute</em></a> that calculates temperature in a desired way, e.g. by first subtracting out a velocity bias, as discussed in <a class="reference internal" href="Section_howto.html#howto-15"><span>Section howto 16</span></a> of the doc pages. If this keyword is not specified, <em>create</em> and <em>scale</em> calculate temperature using a compute that is defined internally as follows:</p> <div class="highlight-python"><div class="highlight"><pre>compute velocity_temp group-ID temp </pre></div> </div> <p>where group-ID is the same ID used in the velocity command. i.e. the group of atoms whose velocity is being altered. This compute is deleted when the velocity command is finished. See the <a class="reference internal" href="compute_temp.html"><em>compute temp</em></a> command for details. If the calculated temperature should have degrees-of-freedom removed due to fix constraints (e.g. SHAKE or rigid-body constraints), then the appropriate fix command must be specified before the velocity command is issued.</p> <p>The <em>bias</em> keyword with a <em>yes</em> setting is used by <em>create</em> and <em>scale</em>, but only if the <em>temp</em> keyword is also used to specify a <a class="reference internal" href="compute.html"><em>compute</em></a> that calculates temperature in a desired way. If the temperature compute also calculates a velocity bias, the the bias is subtracted from atom velocities before the <em>create</em> and <em>scale</em> operations are performed. After the operations, the bias is added back to the atom velocities. See <a class="reference internal" href="Section_howto.html#howto-15"><span>Section howto 16</span></a> of the doc pages for more discussion of temperature computes with biases. Note that the velocity bias is only applied to atoms in the temperature compute specified with the <em>temp</em> keyword.</p> <p>As an example, assume atoms are currently streaming in a flow direction (which could be separately initialized with the <em>ramp</em> style), and you wish to initialize their thermal velocity to a desired temperature. In this context thermal velocity means the per-particle velocity that remains when the streaming velocity is subtracted. This can be done using the <em>create</em> style with the <em>temp</em> keyword specifying the ID of a <a class="reference internal" href="compute_temp_ramp.html"><em>compute temp/ramp</em></a> or <a class="reference internal" href="compute_temp_profile.html"><em>compute temp/profile</em></a> command, and the <em>bias</em> keyword set to a <em>yes</em> value.</p> <hr class="docutils" /> <p>The <em>loop</em> keyword is used by <em>create</em> in the following ways.</p> <p>If loop = all, then each processor loops over all atoms in the simulation to create velocities, but only stores velocities for atoms it owns. This can be a slow loop for a large simulation. If atoms were read from a data file, the velocity assigned to a particular atom will be the same, independent of how many processors are being used. This will not be the case if atoms were created using the <a class="reference internal" href="create_atoms.html"><em>create_atoms</em></a> command, since atom IDs will likely be assigned to atoms differently.</p> <p>If loop = local, then each processor loops over only its atoms to produce velocities. The random number seed is adjusted to give a different set of velocities on each processor. This is a fast loop, but the velocity assigned to a particular atom will depend on which processor owns it. Thus the results will always be different when a simulation is run on a different number of processors.</p> <p>If loop = geom, then each processor loops over only its atoms. For each atom a unique random number seed is created, based on the atom’s xyz coordinates. A velocity is generated using that seed. This is a fast loop and the velocity assigned to a particular atom will be the same, independent of how many processors are used. However, the set of generated velocities may be more correlated than if the <em>all</em> or <em>local</em> keywords are used.</p> <p>Note that the <em>loop geom</em> keyword will not necessarily assign identical velocities for two simulations run on different machines. This is because the computations based on xyz coordinates are sensitive to tiny differences in the double-precision value for a coordinate as stored on a particular machine.</p> <hr class="docutils" /> <p>The <em>rigid</em> keyword only has meaning when used with the <em>zero</em> style. It allows specification of a fix-ID for one of the <a class="reference internal" href="fix_rigid.html"><em>rigid-body fix</em></a> variants which defines a set of rigid bodies. The zeroing of linear or angular momentum is then performed for each rigid body defined by the fix, as described above.</p> <p>The <em>units</em> keyword is used by <em>set</em> and <em>ramp</em>. If units = box, the velocities and coordinates specified in the velocity command are in the standard units described by the <a class="reference internal" href="units.html"><em>units</em></a> command (e.g. Angstroms/fmsec for real units). If units = lattice, velocities are in units of lattice spacings per time (e.g. spacings/fmsec) and coordinates are in lattice spacings. The <a class="reference internal" href="lattice.html"><em>lattice</em></a> command must have been previously used to define the lattice spacing.</p> </div> <hr class="docutils" /> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <p>Assigning a temperature via the <em>create</em> style to a system with <a class="reference internal" href="fix_rigid.html"><em>rigid bodies</em></a> or <a class="reference internal" href="fix_shake.html"><em>SHAKE constraints</em></a> may not have the desired outcome for two reasons. First, the velocity command can be invoked before all of the relevant fixes are created and initialized and the number of adjusted degrees of freedom (DOFs) is known. Thus it is not possible to compute the target temperature correctly. Second, the assigned velocities may be partially canceled when constraints are first enforced, leading to a different temperature than desired. A workaround for this is to perform a <a class="reference internal" href="run.html"><em>run 0</em></a> command, which insures all DOFs are accounted for properly, and then rescale the temperature to the desired value before performing a simulation. For example:</p> <div class="highlight-python"><div class="highlight"><pre>velocity all create 300.0 12345 run 0 # temperature may not be 300K velocity all scale 300.0 # now it should be </pre></div> </div> </div> <div class="section" id="related-commands"> <h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2> <p><a class="reference internal" href="fix_rigid.html"><em>fix rigid</em></a>, <a class="reference internal" href="fix_shake.html"><em>fix shake</em></a>, <a class="reference internal" href="lattice.html"><em>lattice</em></a></p> </div> <div class="section" id="default"> <h2>Default<a class="headerlink" href="#default" title="Permalink to this headline">¶</a></h2> <p>The keyword defaults are dist = uniform, sum = no, mom = yes, rot = no, bias = no, loop = all, and units = lattice. The temp and rigid keywords are not defined by default.</p> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/write_data.html b/doc/write_data.html index dcc68346d..cb8e4e6bb 100644 --- a/doc/write_data.html +++ b/doc/write_data.html @@ -1,304 +1,304 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>write_data command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>write_data command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="write-data-command"> <span id="index-0"></span><h1>write_data command<a class="headerlink" href="#write-data-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>write_data file keyword value ... </pre></div> </div> <ul class="simple"> <li>file = name of data file to write out</li> <li>zero or more keyword/value pairs may be appended</li> <li>keyword = <em>pair</em> or <em>nocoeff</em></li> </ul> <pre class="literal-block"> <em>nocoeff</em> = do not write out force field info - <em>pair</em> value = <em>ii</em> or <em>ij</em> - <em>ii</em> = write one line of pair coefficient info per atom type - <em>ij</em> = write one line of pair coefficient info per IJ atom type pair +<em>pair</em> value = <em>ii</em> or <em>ij</em> + <em>ii</em> = write one line of pair coefficient info per atom type + <em>ij</em> = write one line of pair coefficient info per IJ atom type pair </pre> </div> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>write_data data.polymer write_data data.* </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>Write a data file in text format of the current state of the simulation. Data files can be read by the <a class="reference internal" href="read_data.html"><em>read data</em></a> command to begin a simulation. The <a class="reference internal" href="read_data.html"><em>read_data</em></a> command also describes their format.</p> <p>Similar to <a class="reference internal" href="dump.html"><em>dump</em></a> files, the data filename can contain a “*” wild-card character. The “*” is replaced with the current timestep value.</p> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">The write-data command is not yet fully implemented in two respects. First, most pair styles do not yet write their coefficient information into the data file. This means you will need to specify that information in your input script that reads the data file, via the <a class="reference internal" href="pair_coeff.html"><em>pair_coeff</em></a> command. Second, a few of the <a class="reference internal" href="atom_style.html"><em>atom styles</em></a> (body, ellipsoid, line, tri) that store auxiliary “bonus” information about aspherical particles, do not yet write the bonus info into the data file. Both these functionalities will be added to the write_data command later.</p> </div> <p>Because a data file is in text format, if you use a data file written out by this command to restart a simulation, the initial state of the new run will be slightly different than the final state of the old run (when the file was written) which was represented internally by LAMMPS in binary format. A new simulation which reads the data file will thus typically diverge from a simulation that continued in the original input script.</p> <p>If you want to do more exact restarts, using binary files, see the <a class="reference internal" href="restart.html"><em>restart</em></a>, <a class="reference internal" href="write_restart.html"><em>write_restart</em></a>, and <a class="reference internal" href="read_restart.html"><em>read_restart</em></a> commands. You can also convert binary restart files to text data files, after a simulation has run, using the <a class="reference internal" href="Section_start.html#start-7"><span>-r command-line switch</span></a>.</p> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">Only limited information about a simulation is stored in a data file. For example, no information about atom <a class="reference internal" href="group.html"><em>groups</em></a> and <a class="reference internal" href="fix.html"><em>fixes</em></a> are stored. <a class="reference internal" href="read_restart.html"><em>Binary restart files</em></a> store more information.</p> </div> <p>Bond interactions (angle, etc) that have been turned off by the <a class="reference internal" href="fix_shake.html"><em>fix shake</em></a> or <a class="reference internal" href="delete_bonds.html"><em>delete_bonds</em></a> command will be written to a data file as if they are turned on. This means they will need to be turned off again in a new run after the data file is read.</p> <p>Bonds that are broken (e.g. by a bond-breaking potential) are not written to the data file. Thus these bonds will not exist when the data file is read.</p> <hr class="docutils" /> <p>The <em>nocoeff</em> keyword requests that no force field parameters should be written to the data file. This can be very helpful, if one wants to make significant changes to the force field or if the parameters are read in separately anyway, e.g. from an include file.</p> <p>The <em>pair</em> keyword lets you specify in what format the pair coefficient information is written into the data file. If the value is specified as <em>ii</em>, then one line per atom type is written, to specify the coefficients for each of the I=J interactions. This means that no cross-interactions for I != J will be specified in the data file and the pair style will apply its mixing rule, as documented on individual <a class="reference internal" href="pair_style.html"><em>pair_style</em></a> doc pages. Of course this behavior can be overridden in the input script after reading the data file, by specifying additional <a class="reference internal" href="pair_coeff.html"><em>pair_coeff</em></a> commands for any desired I,J pairs.</p> <p>If the value is specified as <em>ij</em>, then one line of coefficients is written for all I,J pairs where I <= J. These coefficients will include any specific settings made in the input script up to that point. The presence of these I != J coefficients in the data file will effectively turn off the default mixing rule for the pair style. Again, the coefficient values in the data file can can be overridden in the input script after reading the data file, by specifying additional <a class="reference internal" href="pair_coeff.html"><em>pair_coeff</em></a> commands for any desired I,J pairs.</p> </div> <hr class="docutils" /> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <p>This command requires inter-processor communication to migrate atoms before the data file is written. This means that your system must be ready to perform a simulation before using this command (force fields setup, atom masses initialized, etc).</p> </div> <div class="section" id="related-commands"> <h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2> <p><a class="reference internal" href="read_data.html"><em>read_data</em></a>, <a class="reference internal" href="write_restart.html"><em>write_restart</em></a></p> </div> <div class="section" id="default"> <h2>Default<a class="headerlink" href="#default" title="Permalink to this headline">¶</a></h2> <p>The option defaults are pair = ii.</p> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file diff --git a/doc/write_restart.html b/doc/write_restart.html index d5b7a00b2..e9eccb74a 100644 --- a/doc/write_restart.html +++ b/doc/write_restart.html @@ -1,301 +1,301 @@ <!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>write_restart command — LAMMPS 15 May 2015 version documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" /> <link rel="top" title="LAMMPS 15 May 2015 version documentation" href="index.html"/> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav" role="document"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-nav-search"> <a href="Manual.html" class="icon icon-home"> LAMMPS </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> <li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li> </ul> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="Manual.html">LAMMPS</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="Manual.html">Docs</a> »</li> <li>write_restart command</li> <li class="wy-breadcrumbs-aside"> <a href="http://lammps.sandia.gov">Website</a> <a href="Section_commands.html#comm">Commands</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="write-restart-command"> <span id="index-0"></span><h1>write_restart command<a class="headerlink" href="#write-restart-command" title="Permalink to this headline">¶</a></h1> <div class="section" id="syntax"> <h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>write_restart file keyword value ... </pre></div> </div> <ul class="simple"> <li>file = name of file to write restart information to</li> <li>zero or more keyword/value pairs may be appended</li> <li>keyword = <em>fileper</em> or <em>nfile</em></li> </ul> <pre class="literal-block"> <em>fileper</em> arg = Np - Np = write one file for every this many processors - <em>nfile</em> arg = Nf - Nf = write this many files, one from each of Nf processors + Np = write one file for every this many processors +<em>nfile</em> arg = Nf + Nf = write this many files, one from each of Nf processors </pre> </div> <div class="section" id="examples"> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2> <div class="highlight-python"><div class="highlight"><pre>write_restart restart.equil write_restart restart.equil.mpiio write_restart poly.%.* nfile 10 </pre></div> </div> </div> <div class="section" id="description"> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2> <p>Write a binary restart file of the current state of the simulation.</p> <p>During a long simulation, the <a class="reference internal" href="restart.html"><em>restart</em></a> command is typically used to output restart files periodically. The write_restart command is useful after a minimization or whenever you wish to write out a single current restart file.</p> <p>Similar to <a class="reference internal" href="dump.html"><em>dump</em></a> files, the restart filename can contain two wild-card characters. If a “*” appears in the filename, it is replaced with the current timestep value. If a “%” character appears in the filename, then one file is written by each processor and the “%” character is replaced with the processor ID from 0 to P-1. An additional file with the “%” replaced by “base” is also written, which contains global information. For example, the files written for filename restart.% would be restart.base, restart.0, restart.1, ... restart.P-1. This creates smaller files and can be a fast mode of output and subsequent input on parallel machines that support parallel I/O. The optional <em>fileper</em> and <em>nfile</em> keywords discussed below can alter the number of files written.</p> <p>The restart file can also be written in parallel as one large binary file via the MPI-IO library, which is part of the MPI standard for versions 2.0 and above. Using MPI-IO requires two steps. First, build LAMMPS with its MPIIO package installed, e.g.</p> <div class="highlight-python"><div class="highlight"><pre>make yes-mpiio # installs the MPIIO package make g++ # build LAMMPS for your platform </pre></div> </div> <p>Second, use a restart filename which contains ”.mpiio”. Note that it does not have to end in ”.mpiio”, just contain those characters. Unlike MPI-IO dump files, a particular restart file must be both written and read using MPI-IO.</p> <p>Restart files can be read by a <a class="reference internal" href="read_restart.html"><em>read_restart</em></a> command to restart a simulation from a particular state. Because the file is binary (to enable exact restarts), it may not be readable on another machine. In this case, you can use the <a class="reference internal" href="Section_start.html#start-7"><span>-r command-line switch</span></a> to convert a restart file to a data file.</p> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">Although the purpose of restart files is to enable restarting a simulation from where it left off, not all information about a simulation is stored in the file. For example, the list of fixes that were specified during the initial run is not stored, which means the new input script must specify any fixes you want to use. Even when restart information is stored in the file, as it is for some fixes, commands may need to be re-specified in the new input script, in order to re-use that information. Details are usually given in the documentation of the respective command. Also, see the <a class="reference internal" href="read_restart.html"><em>read_restart</em></a> command for general information about what is stored in a restart file.</p> </div> <hr class="docutils" /> <p>The optional <em>nfile</em> or <em>fileper</em> keywords can be used in conjunction with the “%” wildcard character in the specified restart file name. As explained above, the “%” character causes the restart file to be written in pieces, one piece for each of P processors. By default P = the number of processors the simulation is running on. The <em>nfile</em> or <em>fileper</em> keyword can be used to set P to a smaller value, which can be more efficient when running on a large number of processors.</p> <p>The <em>nfile</em> keyword sets P to the specified Nf value. For example, if Nf = 4, and the simulation is running on 100 processors, 4 files will be written, by processors 0,25,50,75. Each will collect information from itself and the next 24 processors and write it to a restart file.</p> <p>For the <em>fileper</em> keyword, the specified value of Np means write one file for every Np processors. For example, if Np = 4, every 4th processor (0,4,8,12,etc) will collect information from itself and the next 3 processors and write it to a restart file.</p> </div> <hr class="docutils" /> <div class="section" id="restrictions"> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2> <p>This command requires inter-processor communication to migrate atoms before the restart file is written. This means that your system must be ready to perform a simulation before using this command (force fields setup, atom masses initialized, etc).</p> <p>To write and read restart files in parallel with MPI-IO, the MPIIO package must be installed.</p> </div> <div class="section" id="related-commands"> <h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2> <p><a class="reference internal" href="restart.html"><em>restart</em></a>, <a class="reference internal" href="read_restart.html"><em>read_restart</em></a>, <a class="reference internal" href="write_data.html"><em>write_data</em></a></p> <p><strong>Default:</strong> none</p> </div> </div> </div> </div> <footer> <hr/> <div role="contentinfo"> <p> © Copyright . </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'15 May 2015 version', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script> <script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); </script> </body> </html> \ No newline at end of file