【LAMMPS学习】八、基础知识(5.4)黏结粒子(BMP)模型

2024-05-01 08:52

本文主要是介绍【LAMMPS学习】八、基础知识(5.4)黏结粒子(BMP)模型,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

8. 基础知识

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

8.1.通用基础知识

8.2. 设置入门

8.3. 分析入门

8.4. 力场入门

8.5. 软件包入门

8.5.1.有限尺寸球形和非球形粒子

8.5.2. 粒度模型

8.5.3.体粒子

8.5.4.黏合粒子(BMP)模型

BPM 包实现了可用于模拟介观固体的粘合粒子模型。固体被构造为粒子的集合,每个粒子代表一个比原子尺度大得多的粗粒度空间区域。然后,固体区域内的颗粒通过键网络连接以提供固体弹性。

与分子动力学中的传统键不同,不同键的平衡键长可能不同。 Bonds 存储参考状态。这包括将平衡长度设置为等于两个粒子之间的初始距离,但也可以包括有关旋转模型的键方向的数据。这会产生无压力的初始状态。此外,在大应变下键会断裂,产生断裂。 example/bpm 目录包含示例输入脚本,用于模拟受影响板的破碎和扩展弹性体的浇注。


可以使用read data或create bonds命令来创建黏结。或者,带有键的分子模板可以与 fix deposit或 fix pour t​​​​​​一起使用以创建固体颗粒。

在此实现中,债券在第一次模拟运行的设置中首次计算时存储其参考状态。然后,数据将在运行命令中保留,并写入 binary restart files文件,以便重新启动系统不会重置绑定的参考状态。在运行中途创建的键(例如通过使用 fix pour浇注颗粒而创建的键)会在该时间步上初始化。


目前,BPM 包中包含两种类型的键。第一种键合方式,bond bpm/spring,仅应用成对的中心体力。点粒子必须具有bond atom style,并且可以被视为弹簧网络中的节点。

第二种粘合方式, bond bpm/rotational,可以解决由于粒子的旋转或位移而引起的粘合剪切、弯曲和扭曲所产生的切向力和扭矩。颗粒与granular package, atom style sphere类似。然而,它们还必须跟踪粒子的当前方向并存储键,因此使用 bpm/sphere atom style。这还需要一个独特的积分器fix nve/bpm/sphere,它对方向进行数值积分,类似于fix nve/asphere.

除了  bond styles之外,还添加了新的 pair style对  pair bpm/spring来配合 bpm/spring Bond 样式。这种对类型只是胡克斥力,其速度阻尼与其姊妹键类型相似。


可以使用标准 LAMMPS 命令的组合来输出键合数据。可以使用compute property/local命令生成键合原子的ID列表。可以使用compute bond/local 命令计算键的各种属性。此命令允许访问保存到债券历史记录中的数据,例如债券的参考长度。有关债券历史数据的更多信息,请参阅特定 BPM 债券样式的文档页面。最后,可以使用  dump local 命令输出该数据。由于可能会从同一计算输出许多列,因此可以使用dump modify colname选项来提供更有用的列名称。此过程的示例位于 /examples/bpm/pour/ 中。外部软件(例如 OVITO)可以读取这些转储文件以呈现键合数据。


由于邻居列表构建之间的绑定可能会被破坏,因此special_bonds命令对于BPM绑定样式的工作方式有所不同。有两种可能的设置决定了键合粒子之间的配对相互作用如何发挥作用。首先,可以用键力叠加对力,使得所有键合粒子也感受到对相互作用。这可以通过将所有 bpm bond 样式中存在的overlay/pair 关键字设置为 yes 来完成,并且需要使用以下特殊的 bond 设置

special_bonds lj/coul 1 1 1

或者,可以关闭键合粒子之间的所有配对相互作用。与bond quartic不同,这不是通过在键计算期间减去对力来完成的,而是通过动态更新特殊键列表来完成。这是 BPM 债券样式的默认行为,通过在债券断裂时更新 1-2 特殊债券列表来完成。为此,LAMMPS 需要 newton 键关闭,以便所有包含原子的处理器都知道键何时断裂。此外,必须使用以下特殊键设置

special_bonds lj 0 1 1 coul 1 1 1

这些设置实现两个目标。首先,他们关闭 1-3 和 1-4 特殊债券列表,目前 BPM 不支持这些列表。由于 BPM 通常具有密集的债券网络,因此生成 1-3 和 1-4 特殊债券列表的成本很高。通过将 1-2 个键的 lj 权重设置为零,可以关闭成对相互作用。尽管 BPM 模型中没有费用,但为 1-2 个绑定设置非零的 coul 权重可确保所有绑定的邻居仍包含在邻居列表中,以防绑定在邻居列表构建之间中断。如果在模拟运行期间通过将break关键字设置为no来禁用键断裂,则可以使用1-2个键的零库权重来从邻居列表构建中排除键合原子

这对于后处理或确定不同键合粒子之间的配对相互作用特性非常有用。

为了监控系统中的键断裂,所有 BPM 键样式都能够使用 dump local 命令记录键断裂实例并输出。由于人们可能经常输出损坏的键的列表以及它们损坏的时间,因此 dump modify 选项标头 no 可能有助于避免重复打印转储文件的标头。此过程的示例可在 /examples/bpm/impact/ 中找到。此外,可以使用 compute nbond/atom来计算每个原子当前的键数。

有关详细信息,请参阅有关断裂键的 Howto 。

 

虽然 LAMMPS 具有许多用于创建和删除绑定的实用程序,但目前只有以下实用程序与 BPM 绑定样式兼容:

  • create_bonds 

  • delete_bonds

  • fix bond/create 

  • fix bond/break 

  • fix bond/swap 

a87eb2115cf646de9da8449063b34030.png

 

 

这篇关于【LAMMPS学习】八、基础知识(5.4)黏结粒子(BMP)模型的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/951247

相关文章

0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型的操作流程

《0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeekR1模型的操作流程》DeepSeekR1模型凭借其强大的自然语言处理能力,在未来具有广阔的应用前景,有望在多个领域发... 目录0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型,3步搞定一个应

Deepseek R1模型本地化部署+API接口调用详细教程(释放AI生产力)

《DeepseekR1模型本地化部署+API接口调用详细教程(释放AI生产力)》本文介绍了本地部署DeepSeekR1模型和通过API调用将其集成到VSCode中的过程,作者详细步骤展示了如何下载和... 目录前言一、deepseek R1模型与chatGPT o1系列模型对比二、本地部署步骤1.安装oll

Java深度学习库DJL实现Python的NumPy方式

《Java深度学习库DJL实现Python的NumPy方式》本文介绍了DJL库的背景和基本功能,包括NDArray的创建、数学运算、数据获取和设置等,同时,还展示了如何使用NDArray进行数据预处理... 目录1 NDArray 的背景介绍1.1 架构2 JavaDJL使用2.1 安装DJL2.2 基本操

Spring AI Alibaba接入大模型时的依赖问题小结

《SpringAIAlibaba接入大模型时的依赖问题小结》文章介绍了如何在pom.xml文件中配置SpringAIAlibaba依赖,并提供了一个示例pom.xml文件,同时,建议将Maven仓... 目录(一)pom.XML文件:(二)application.yml配置文件(一)pom.xml文件:首

如何在本地部署 DeepSeek Janus Pro 文生图大模型

《如何在本地部署DeepSeekJanusPro文生图大模型》DeepSeekJanusPro模型在本地成功部署,支持图片理解和文生图功能,通过Gradio界面进行交互,展示了其强大的多模态处... 目录什么是 Janus Pro1. 安装 conda2. 创建 python 虚拟环境3. 克隆 janus

本地私有化部署DeepSeek模型的详细教程

《本地私有化部署DeepSeek模型的详细教程》DeepSeek模型是一种强大的语言模型,本地私有化部署可以让用户在自己的环境中安全、高效地使用该模型,避免数据传输到外部带来的安全风险,同时也能根据自... 目录一、引言二、环境准备(一)硬件要求(二)软件要求(三)创建虚拟环境三、安装依赖库四、获取 Dee

DeepSeek模型本地部署的详细教程

《DeepSeek模型本地部署的详细教程》DeepSeek作为一款开源且性能强大的大语言模型,提供了灵活的本地部署方案,让用户能够在本地环境中高效运行模型,同时保护数据隐私,在本地成功部署DeepSe... 目录一、环境准备(一)硬件需求(二)软件依赖二、安装Ollama三、下载并部署DeepSeek模型选

Golang的CSP模型简介(最新推荐)

《Golang的CSP模型简介(最新推荐)》Golang采用了CSP(CommunicatingSequentialProcesses,通信顺序进程)并发模型,通过goroutine和channe... 目录前言一、介绍1. 什么是 CSP 模型2. Goroutine3. Channel4. Channe

Python基于火山引擎豆包大模型搭建QQ机器人详细教程(2024年最新)

《Python基于火山引擎豆包大模型搭建QQ机器人详细教程(2024年最新)》:本文主要介绍Python基于火山引擎豆包大模型搭建QQ机器人详细的相关资料,包括开通模型、配置APIKEY鉴权和SD... 目录豆包大模型概述开通模型付费安装 SDK 环境配置 API KEY 鉴权Ark 模型接口Prompt

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert