自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(255)
  • 资源 (1)
  • 收藏
  • 关注

原创 lammps一对一课程学习大纲

对于初学者来说,自学lammps入门会有些困难。大多数情况是,看视频学习觉得都能听懂,自己写in文件的时候却又无从下手。一个小小的错误可能也会困扰你好几天,如果有人指导,可能只需要几分钟就能解决。视频学习和一对一辅导相结合,哪怕是没有接触过lammps的新手,经过学习和1-2次辅导之后基本上就能够独立写出in文件。在学习lammps中遇到的lammps问题,基本上都能够很快的得到解决。...

2022-07-14 21:29:47 1569

原创 lammps教程:Compass力场设置方法

上式中的compass_published对应lammps自带的力场文件compass_published.frc,windows版本的lammps中,这个文件在lammps安装目录的frc_files文件夹,ubuntu版本的lammps中,这个文件在安装目录的tools/msi2lmp/frc_files,如果以上命令不能用,先查找一下这个文件是否存在。compass力场在ms中用的比较多,但是在lammps中用的较少,因为很多参数不是公开的,限制了这个力场的应用范围。大家好,我是小马老师。

2024-07-22 16:31:35 125

原创 lammps模拟CO2驱油案例

模型分为三部分,最左侧为石墨烯板,中间为CO2、右侧上下壁面为SiO2、通道内部为辛烷(联合原子建模,不含H)。可以使用ms、packmol、moltemplate等软件分别对各部分单独建模,建模完成后在lammps中使用read_data命令组装到一起。CO2在页岩纳米孔隙中的置换驱替已经成为一项有效提高页岩油采收率的方法,因此,本文以CO2驱替SiO2纳米通道内的辛烷为例介绍此类模拟方法。弛豫完成后,设置左侧石墨烯板一个向右移动的速度,驱动CO2向右移动从而实现对狭缝内辛烷的驱替。

2024-07-01 10:23:03 162

原创 lammps六边形建模方法

主要原理和之前的锐角刀具建模原理一样,用region plane设置6个面,用这个6个面组成一个封闭区域,在封闭区域内生成原子。lammps自带的形状有长方体、圆柱体、圆锥体和球体,其他特殊的情况大多需要用组合建模方法。如下图截面为六边形的纳米线,很难用一条命令建模。大家好,我是小马老师。

2024-06-25 15:40:23 164

原创 lammps聚合物建模组合技巧

在lammps模拟时,因为键被拉的过长,会造成“bond atoms missing”错误,这种错误在聚合物模拟中经常会出现,这个错误的解决也是聚合物模拟的一个难点。主要原因是,上述结构单独弛豫过程中,当原子移动到边界处,因周期性边界原因,会被算法折叠到盒子的另一侧,造成了被键链接的两个原子分别位于盒子的两侧。在lammps模拟中,聚合物模拟应该算是比较复杂的一种模拟,不仅建模复杂、势参数较多,而且在模拟过程中也会经常出现各种意想不到的错误。本文主要解决聚合物建模过程中常遇到的一个问题:多成分的组合。

2024-06-19 16:36:09 326

原创 lammps聚合物断键拉伸模拟

在lammps模拟中,所有的键默认是永久存在的,非正常情况下,不能断开,否则会产生"bond atoms missing”错误。如果要模拟拉伸过程中键的断裂,就需要加一个额外的命令:fix bond/break。这个命令可以设定每N步判断一次键长,如果键长超过设定的极限长度,则认为键被拉断。聚合物的拉伸模拟过程中,聚合物链并没有被拉断,而只是把不同的聚合物链分离。通过对比初始pe.data,可以发现,在拉伸过程中,一共拉断了6条键。f_4[1]、f_4[2]表示当前步数断裂键的数量和总的断裂数量。

2024-06-13 12:51:49 349

原创 lammps模拟石墨烯吸附水分子(gcmc)

本文分享lammps gcmc吸附的一个案例代码,上下壁面的通道材料为石墨烯,吸附的分子为tip4p水分子。大家好,我是小马老师。

2024-06-06 10:00:52 787

原创 lammps金刚石三棱锥刀具建模

以上命令可以单独的建出一个金刚石刀具模型,可以使用read_data命令把刀具模型合并到切削基体模型,也可以直接复制上面的代码,在基体模型的上方直接建立刀具模型。主要原理是通过三个斜面或者三个斜面加一个平面,合并为一个封闭区域,在区域内生成原子。lammps切削模拟的刀具形状有很多,如球形、锐角、钝角、三棱锥等刀具。球形、锐角、钝角等刀具建模已经在公众号发过,本文介绍三棱锥的建模。斜面和平面都是用region plane命令。本文介绍lammps三棱锥刀具建模方法。大家好,我是小马老师。

2024-06-02 19:33:03 321

原创 lammps案例:reaxff势模拟Fe(OH)3高温反应过程

所有的reaxff模拟,如:氧化、腐蚀、热裂解、燃烧等模拟,均可采用此模拟框架,只需要更换data文件、势文件,代码中的control文件可以不写,电荷平衡文件也可以用reaxff替换。该案例主要模拟Fe(OH)3在高温下的反应过程,主要代码来自lammps自带的案例。lammps自带案例没有产物输出,故在此基础上稍加修改,增加了产物输出命令。如果需要系统学习反应势的模拟,可考虑报名培训课程。本文分享一个reaxff反应势的案例。in文件代码已经注释,以供参考。大家好,我是小马老师。

2024-05-28 21:51:28 483

原创 《lammps中文教程》第3版发布,600页16万字

因为内容太多,查找起来也不是很方便,建议使用“搜索”功能,当需要查找某个方面的内容时,“Ctrl+F”打开搜索框,输入查找内容即可。5.24 “atoms are time integrated more than once”警告,常见三种原因及解决办法。1.31 compute temp/partial ,compute temp/com 温度修正。教程大约半年左右更新一次,本次为第3版,总页数600页左右,分上中下三册,每册200页。1.41 msi2lmp不能用,mpi不能连接主机,解决办法看这里。

2024-05-23 15:51:46 1300

原创 机器学习势系列教程(3):cp2k的安装

和abacus一样,cp2k也是一款开源的第一性原理模拟软件,模拟的数据也可作为机器学习势的训练数据集。cp2k安装方法也很多,常见的有docker安装、代码编译安装。但是这两种方法对于新手或者小白来说,有点复杂。如果仅仅是用于机器学习势的训练,只需要cp2k计算能量和力的计算,不需要复杂的功能。所以,这里介绍一种非常简单的安装方法,只需要一个命令即可完成安装。该方法仅限于ubuntu系统,如果是其他linux系统,还是建议采用编译安装。

2024-05-23 15:49:46 343

原创 lammps read_data读入的模型如何准确分组?

在一对一咨询过程中,发现有不少同学对于其它软件建好并通过read_data读入的模型,就不会分组了,也有同学知道分组方法,但是不会确定分组的region坐标范围,从而导致模拟结果出错。通过第三方软件建的模型,原子坐标不一定就是从0开始的,所以,在设置region命令的时候不能想当然的认为原子坐标就是从0开始,需要准确地确定坐标范围。各组大体比例如图所示,当然,用上面的代码分组后并不能改变原子的类型,也不能改变在ovito中显示的颜色,如需改变颜色,还需要用set命令更改原子类型。大家好,我是小马老师。

2024-05-21 17:11:47 270

原创 lammps模型晃动问题

解决方法相对简单,即在弛豫过程中先取消固定代码,使用"fix all npt aniso"方式对整个体系进行充分的弛豫。然而,如果在弛豫之前就固定了底部的边界,导致底部原子无法调整原子间距,这将导致上层未固定原子无法完全调整到平衡状态,从而出现晃动现象。造成这种现象的根本原因是模型未能弛豫到平衡状态,导致原子间的能量过大,结构无法稳定。具体表现为在模拟过程中,模型无法保持稳定,可能会上下晃动或左右晃动。最近,在咨询过程中,多次遇到模型晃动的问题。一般来说,晶体模型的初始状态应该是平衡状态。

2024-05-13 11:25:48 524

原创 Atomsk球形化合物建模方法

最近几个学员在做球形化合物相关的模拟,为方便大家学习,本文以Al2O3为例介绍一下球形化合物的建模方法。假如球的半径为20埃米,扩胞时要保证Al2O3在各个方向的尺寸超过40埃米,这样才能切出完整的一个球体。只要能找到初始的cif文件,都能够用这个方法建出球体、圆柱、圆锥、圆台等结构。先在长方体结构中选择一个球形的区域,然后删掉球区域外侧的原子。下载的Al2O3模型是一个斜交结构,先进行正交化。首先到晶体库网站下载相应的cif文件。来源:公号 lammps加油站。大家好,我是小马老师。

2024-03-18 20:31:31 597

原创 lammps计算质心的两种方法

xcm(group-id,dim)函数可以计算group的质心的三个坐标,其中,dim表示质心坐标的方向(x、y、z)以上命令计算原子组Cu的质心,质心可通过c_1[*]或者c_1[1]、c_1[2]、c_1[3]输出。在润湿、蒸发、烧结或者冲击模拟中,可能需要计算某个原子组的重心,以判断其移动速度或者相对运动的情况。下面的案例分别使用以上两种方法计算Cu球的质心x坐标,并对两个结果进行对比。compute com命令同样可以计算原子组的质心,计算结果是一个矢量坐标。来源:公众号<lammps加油站>

2024-03-09 22:19:32 777

原创 LAMMPS推出GUI界面,模拟从未如此简单

写完in文件代码后,点击“Run”-“Run LAMMPS",可以直接启动运算,不需要输入lmp -in in.melt.lmp这些命令,非常的方便。运行效果如下图所示,这个版本带有独立的编辑界面,可以使用菜单新建或者打开in文件,也可以使用菜单运行in文件,甚至可以直接查看运行结果。lammps一直没有编辑界面,对新手来说特别的不友好,不过,今年8月4号lammps推出了一款包含界面的版本。打开之后可以发现,lammps编辑界面非常清爽,不同的命令使用不同的颜色进行区分,类似vs code的效果。

2023-08-09 09:47:05 1180

原创 lammps拉伸初始应力不为零原因及解决办法

npt iso方式下,三个方向同比例调整压力,如果三个方向尺寸不一致,也可能无法消除拉伸方向的应力。这个问题比较常见,在平时一对一指导过程中遇见多次,使用以上方法基本上都能解决初始应力不为零的问题。通常情况下,初始应力为零,以获得准确的应力-应变曲线。有的同学可能会说,明明已经进行了长时间的弛豫,可还是不能解决问题。然而,在某些情况下,模拟得到的初始应力大于零或者小于零。虽然进行了弛豫,但弛豫代码不合理的话,也会出现这种情况。如沿x方向进行拉伸,可单独对x方向进行弛豫。学lammps有问题找小马老师。

2023-08-07 11:10:44 1212

原创 团簇大小分布计算方法,fix ave/histo命令详解

fix ave/histo命令是LAMMPS中一个非常有用的命令,可以帮助我们对系统的物理性质进行直方图统计分析。fix ave/histo命令则是LAMMPS中一个非常有用的命令,它可以帮助我们对系统进行直方图统计分析。通过该命令,我们可以获得物理量的分布情况,例如原子速度的分布、能量的分布等,进而深入了解系统的性质。通过该命令,我们可以深入了解系统中物理量的分布情况,为后续的分析和研究提供有效的数据支持。它可以将系统中某个物理量的取值范围划分成一系列的区间,并统计每个区间内的取值个数或概率。

2023-07-27 10:49:05 763

原创 lammps教程:TIP5P水分子模拟

通过调整模型的参数,可以研究不同条件下水的行为,如温度、压力和溶质浓度等,揭示其在各种环境条件下的性质变化。在模拟过程中,需要使用刚体命令来保证TIP5P水分子结构的稳定性,因此,在TIP5P分子模板中,不需要设置键角参数,仅需给出5个原子的坐标即可。TIP5P水分子是在TIP3P模型基础上添加了两个额外的虚原子L,通常这两个虚原子质量忽略不计,其中氧原子的电荷被放置在这两个虚原子L上。在lammps模拟中,常见的水分子结构为SPC/E、TIP3P和TIP4P,本文介绍另外一种水分子结构:TIP5P。

2023-07-17 20:19:25 868

原创 lammps教程:ovito转换data文件格式的方法

其中,data文件是lammps中最常用的输入文件之一,用于描述模拟系统的原子类型、坐标、力场参数等信息。atomsk建的模型默认的为atomic类型,如果atomic类型的data文件和full类型的data文件进行合并,需要把atomic类型转换为full类型。无论是将data文件转换为其他格式,还是使用转换后的文件进行进一步的模拟或分析,都需要谨慎处理数据,确保结果的准确性和可靠性。如果data文件不大,可以直接把data文件中的原子坐标部分复制到excel中,添加分子id和电荷信息两列即可。

2023-07-10 19:53:56 2080

原创 lammps教程:固定边界丢失原子的几种解决办法

minimize命令也会造成原子的移动,所以,固定的命令一般要放到minimize之前,不然,在minimize阶段也可能会丢失原子。以上是f边界条件下原子丢失的几种解决办法,没有一个方法是万能的,用哪个方法,还需要具体分析,不能盲目的套用。以切削模拟为例,边界条件设为ppf,在模拟的过程中,箭头处的原子有可能会移动到边界外面造成原子丢失。既然f边界处的原子在弛豫的过程中会移动,可增加一个真空层,给边界原子一个移动的空间。这就存在一个问题,过早的固定边界可能会影响整个体系的弛豫。

2023-07-03 10:28:24 2098

原创 lammps案例:原子倒入容器

在指定的区域内,每隔一定步数将特定数量的原子或分子插入box中,直到有N个原子或分子被插入。通常用来模拟颗粒在重力作用下倒入容器的过程。下面案例是lammps自带的一个fix pour案例,主要模拟在体系内插入3000个原子,原子在重力作用下沉积到底部的过程。在绝大多数的分子动力学模拟过程中,原子数量保持恒定。为突出重点,删掉了若干不需要的语句。也可以使用fix pour命令。公众号:lammps加油站。

2023-06-20 16:06:39 782

原创 lammps教程:Ovito计算RDF方法

默认情况下,ovito会给出所有原子对的rdf,如果仅需要个别原子的rdf,可以先使用“select type”命令选择特定原子,然后再选择“coordination analysis”如下图仅计算了1-1的rdf。ovito计算rdf比较方便,但也有个缺点,只能输出某一帧的rdf值,无法对一定步数内rdf值进行平均(pro版本可以),如需平均值,可选择之前介绍的计算方法。Number of histogram bins:计算rdf时分的块数为100上图中的参数和下面的lammps命令是等效的。

2023-05-29 11:01:56 1879 1

原创 lammps教程:斜交转正交的方法

斜交转正交后,晶格的划分方法变了,所以晶格的尺寸和晶格内原子个数均发生变化,在扩胞的时候,需要按正交后的晶格尺寸计算最终的盒子尺寸。虽然lammps支持斜交模型的模拟,但是在模拟过程中有一定的限制,如斜交模型的变形量不能太大,超过限定值后会提示错误。斜交改正交后,只是改变了整体盒子的形状,并没有改变原子间的相对位置,材料的性质是完全一样的。设定新的晶格,对于120度夹角的晶格,直接按下图参数更改。所以,多数情况下,把斜交的模型变成正交模型会更好一些。在ms中,斜交改正交,可使用重定义晶格的方法。

2023-05-04 14:19:21 1371 1

原创 lammps教程:聚合物压缩,避免“bond atoms missing”

如果使用ms建模,聚合物的链会伸出到盒子外面,在导出data文件后,盒子外面的原子被周期性算法折叠进盒子对面,这就造成了边界附近的bond原子可能被分布到了盒子的两侧。并且,这个data文件不能使用npt系综进行压缩,npt系综必须使用周期性边界,在压缩时,bond原子同样会移动到对面的边界。所以,最好的解决办法是使用一个反射墙墙进行压缩,设置一个反射墙墙既可以实现压缩效果,也可以组织原子跨越box边界移动到对面。解决这个问题的原则只有一个:导出data时确保所有的bond原子没有跨越边界。

2023-04-27 10:51:40 2374 1

原创 粗糙表面原子提取方法

如果对编程比较熟悉,可以使用python或者MATLAB编个脚本提取,技术含量有点高,对于不熟悉编程的同学来说,可能有点难。计算表面粗糙度,需要用到表面原子的坐标,计算的一个关键技术是如果把表面的原子和其它原子区分开,或者单独把表面原子提取出来。(3)选择右上角“Add modification”-“Inver selection”,使用反向选择功能,选择非表面原子。Construct surface mesh主要功能是自动识别模型的表面,并且能标注表面上的原子。这样,表面上的原子就全部被选中。

2023-04-24 18:51:59 782

原创 lammps中文教程

lammps中文教程

2023-04-20 10:52:46 2544

原创 lammps教程:data文件错位解决办法

在MS建模后,需要使用msi2lmp把car类型的文件转为lammps data文件,有时候模型在ms中显示没有问题,但是转换为data文件后结构会错位。在ovito打开转换后的data文件,如下图所示,红框内的结构应该在最下面,把鼠标放到红框内左下角的原子,ovito窗口的左下角会显示该原子的坐标。运行in文件后,会得到新的结构new.data,在ovito中打开new.data,检查结构是否符合预期,如果移动距离偏大或偏小,再进行微调。大家好,我是小马老师。(1)确定移动的距离。

2023-04-17 10:43:02 673

原创 lammps教程:ovito免费输出高清图片方法

基本原理是调用ovito软件包中的TachyonRenderer模块,该模块可实现Tachyon渲染,达到和ovito 2.9 Tachyon完全相同的效果。这种方法在后来的ovito版本中已经不能使用,但是ovito 2.9版本在后处理方面功能较少,使用起来也不是特别方便。在之前的推文中,曾介绍过使用ovito 2.9版本更换Tachyon渲染器实现高清图片的输出。这个方法只需要配置ovito模块即可,完全免费,不需要购买ovito pro版。具体的配置参数可到ovito官网查询。大家好,我是小马老师。

2023-04-10 18:42:48 1302

原创 lammps教程:多个dump文件合并为一个文件

如果dump文件是用dump custom 加通配符星号(*)输出的,文件名除了步数不同,其余部分是相同的,如:frame.0.dump, frame.1000.dump, frame.2000.dump。如果文件名没有规律,或者位于不同的文件,也可以新建一个文件列表file_list,把所有的文件全部输入到列表中,import_file()命令读入列表即可实现加载所有文件。在前面的文章中,介绍过python ovito可以把一个dump文件按帧拆分为多个dump文件。这种情况,可使用通配符读入所有文件。

2023-04-06 16:48:10 815

原创 lammps后处理:python ovito编程计算不同原子对的rdf

但是,以上代码没有区分原子类型,计算的是所有原子的rdf,如果需要计算特定原子之间的rdf,可在CoordinationAnalysisModifier()中设定“partial=True”。在以前专栏文章中,介绍过python ovito计算rdf的方法,使用到的命令为CoordinationAnalysisModifier()。模拟完成后,rdf.txt包含多列数据,第二行也给出了具体列对应的数据,1-1表示中心原子为1,周围原子为1出现的概率,也就是1 1的rdf。公众号:lammps加油站。

2023-04-03 17:20:19 756

原创 lammps教程:如何从dump文件导出带键角的data文件

如果模拟的体系没有键角,用这种方式是可以的,但如果模拟的是聚合物体系,用这种方法导出的data文件只有原子坐标,没有键角等信息。python ovito模块不仅可以一次性的读入dump文件,也可以分别读入包含键角信息的拓扑文件和包含模拟结果的轨迹文件。平常用的最多的方法是用ovito打开dump文件,点击“file”-“export file”的方式导出data文件。在本例中,包含键角的拓扑文件可以用初始结构文件pp.data,轨迹文件就是模拟产生的dump.xyz文件。公众号:lammps加油站。

2023-03-30 14:40:27 2072 1

原创 ammps后处理:一个dump文件拆分多个文件的方法

方法很简单,使用python ovito模块,先读入dump文件,然后设置一个循环,依次读入每一帧的数据并导出到单独的文件。代码原理比较简单,import_file读入dump数据,在for循环中,export_file输出每一帧数据。在lammps模拟中,如果体系比较大,或者模拟时间比较长,得到的dump文件有可能会非常大。如果在模拟计算时,没有使用这个方法,所有的数据都输出到一个dump文件,还有一个补救的办法。使用这个方法,也可以输出某一特定步数的dump文件,比如只输出第1000步的dump文件。

2023-03-27 11:13:50 566

原创 lammps教程:python ovito编程绘制速度分布

ovito处理速度分布和lammps原理基本一致,也是先进行分块切割,得到每一块的原子数据后,再进行数据求和平均。该案例模拟了原子沿x方向的流动过程,需要计算的是原子沿y方向的速度分布。

2023-03-23 15:03:02 1277

原创 lammps教程:random随机选择原子ID方法

使用random()命令可随机选择体系内的一个原子

2023-03-21 10:44:46 1258

原创 lammps势函数训练软件:深度势能DeepMD-kit安装方法

DeepMD基于机器学习的方法可以训练自己需要的势函数,解决了没有势函数的难题,详细的原理后面会陆续介绍。训练势函数主要使用DeepMD-kit,因此,本文主要介绍ubuntu系统下DeepMD-kit的安装。

2023-03-16 18:46:55 1825 2

原创 lammps教程:moltemplate安装教程

本文介绍ubuntu系统下moltemplate的安装方法

2023-03-13 11:28:42 1724

原创 lammps案例:溶液剪切流动模拟代码分享

速度分布是流体模拟常用的一个计算,基本原理是先沿某方向对体系进行分块,然后统计块内原子的速度,组合输出后可得沿某方向速度的分布情况。首先把壁面原子在x方向受力设为0,然后使用velocity命令设置上下壁面沿相反的方向移动以产生剪切流动。

2023-03-12 16:55:33 604

原创 lammps教程:分子模板编写方法

找到一个现有的分子模板,如水分子的模板,然后把甲烷data文件中的信息复制到标准的水分子模板。但是这个data的编写格式与lammps分子模板的格式不同,不能直接把data文件作为分子模板使用。导出data文件后,用记事本打开data文件,会发现data文件已经包含分子模板所需要的结构信息。水分子后面的shake等信息可删掉不用,经过修改后的甲烷分子模板就做好了。

2023-03-06 20:10:58 1416

原创 lammps教程:流体建模代码

本文分享的流体模型上下壁面为Al原子,流体为NaCl溶液(包含水分子、Na+和Cl-)。常见的流体模拟结构都差不多,包括上下壁面和中间流体部分。公众号:lammps加油站。

2023-03-02 14:07:44 1421

FeNiCrCoCu_tension.rar

高熵合金FeNiCrCoCu建模及拉伸模拟in文件代码,带应力-应变输出

2021-03-06

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除