LAMMPS学习总结5

1、用vmd处理lammpstrj文件时,用了dynamicbonds依旧跨边界现象严重的解决方法

答:使用命令

pbc wrap -center unitcell

2、fix langevin控温命令解读

Langevin thermostat的使用是因为研究体系的研究对象的时间尺度远长于溶液分子运动的时间尺度,这时候溶液分子对研究对象的影响可以认为是随机碰撞,从而研究对象认为是在做布朗运动,在Langevin thermostat中,体系粒子会受到随机力和粘滞力的作用,随机力和粘滞力之间通过涨落耗散定理进行约束,从而保证模拟体系是NVT统计系综。
Langevin thermostat的优点是时间步长比较长(步长可取0.01个时间单位),但是此热浴破坏动量转移,所以不能用来考察扩散系数。
注意:fix langevin command必须和fix nve结合使用,而不能于其他的控温命令比如fix nvt,fix temp/rescale 结合。

3、lammps中三种boundary

LAMMPS常见的边界条件有周期性边界p, 固定边界f, 和shrink-wrapped边界s。
对于样式p,其表示周期性边界条件,在MD仿真中应用最广,不需多言。
对于样式f,边界的位置是固定的。如果一个原子移动到面之外,它将在下一个发生重新相邻的时间段被删除
对于样式s,面的位置被设置为包含该维度的原子,即虽然边界是非周期的,但是该边界的位置可以进行移动。注意,当仿真初始box尺寸和盒子收缩变化后尺寸相差过大,则在并行计算时可能出现原子丢失。这是由于(全局)盒子尺寸的巨大变化也会导致各个子域尺寸的显著变化。如果这些变化远大于通信截止点,原子就会丢失。
s与f的区别在于,s的边界是实时根据体系原子间距离的最大差值确定,当原子间距离变化时,盒子的边界也在不停的变化,粒子永远不会跑出盒子。s边界一般长用于拉伸等没平衡模拟系统。而f边界是不动的,当粒子跑出盒子的边界时,粒子就会丢失掉,系统中原子数目就会减少,为了能模拟下去,需要打开thermo_modify lost 来处理,因为粒子的丢失引起体系自由度发生变化,热力学量计算会出问题。
选择什么样的边界条件,要根据研究系统以及研究的动力学过程来定,但有时候可能出现选择哪种边界都可以,不会影响计算结果。

4、ERROR: Cannot use nonperiodic boundaries with Ewald (…/ewald.cpp:103)

回答:Kspace_modify slab 命令允许Ewald和PPPM发用于ppf边界条件。

5、物质的热容量随温度变化内在原因解读

热容量是内能U随温度T变化的斜率。内能是由于分子拥有的旋转和振动能量而产生的能量,随着温度的升高,更多的旋转和振动能级被激发,因此内能增加。
最初的内能很小,随着能量的增加而缓慢变化,主要是因为没有足够的能量来激发许多旋转或振动。因此,U与T的斜率很小,热容量也是如此。然后,随着温度的升高,更多的能级被激发,内能迅速上升,U与T的斜率也随之上升,因此热容量也增加。
在非常高的温度下,很多很多的能级被激发,因此随着温度的升高,上升的速度变得恒定,所以热容量也变得恒定,也就是说,它达到了一个最大值。该图显示了热容量随能量变化的情况,只是针对振动级,但当旋转和平移能量加入时,它具有相同的一般形状。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

6、lammps计算聚合物结晶度,有论文用order parameter来代替结晶度。

取向分析在这个paper里:
https://github.com/hall-polymers/published-work/tree/master/2019-ethier2019uniaxial
Lisa Hall课题组
主页:https://cbe.osu.edu/hall-research-group
发表工作:https://cbe.osu.edu/hall-research-group#publications
paper对应python代码:
https://github.com/hall-polymers/published-work/blob/master/README.md

7、MP方法计算粘度中,理解去除x方向速度,但是为什么要去除y方向速度再求温度?这个时候温度计算去除了xy方向速度,那么算出来的结果还是我们目标温度下的么?

回答:(1)MP方法是通过加入非物理作用形成x方向的速度梯度,由于y方向(分层方向)不同层之间的速度差产生y方向动量通量,因此y方向的速度也受此非物理作用的影响,因此y方向速度偏差也要修正。
(2)compute mytemp all temp/partial 0 0 1 命令中详细说明了和控温命令连用时指的是去除x和y方向由于viscosity命令生成的速度 ,减去两个方向的速度偏差,并对剩余热速度控温,此例子就是计算的100K下的粘度。
总的来说,x方向是剪切速度 、y方向是速度传递方向,二者均需要修正,fix nvt下的温度就是目标温度。

8、Berendsen and Nose-Hoover的区别

Berendsen热浴是弱耦合热浴,可以让体系从非平衡态尽快进入到稳定态,使温度和压强震荡降下来,但此热浴抽样的结果,并不严格满足正则系综的要求。
Nose-Hoover热浴是强耦合热浴,如果体系远离平衡态的话,直接用此热浴温度和压强会震荡的非常厉害,所以有时候lammps 初始阶段用Drag项进行压制。但此热浴抽样出的结果,非常符合正则系综抽样。
复杂情况两者可以结合使用,可先用Berendsen热浴先跑一段时间,进行预平衡,到达平衡态后,转成Nose-Hoover热浴进行实际抽样。

9、thermo_modify lost ignore命令使用注意

模拟中真的允许你的atom被删除,比如使用fixed boundary边界的时候,当粒子过了设置的边界,就会自动被程序删除,这种情况下,系统中的粒子会慢慢变少,还有就是在in中要循环用delete_atom命令进行原子删除的时候,也可以尝试使用此命令进行处理。

其他情况下,最好不要使用这个命令,因为,一般情况下,我们不希望原子莫名其妙的丢失。而,系统给的atom loss error,其实是一种防御机制。告诉你,你的系统失稳了,或者目前的结构无法进行计算,需要进一步优化。这些是我们需要提前做好,或者提前预防的。原子丢失在这种情况下,带来的是非物理的结论。

10、长程力处理(Ewald和PPPM)

LAMMPS中长程力的处理方法常用的Ewald求和法以及在此基础上发展的PPPM方法。
Ewald是PaulPeter Ewald,于1921年所提出的,最初用于计算离子晶体的能量。EWald把长程相互作用分成两部分:一部分是短程贡献、一部分是长程贡献。短程贡献在实空间进行计算(可以认为和短程势方法相同),长程项用傅里叶变换在倒空间进行计算。这样的处理导致长程力的计算在实空间和倒空间收敛都比较快(相对来说),所以计算速度的提升比较大。但是这样的处理,要求计算和box必须是周期性的,因此Ewald,PPPM方法都要求是周期性边界条件。不过可以在LAMMPS中处理,对于slab也可以计算,该方法是在非周期方向上用了截断处理。
为了加快计算速度,处理常见体系,出现了PPPM方法,该方法要求体系必须是电中性。因此在使用的时候要注意体系是不是电中性的,不是的话要用修正后的ewald方法。该方法也是区分长程和短程两种作用,采用PM(粒子网络)方法处理长程相互作用,该方法在此不详细介绍,PPPM方法处理计算速度和准确度均有所提升。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿磊的MD和CFD记录簿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值