查看原文
其他

Amorphous Cell模块总是报错?请听听我的两个小建议

唯理计算 科学指南针一模拟计算联盟 2022-07-09

经常有同学问我搭建非晶胞的时候总是报错怎么办,这里分情况说一下吧。

以下纯属个人的一些经验,不是最好的,但最起码能用。


01力场不支持导致的报错实际工作的能力。在实践中二者常常是揉合在一起,相得益彰。运用所学知识处理实际工作的能力主要通过实践培养起来的。


这种一般刚开始就报错,仔细研究输出文件会提醒你缺少相关力场参数。
比如某单体中含有B元素,但是你使用的力场中恰好就没有定义B元素相关的参数,那么这个时候直接就崩溃了。
1)此时你可以选择别的力场去弄一下,一般就能够解决了。
2)有的时候,非要使用某种力场,尤其是那些MS里面的私有力场,那要怎么办?


有个不是方法的方法,比如缺少B元素参数,那么我就将其中的B替换成某个原本单体中没有的元素但是属性和B又差不多的,比如替换成Al,做完了之后再全选Al然后替换成B。
这么做把最难搞的那一步解决了,后面的事情就是交给其他软件或者模块做能量最小化解决一下不太合理的键长等问题了。


02搭建过程过难导致的报错实际工作的能力。在实践中二者常常是揉合在一起,相得益彰。运用所学知识处理实际工作的能力主要通过实践培养起来的。

比如你搭建一个20聚合物的纤维素链,然后准备搞10个链放到一个胞内,密度设为1倍水密度。这个时候是很难搭建出来的,无论怎么调试基本都是错误。

搭建用”初始构型”和”最终成品胞内单体构型”差别很大,此时再要求一个看似合理的目标密度,那个基本很难搭建成。

这里比较拗口,我举个例子,你手里有个钢丝球(假设钢丝很粗,基本没有肉眼可见弹性),现在耐心将钢丝球切成很多很长的钢丝,然后拉直,此时要求你将这些钢丝放到一个和原本钢丝球一样大的胞内,你怎么放?

自由放的时候肯定得到的是密度远小于钢丝球的“堆”。

这不是软件不给力,这是软件从底层决定的,AC是基于蒙特卡洛的模型搭建工具,别对它“对单体几何结构上面的变通”做太多期望。

你们会发现,这种报错不会出现在搭建气体胞,水胞,甲醇胞这类模型时,只对结构复杂的单体报错

网上有人选择:直接构建某密度的只含一个单体分子的胞,然后使用supercell方法扩胞。

该方法会导致胞内的分子过于“有规律”。而且这个方法无法自由决定胞内该有多少分子。

虽然有人选择扩胞后删去某些个数的分子的做法去迎合对胞内分子数的要求,但这样做极易形成“孔洞”造成PSD异常,浪费后续平衡的时间。

我一般推荐大家:其他不变,先使用一个极小密度去构建非晶胞,比如使用0.1倍水密度。

这个一般不会报错,如果还报错0.05继续试。然后会得到一个极其“空旷”的非晶胞。此时可以直接按照目标密度去修改该胞晶胞参数。修改方法如下:

比如构建时候设定的密度是A,实际的目标密度是B,而这个胞的边长为a b c
那么需要设定新的胞边长为 a’=(A/B)1/3*a 其他的同理

切记,一定是在Properties-Lattice 3D里面直接改,不要去rebuild crystal那里改!!!


此时会得到一个跟刚才差不多的胞,就是感觉微缩了,里面的分子特别mini。

此时可以使用Forcite这样的分子动力学研究模块进行一下固定晶胞参数的几何优化,基本就可以得到比较合理的非晶胞了。

上述方法还是有缺点,做出来的胞里面的分子有些过于分离,你是你,我是我的。

那么可以将原本A密度那个空旷的胞直接进行NPT下的大温度区间退火,然后再进行一段时间的NPT常规动力学平衡步。这样做出来基本就没啥问题了。


唯理计算小福利

针对模拟计算我们有专门的沟通群,想进群的小伙伴加微信


17812574221


备注:模拟计算进群

群里可以和老师一起探讨问题,老师也会帮助解答问题的哦~


   推荐阅读:


END


  你“在看”我吗

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存