【LAMMPS学习】八、基础知识(1.6) LAMMPS 与其他代码耦合

8. 基础知识

此部分描述了如何使用 LAMMPS 为用户和开发人员执行各种任务。术语表页面还列出了 MD 术语,以及相应 LAMMPS 手册页的链接。 LAMMPS 源代码分发的 examples 目录中包含的示例输入脚本以及示例脚本页面上突出显示的示例输入脚本还展示了如何设置和运行各种模拟。

 8.1.通用基础知识

8.1.1.重新启动模拟 

8.1.2.可视化 LAMMPS 快照

8.1.3.从一个输入脚本运行多个模拟

8.1.4.多副本模拟 

8.1.5. LAMMPS 的库接口

8.1.6. LAMMPS 与其他代码耦合 

LAMMPS 旨在支持与其他代码的耦合。例如,量子力学代码可能会计算原子子集上的力并将这些力传递给 LAMMPS。或者,连续有限元 (FE) 模拟可能会使用原子位置作为 FE 节点上的边界条件,计算 FE 解,并返回 MD 原子上的插值力。

LAMMPS 可以通过至少 4 种不同的方式耦合到其他代码。每种方法都有优点和缺点,您必须根据您的应用程序考虑这些优点和缺点。

  1. 定义调用其他代码的新修复或计算命令。在这种情况下,LAMMPS 是驱动程序代码。在时间步长期间,修复或计算被调用,并且可以对其他代码进行库调用,这些代码已作为库链接到 LAMMPS。这就是 VORONOI 包与 LAMMPS 接口的方式,该包使用 Voro++ 库计算 Voronoi 曲面细分。有关更多详细信息,请参阅compute voronoi 命令。另请参阅Modify 页面,了解有关如何向 LAMMPS 添加新修复或计算的信息。

  2. 定义一个调用其他代码的新 LAMMPS 命令。这在概念上类似于方法 (1),但在这种情况下,LAMMPS 和其他代码处于更平等的基础上。请注意,现在其他代码不会在 LAMMPS 运行的时间步长期间调用,而是在运行之间调用。 LAMMPS 输入脚本可用于交替 LAMMPS 运行与对其他代码的调用(通过新命令调用)。 run 命令通过其每个选项促进了这一点,这使得运行几个步骤、调用命令、运行几个步骤、调用命令等变得容易。在这种情况下,其他代码可以作为库调用,如 1. 所示,也可以是独立代码,由命令进行的 system() 调用调用(假设您的并行机允许一个或多个处理器)启动另一个程序)。在后一种情况下,独立代码可以通过命令写入和读取的文件与 LAMMPS 进行通信。
    Modify 命令页面。有关如何向 LAMMPS 添加新命令的信息,请参阅

  3. 使用 LAMMPS 作为由其他代码调用的库。在这种情况下,其他代码是驱动程序,并根据需要调用 LAMMPS。或者,包装器代码可以将 LAMMPS 和另一个代码作为库链接和调用。同样,如果您希望由另一个程序驱动进行多次短期运行,则 run 命令具有允许以最小开销(无需设置或清理)调用它的选项。库 API 文档中给出了有关使用库接口的详细信息。

  4. 以客户端/服务器方式将 LAMMPS 与其他代码结合起来,使用分子科学软件研究所 (MolSSI)开发的 MDI 库将 LAMMPS 作为 MDI 驱动程序(客户端)或 MDI 引擎(服务器)运行。 MDI 驱动程序向 MDI 服务器发出命令以在它们之间交换数据。有关 LAMMPS 如何在这两种模式下运行的更多信息,请参阅将LAMMPS 与 MDI 库结合使用进行代码耦合页面。

50c9efa9af9e43b88517d6e3a865422d.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/530973.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

基于拉格朗日分布算法的电动汽车充放电调度MATLAB程序

微❤关注“电气仔推送”获得资料(专享优惠) 程序简介 该模型主要做的是基于拉格朗日分布算法的电动汽车充放电调度模型。利用蒙特卡洛模拟法模拟出电动汽车负荷曲线,并求解出无序充电功率曲线和有序充电曲线,该模型在电动汽车个…

标准C库文件操作

open 系列API 和 fopen系列API的区别 1.来源: -open 是UNIX系统调用函数(包括LINUX系统),返回的是文件描述符 -fopen是ANSIC标准的C语言库函数,在不同系统重调用不同内核的API 2.移植性: fopen 是C标准函数,具有良好的移植性; 而…

JUC-线程的创建、运行与查看

创建和运行线程 Thread创建线程 Thread 创建线程方式:创建线程类,匿名内部类方式 start() 方法底层其实是给 CPU 注册当前线程,并且触发 run() 方法执行线程的启动必须调用 start() 方法,如果线程直接调用 run() 方法&#xff…

【鸿蒙开发】组件状态管理@Prop,@Link,@Provide,@Consume,@Observed,@ObjectLink

1. Prop 父子单向同步 概述 Prop装饰的变量和父组件建立单向的同步关系: Prop变量允许在本地修改,但修改后的变化不会同步回父组件。当父组件中的数据源更改时,与之相关的Prop装饰的变量都会自动更新。如果子组件已经在本地修改了Prop装饰…

01-Git 快速入门

https://learngitbranching.js.org/?localezh_CN在线练习git 1. Git 安装好Git以后, 先检查是否已经绑定了用户名和邮箱 git config --list再检查C:\Users\xxx.ssh 下是否存在 id_rsa.pub , 存在的话复制其内容到 GitHub 的 SSH KEY 中 没有这一步, PUSH操作的时候会报错:…

Altair® (澳汰尔)Inspire™ Render —— 强大的 3D 渲染和动画工具

Inspire Render 是一种全新 3D 渲染和动画工具,可供创新设计师、建筑师和数字艺术家以前所未有的速度快速制作精美的产品演示。 借助基于物理特性的内置高品质全局照明渲染引擎 Thea Render,可以快速创建、修改和拖放各种材质并添加照明环境&#xff0c…

【JavaWeb】Day34.MySQL概述——数据库设计-DDL(一)

项目开发流程 需求文档: 在我们开发一个项目或者项目当中的某个模块之前,会先会拿到产品经理给我们提供的页面原型及需求文档。 设计: 拿到产品原型和需求文档之后,我们首先要做的不是编码,而是要先进行项目的设计&am…

Leetcode 538. 把二叉搜索树转换为累加树

心路历程: 二分搜索树 中序遍历,记住这一点即可; 两次遍历,第一次求和,第二次赋值即可 注意的点: 1、注意赋值的时候需要包含node.val,相当于包含i的后缀和 解法:DFS # Defini…

视帝餐厅生意亮红灯?50岁前TVB「电波少女」帮衬撑留港消费

现年50岁的前「电波少女」成员姚乐怡,2012年与商人吴俊匡结婚,2015年诞下一女吴芊憧(Gaibe、乳名小鸡髀)后淡出幕前,今积极拍片转型做「美食网红」。近年不时介绍香港地道美食,近日更以行动支持留港消费&am…

MySQL:关于数据库的一些练习题

文章目录 前面的内容已经把数据库的一些必要知识已经储备好了,因此下面就对于这些语句进行一些练习: 批量插入数据 insert into actor values (1, PENELOPE, GUINESS, 2006-02-15 12:34:33), (2, NICK, WAHLBERG, 2006-02-15 12:34:33);SQL202 找出所有…

【linux基础】bash脚本的学习:定义变量及引用变量、统计目标目录下所有文件行数、列数

假设目的:统计并输出指定文件夹下所有文件行数 单个文件可以用 wc -l ;多个文件,可以用通配符 / 借助bash脚本 1.定义变量名,使用引号 a"bestqc.com.map" b"Anno.variant_function" c"enrichment/GOe…

代码签名证书是什么?软件签名证书功能和分类

代码签名证书是什么?代码签名证书(Code Signing Certificate)是用于对可执行文件或脚本,软件代码等进行数字签名,可验证软件发布者身份、保证软件签名后未被篡改,以此验证开发者身份的真实性和保护代码的完…

PostgreSQL入门到实战-第十弹

PostgreSQL入门到实战 PostgreSQL数据过滤(三)官网地址PostgreSQL概述PostgreSQL中OR操作理论PostgreSQL中OR实操更新计划 PostgreSQL数据过滤(三) 了解PostgreSQL OR逻辑运算符以及如何使用它来组合多个布尔表达式。 官网地址 声明: 由于操作系统, 版本更新等原因, 文章所列…

Node.js cnpm的安装

百度搜索 cnpm,进入npmmirror 镜像站https://npmmirror.com/ cmd窗口输入 npm install -g cnpm --registryhttps://registry.npmmirror.com

Vue.js前端开发零基础教学(五)

目录 4.1 动态组件 4.1.1 定义动态组件 4.1.2 利用KeepAlive组件实现组件缓存 4.1.3 组件缓存相关的生命周期函数 4.1.4 KeepAlive组件的常用属性 4.2 插槽 4.2.1 什么是插槽 ​编辑 4.2.2 具名插槽 4.2.3 作用域插槽 4.3 自定义指令 4.3.1 什么是自定义指令…

LLM大语言模型(十):LangChain自定义Agent使用自定义的LLM

背景 独立部署ChatGLM3-6B并提供HTTP API能力。 自定义LLM封装对ChatGLM3-6B的访问。 创建一个简单的Agent来使用自定义的LLM。 自行封装LLM(MyChatGLM) 上一篇文章LLM大语言模型(九):LangChain封装自定义的LLM-C…

基于SSM+Jsp+Mysql的个性化影片推荐系统

开发语言:Java框架:ssm技术:JSPJDK版本:JDK1.8服务器:tomcat7数据库:mysql 5.7(一定要5.7版本)数据库工具:Navicat11开发软件:eclipse/myeclipse/ideaMaven包…

[数据结构]栈和队列结构的简单制作

一、栈 1.1栈的概念以及结构 栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端 称为栈顶,另一端称为栈底。 栈中的数据元素遵守后进先出LIFO(Last In First Out)的原…

Vant DropdownMenu 下拉菜单带搜索功能

Vant DropdownMenu 下拉菜单带搜索功能 效果图&#xff1a; 上代码&#xff1a; <van-dropdown-menu active-color"#E33737"><van-dropdown-item ref"dropdownItem"><template #title><span>{{ dropdownItem.text }}</span…

蓝桥杯2022年第十三届省赛真题-最少刷题数

solution&#xff08;通过50%&#xff09; 忽略了存在分数相同的情况&#xff0c;若从p位置开始有若干个相同分数的无需再多刷&#xff0c;但是在p位置前若干个&#xff08;含p位置&#xff09;分数相同则都需要多刷一道题。 #include<iostream> #include<algorithm…