计算化学公社

标题: 求助:如何在盐溶液浓度有要求的情况下加离子使体系呈电中性 [打印本页]

作者
Author:
confidence    时间: 2022-12-23 17:17
标题: 求助:如何在盐溶液浓度有要求的情况下加离子使体系呈电中性
本帖最后由 confidence 于 2022-12-23 17:47 编辑

各位老师好,我想研究凝胶在高盐环境下对离子的吸附情况, (, 下载次数 Times of downloads: 20) 设定盐浓度为5 mol/L,目前尝试后建模如图 (, 下载次数 Times of downloads: 21) 发现两个问题,想请问老师们该怎么解决呢?

1、理论上盐浓度为5 mol/L,即100个水分子和9个Na/9个Cl所适配。但是所构建的凝胶分子带负电,那么在跑md的过程中会提示电荷不为0,若我加Na离子中和体系,则会导致体系中NaCl浓度与预期设定的不符(Na会多于Cl)。请问我能通过加其他阳离子使体系呈电中性吗?或者是否可以忽略这个note?还是有其他办法呢

2、是否应该在盐溶液上端加真空层来防止周期性镜像作用使一部分盐被吸引到上端呢?(还是说通过加墙的方式)
3、对于此模拟应该也是用npt就行吧?那跑npt的时间有要求么,我用如图模型跑了1ns的npt后,再跑10ns的产生相模拟感觉两个结果就基本一样




作者
Author:
sobereva    时间: 2022-12-23 21:26
1 先搞清楚实际凝胶中是什么物质中和了凝胶分子的负电荷。模拟时该加什么加什么,和实际情况一致

2 如果只希望有一个界面表现吸附情况,可以加真空层

3 足够达到平衡就够了,怎么判断看
谈谈怎么判断分子动力学模拟是否达到了平衡
http://sobereva.com/627http://bbs.keinsci.com/thread-27122-1-1.html

如果Z方向加了真空层,至少Z方向不能控压,或者Z方向可压缩系数设成0
作者
Author:
confidence    时间: 2022-12-25 09:53
sobereva 发表于 2022-12-23 21:26
1 先搞清楚实际凝胶中是什么物质中和了凝胶分子的负电荷。模拟时该加什么加什么,和实际情况一致

2 如果 ...

谢谢sob老师的回答,我认为凝胶分子带负电是因为带有磺酸,最后会变成SO3-,该凝胶也只与盐溶液接触,所以应该是na离子中和了该凝胶所带的负电荷吧。如果是na的话,那么像我上述所说的用na中和导致na多于cl就是正常的吗?(即此情况下我能否说盐溶液浓度是符合我初始设定值的)
作者
Author:
sobereva    时间: 2022-12-26 00:07
confidence 发表于 2022-12-25 09:53
谢谢sob老师的回答,我认为凝胶分子带负电是因为带有磺酸,最后会变成SO3-,该凝胶也只与盐溶液接触,所 ...

正常
作者
Author:
confidence    时间: 2022-12-31 17:20
sobereva 发表于 2022-12-26 00:07
正常

谢谢sob老师的回复,经过尝试后有了一些新的疑惑。

1、本意上是想建立一层凝胶层和盐溶液层,但是凝胶层由于凝胶分子不是很规整,无法把盒子指定部分完全填充,即我所构建的凝胶层会有一部分真空区,这种情况下我能否还是把这一层当作凝胶层呢?

2、凝胶如果不加固定的话会发生移动,我现在是直接将其冻结,这种做法应该合理吧?

3、预期结果是盐溶液中的NA离子往凝胶层方向移动而CL离子留在原地,但是现在模拟结果为NA\CL\水全都往凝胶聚集,这种情况我应该如何分析呢?(取更短时间内的变化来说明其移动趋势?)

请各位老师解答一下呢,谢谢老师们
作者
Author:
sobereva    时间: 2022-12-31 17:31
confidence 发表于 2022-12-31 17:20
谢谢sob老师的回复,经过尝试后有了一些新的疑惑。

1、本意上是想建立一层凝胶层和盐溶液层,但是凝胶 ...

1 你先对凝胶体系跑NPT的动力学,得到纯凝胶的gro文件,再用gmx solvate对盐溶液体系扩出来的真空层部分填充凝胶,这样填得能比较满

2 没有固定的必要,该怎样就怎么样。冻结明显不合理

3 先把模型弄得当了再说别的。几个凝胶分子根本无法描述凝胶层,否则相当于把界面体系的问题弄成了溶质-溶剂体系
作者
Author:
confidence    时间: 2023-1-5 19:21
sobereva 发表于 2022-12-31 17:31
1 你先对凝胶体系跑NPT的动力学,得到纯凝胶的gro文件,再用gmx solvate对盐溶液体系扩出来的真空层部分 ...

谢谢sob老师的回答,我按照您说的先对纯凝胶跑了5 ns的动力学后取其gro作为初始结构,在8*8*4 nm3的盒子中用packmol填充了26个这样的凝胶分子(再多packmol就会无法顺利完成),后构建了如图所示的模型 (, 下载次数 Times of downloads: 19) ,总共包含了4888个水分子,26个凝胶分子,784个NA离子以及442个CL离子。
后经过em\npt预平衡和2ns的产生相模拟,图为em后的结果 (, 下载次数 Times of downloads: 19) ,而2ns的产生相模拟结果与此图也几乎一致。

但我本意是想模拟出NA离子会往凝胶层移动而CL离子不动,请问老师我这里是还有什么地方改进吗?

作者
Author:
sobereva    时间: 2023-1-7 02:18
confidence 发表于 2023-1-5 19:21
谢谢sob老师的回答,我按照您说的先对纯凝胶跑了5 ns的动力学后取其gro作为初始结构,在8*8*4 nm3的盒子 ...

有经过NPT的纯物质的gro文件后,应当用gmx solvate来填空真空区而不是用packmol,前者填充得会明显更为致密

氯离子跑下去并没什么意外的,本来Na+下去了,靠静电作用,也必然会把Cl-拉下去一部分,而且Cl-自身也有扩散运动。不可能Cl-一点都不动。关注两层区域里Cl-相对浓度,如果浓度的差异显著到能说明你想说明的问题就够了。
作者
Author:
confidence    时间: 2023-1-7 20:23
本帖最后由 confidence 于 2023-1-9 17:47 编辑
sobereva 发表于 2023-1-7 02:18
有经过NPT的纯物质的gro文件后,应当用gmx solvate来填空真空区而不是用packmol,前者填充得会明显更为致 ...

谢谢Sob老师的回答,1、我原本也是打算用solvate命令的,但是我在盐溶液扩充出的真空区中填充跑过NPT的纯物质gro文件时只能填充1个(命令为solvate -cp yan.gro -cs snj.gro ,其中snj.gro为纯物质的gro,yan.gro中有8*8*4nm3的真空区),所以我才改用了packmol。不知道是我哪里出错了呢?

2、如上图,我的凝胶层在跑完后会偏上移,那我还能说这是我原来设定那个凝胶层么?(一开始凝胶层设定在Z<4nm,盐在4<Z<8nm处)

3、如老师您说通过两端的离子浓度来对比,那我在计算凝胶层钠离子数时是否需要减去初始建模时为了电中性加入的na离子数呢?(按照设定浓度盐溶液有442个na和442个cl,保持电中性又多加了312个na)

4、老师我最终在凝胶下层加了低盐(此时因为浓度太低,低盐层就没加NA/CL离子),目的是想让凝胶一端处于高盐、一端处于低盐,跑了em后如图 (, 下载次数 Times of downloads: 16) ,发现低盐层也有部分NA离子(但理论上此时不应该有),我该怎么才能不让低盐层出现离子呢?

作者
Author:
confidence    时间: 2023-1-10 14:48
再想请教一下老师,我跑了20ns的动力学后,提取轨迹发现,模拟过程中NA/CL离子在凝胶层/高盐环境/低盐环境中的个数基本没有发生改变,与跑了npt后的情况几乎一致。那我都看不出来这个过程中的离子迁移情况,这是哪里出了问题吗?
作者
Author:
wzkchem5    时间: 2023-1-10 20:45
confidence 发表于 2023-1-10 07:48
再想请教一下老师,我跑了20ns的动力学后,提取轨迹发现,模拟过程中NA/CL离子在凝胶层/高盐环境/低盐环境 ...

实验上已知这个时间尺度下会发生明显的迁移吗?
可能实验只证明了在毫秒时间尺度下有迁移,你计算只能跑纳秒级的动力学,那看不出来迁移就是正常的
作者
Author:
ShuaiCui    时间: 2023-1-31 09:05
试问一下楼主,考虑过用过AIMD跑类似这样的结构嘛?
作者
Author:
confidence    时间: 2023-2-21 19:29
ShuaiCui 发表于 2023-1-31 09:05
试问一下楼主,考虑过用过AIMD跑类似这样的结构嘛?

没有考虑哦
作者
Author:
confidence    时间: 2023-2-21 19:37
wzkchem5 发表于 2023-1-10 20:45
实验上已知这个时间尺度下会发生明显的迁移吗?
可能实验只证明了在毫秒时间尺度下有迁移,你计算只能跑 ...

是的老师,之后我又延长了模拟时间,就观察到少部分NA/CL离子会迁移到低盐部分。在此基础上我又创建了带电荷量较少以及不带电的凝胶层。发现了一些问题:

1、跑md过程中盒子会向xy方向收缩,使得最后整个盒子都充满了水,因此无法分清NA/CL是通过凝胶层渗透到低盐部分,还是在盒子顶端跑过去的(此时z方向可压缩系数为0,知道会往xy方向收缩,但是这也缩小太多了),请问老师有什么办法解决么? (, 下载次数 Times of downloads: 17)
2、对于不带电的凝胶层来说,跑完发现几乎没有离子处在凝胶层中,也没有离子到达低盐部分。如果考虑渗透压的作用,那么即使凝胶层不带电,也是会有离子透过现象的出现的。所以想请教一下各位老师,gmx中是存在渗透压的么?跑出这种结果是否合理呢?

作者
Author:
wzkchem5    时间: 2023-2-21 20:05
confidence 发表于 2023-2-21 12:37
是的老师,之后我又延长了模拟时间,就观察到少部分NA/CL离子会迁移到低盐部分。在此基础上我又创建了带 ...

1. 一般解决方法是在上层水和下层水的周期镜像之间加一层不可穿透的膜(如石墨烯),或者冻结一层水
2. 不带电的凝胶层可能碰巧透过率低,导致模拟的时间内不足以观察到离子透过的现象。渗透压纯粹是统计学的现象,因此任何MD软件都可以体现渗透压
作者
Author:
confidence    时间: 2023-2-21 20:57
wzkchem5 发表于 2023-2-21 20:05
1. 一般解决方法是在上层水和下层水的周期镜像之间加一层不可穿透的膜(如石墨烯),或者冻结一层水
2.  ...

好呢谢谢老师的回答,我按照您说的考虑加一层石墨烯,从ms抠出石墨烯后利用矩阵变换将其变为正交(atomsk使用后正常结束,但是生成的cif无法打开,提示信息有误)。那我想再请问一下:
1、该石墨烯的放置位置有什么说法么?比如我是直接放在高盐溶液上面(与之相贴近),还是说放在真空层中任意位置都行呢。

2、跑的过程中是对该石墨烯进行位置限制吗?
作者
Author:
wzkchem5    时间: 2023-2-21 22:58
confidence 发表于 2023-2-21 13:57
好呢谢谢老师的回答,我按照您说的考虑加一层石墨烯,从ms抠出石墨烯后利用矩阵变换将其变为正交(atomsk ...

放在两层水之间任意位置就行了,一跑NPT以后多余的真空层就会垮掉,只剩石墨烯起到分隔两个水层的作用。
理论上没必要限制位置
作者
Author:
confidence    时间: 2023-2-22 16:20
本帖最后由 confidence 于 2023-2-22 17:15 编辑
wzkchem5 发表于 2023-2-21 22:58
放在两层水之间任意位置就行了,一跑NPT以后多余的真空层就会垮掉,只剩石墨烯起到分隔两个水层的作用。
...

谢谢老师的回复,我按照您说的放置了石墨烯并且不加限制,确实现在水分子基本不会穿过石墨烯层,这里有点小疑问:

1、 (, 下载次数 Times of downloads: 12) 跑了1ns 的NPT后跑20ns的产生相模拟,盒子的真空层并不会像老师您说的垮掉,这是正常现象吗? (, 下载次数 Times of downloads: 16) 这是初始构型(以前做过不加石墨烯的,真空区跑完后也存在)

2、仔细观察发现有几个水分子还是跑到了石墨烯上面,个人觉得是因为我的石墨烯在构建的时候并没有完全贴合盒子大小,比如我盒子xy方向8*8 nm,而我的石墨烯大概在7.8*8.05nm这样。而且过程中石墨烯会呈现扭曲、不规整的状态,请问这样会影响吗?
作者
Author:
wzkchem5    时间: 2023-2-22 17:25
confidence 发表于 2023-2-22 09:20
谢谢老师的回复,我按照您说的放置了石墨烯并且不加限制,确实现在水分子基本不会穿过石墨烯层,这里有点 ...

是不是z轴的可压缩性系数仍然设成了0?加了石墨烯以后就不需要让z轴不可压缩了,虽然我不确定如果仍然按z轴不可压缩处理有没有负面影响。
石墨烯扭曲原则上讲不会导致什么问题,或许会导致统计石墨烯两侧的水分子数目等等稍微麻烦一点。不过我不确定大家习惯上是允许石墨烯扭曲的更多,还是把石墨烯限制为平面结构的更多。可以参见Journal of Membrane Science 644 (2022) 120057
作者
Author:
confidence    时间: 2023-2-22 17:53
wzkchem5 发表于 2023-2-22 17:25
是不是z轴的可压缩性系数仍然设成了0?加了石墨烯以后就不需要让z轴不可压缩了,虽然我不确定如果仍然按z ...

感谢老师的回复,我再思考了一下。当初加真空层是为了防止由于周期性镜像导致上层高盐与下层低盐相接触而使得盐直接从盒子上端进入低盐部分,当时sob老师是说加真空层的话就要让z方向可压缩系数为0.

那么老师如果按照您说的加了石墨烯,该石墨烯的作用是只有防止水分子往上层扩散呢,还是说也可以替代掉这个真空层的作用呢?这里我不是很了解,麻烦老师解惑
作者
Author:
wzkchem5    时间: 2023-2-22 20:11
confidence 发表于 2023-2-22 10:53
感谢老师的回复,我再思考了一下。当初加真空层是为了防止由于周期性镜像导致上层高盐与下层低盐相接触而 ...

可以替代真空层,因为真空层除了隔绝两个水相以外没有其他作用。
我觉得sob老师说的是不是,在你的体系里有一层固相的时候,可以通过这种做NPT但不让z方向变化的方法?你这里的问题应该是凝胶的刚性不够,所以x、y方向上可以被大幅度压缩。如果你算的是水通过一个刚性固体薄膜上的微孔的话,那真空层也可以。
作者
Author:
confidence    时间: 2023-2-23 11:19
wzkchem5 发表于 2023-2-22 20:11
可以替代真空层,因为真空层除了隔绝两个水相以外没有其他作用。
我觉得sob老师说的是不是,在你的体系 ...

谢谢老师的回复,我看了您给我的参考文献,别人的石墨烯是设置成平面结构的,因此我也考虑将其进行限制。看了文献后我有些新的想法:
1、别人在上下两面都加了石墨烯,并通过对其施加不同压力以此来让水分子能透过膜。而我主要想研究的是离子透过膜的数量差异,所以我应该不需要加压力吧?

2、您说到我的凝胶刚性不强,我仔细观察了我的初始模型与跑了md后的凝胶层,的确两者变形很大。我凝胶层是由单个凝胶分子经过NPT/MD后的gro文件通过packmol创建的,那么请问下我在创建后是否需要对该凝胶层先跑md后,再将其放置到整个体系中呢?

3、目前我打算是,将真空层去掉,在体系上下两测各加石墨烯,xy方向为周期性,z方向非周期性,改为各向同性控压。老师这样可以吗?

作者
Author:
wzkchem5    时间: 2023-2-23 15:57
confidence 发表于 2023-2-23 04:19
谢谢老师的回复,我看了您给我的参考文献,别人的石墨烯是设置成平面结构的,因此我也考虑将其进行限制。 ...

1. 只要你研究的是不加压情况下的过程,那就不需要给石墨烯加压
2. 对,最好跑一个MD,而且我个人觉得最好不要只跑凝胶本身,而是凝胶两边都加上水,跑平衡以后再把一边的水换成无机盐溶液,这样才能保证凝胶内部的水含量是正确的
3. 原理上应该问题不大,不过也看看其他老师的意见
作者
Author:
confidence    时间: 2023-2-24 21:00
本帖最后由 confidence 于 2023-2-25 16:53 编辑
wzkchem5 发表于 2023-2-23 15:57
1. 只要你研究的是不加压情况下的过程,那就不需要给石墨烯加压
2. 对,最好跑一个MD,而且我个人觉得最 ...

很感激老师给予的答复。我按照您的意见进行了尝试,又遇到了一些新的问题。
1、石墨烯加入后想让其维持平面结构,因此我尝试将其冻结,但是这样就会导致其em时甚至连emtol=5000都达不到。后我又去论坛找相关帖子,尝试修改其二面角力常数,在其小于200时就能达到emtol=100,此时石墨烯已经有点扭曲。后跑完就发现石墨烯会发生移动 (, 下载次数 Times of downloads: 15)

基于以上情况,我想请教一下老师,是还有什么方法能使其维持住平面结构吗?或者说我就直接按照以前石墨烯扭曲的情况来分析就完事了呢

2、预计是想参考文献只对xy方向采用周期性,但是在实施的时候发现,目前我已知实现这种目的的方法,就是pbc=xy后加wall。但是我觉得加wall的话是不是就相当于石墨烯了呢?这样做法就有点多余了。(不知道我理解的对不对)请老师批评指正

3、石墨烯会不会对离子也产生吸附作用呢?





欢迎光临 计算化学公社 (http://bbs.keinsci.com/) Powered by Discuz! X3.3