计算化学公社

标题: 求助:Fe2O3做结构优化时不收敛该如何解决? [打印本页]

作者
Author:
woshixuebaxixi    时间: 2024-3-27 17:13
标题: 求助:Fe2O3做结构优化时不收敛该如何解决?
本帖最后由 woshixuebaxixi 于 2024-3-28 09:09 编辑

磁性体系计算--从入门到放弃 具体的结果放在了ppt中方便老师查看
请求各位老师帮忙看一下学生做的这几个关于Fe2O3的计算,多次尝试调参数都无法成功收敛,刚入门cp2k跪求老师们的指导!!!
一. 各种参数的设置
1.大体系(原子数200左右)、结构用gaussview建立(110)晶面 删除部分原子、晶胞体积较大、原子数较多、对所有O2-设置了&BS字段、Fe的磁矩设置为3.7(由上往下分别为正负)、 自旋多重度设置为1、K点设置为221、 EPS_DEFAULT设置为1.0E-12、设置为二维XY周期性、 PSOLVER MT、设置CUTOFF400 REL_CUTOFF 55、 MAX_SCF 128 EPS_SCF 1.0E-06、使用对角化、混合的方式计算ALPHA 0.4 NBROYDEN 8、做变胞优化、EXTERNAL_PRESSURE  1.01325、限制未加、使用BFGS算法置信半径0.2、对下两层原子进行固定。
2.使用较小的晶胞、采用221扩胞、不满足原子比、分别对两层Fe进行&BS字段的设置分别加U=2、对所有O2-设置了&BS字段、 自旋多重度设置为1、设置CUTOFF350 REL_CUTOFF 50、MAX_SCF 128 EPS_SCF 5.0E-06、开OT DIIS 2PNT MAX_SCF 20 EPS_SCF 1.0E-06、使用BFGS算法置信半径0.2
3.使用较小的晶胞、不扩胞、不满足原子比、使用DZVP-MOLOPY-SR-GTH计算、分别对两层Fe进行&BS字段的设置分别加U=2、对所有O2-设置了&BS字段、 自旋多重度设置为1、设置CUTOFF350 REL_CUTOFF 50、MAX_SCF 128 EPS_SCF 1.0E-06、使用对角化方法,混合的方式计算ALPHA 0.4 NBROYDEN 8 、MAX_SCF 20 EPS_SCF 1.0E-06、使用BFGS算法置信半径0.2、固定下两层原子。
尝试增加PREFERRED_DIAG_LIBRARY  SCALAPACK  力变大

4.使用较小的晶胞、 直接加入PREFERRED_DIAG_LIBRARY  SCALAPACK、不扩胞、重新切面满足原子比、分别对两层Fe进行&BS字段的设置、不加U、对所有O2-设置了&BS字段、使用K4,4,1、自旋多重度设置为1、设置CUTOFF400 REL_CUTOFF 55、MAX_SCF 128 EPS_SCF 1.0E-06、采用对角化的方法、混合的方式计算ALPHA 0.4 NBROYDEN 8 、使用BFGS算法置信半径0.2  结果:跑40步不收敛
修改参数:使用上面的restart文件、开启OT方法、 ALGORITHM  STRICT 、MINIMIZER  DIIS 、SPS_SCF     9.9999999999999995E-07 、MAX_SCF  20、不设置K点 结果:不收敛且能量一直在上升

修改参数:使用上面的restart文件、加入PREFERRED_DIAG_LIBRARY  SCALAPACK、分别对两层Fe进行&BS字段的设置、不加U、对所有O2-设置了&BS字段、修改置信半径为0.05、使用K5,5,2、自旋多重度设置为1、设置CUTOFF450 REL_CUTOFF 55使用对角化的方法、混合的方式计算ALPHA 0.4 NBROYDEN 8 、结果:不收敛

修改参数:使用上面的restart文件、加入PREFERRED_DIAG_LIBRARY  SCALAPACK、加入USE_RAT_FUN_OPT  T、分别对两层Fe进行&BS字段的设置、不加U、对所有O2-设置了&BS字段、修改置信半径为0.05、使用K5,5,1、自旋多重度设置为1、设置CUTOFF450 REL_CUTOFF 55、使用对角化的方法、混合的方式计算ALPHA 0.4 NBROYDEN 8 、EPS_DEFAULT 1E-14、结果:不收敛

5.将下载的Fe2O3的cif文件直接放入cp2k对不同层Fe使用BS字段设置电子组态,设置自旋多重度为1,设置k点为442,设置CUTOFF450 REL_CUTOFF 55、使用对角化的方法、混合的方式计算ALPHA 0.4 NBROYDEN 8,使用BFGS的方法置信半径设置0.05,固定盒子进行优化。跑了190步不仍不收敛。
6.将100原子左右的Fe2O3放入、使用CG方法计算、分别对两层Fe进行&BS字段的设置、对所有O2-设置了&BS字段、K点设置222 自旋多重度设置为1、设置CUTOFF350 REL_CUTOFF 50、MAX_SCF 128 EPS_SCF 5.0E-06、使用对角化方法,混合的方式计算ALPHA 0.1 NBROYDEN 16。跑了22步不仍不收敛。
修改设置CUTOFF800 REL_CUTOFF 55、K点222 跑了19步不仍不收敛。
7.GFN1-xTB算收敛但不合理:大体系(大约200原子)自旋多重度设置为3、使用OT(Multiwfn默认产生的一些变量),使用GFN1-xTB方法,跑了439步终于收敛,但内部Fe原子的排列也趋于混乱
8.还是选择使用PEB/DZVP-MOLOPT-SR-GTH进行结构优化,先用VASP进行221k点的结构优化,再放入cp2k内,对不同层Fe使用BS字段设置电子组态,设置自旋多重度为2,设置k点为442,设置CUTOFF800 REL_CUTOFF 60、使用对角化的方法、混合的方式计算ALPHA 0.1 NBROYDEN 16,使用BFGS的方法置信半径设置0.2,固定盒子进行优化。
9.感觉是因为BS设置,将不同层Fe设置磁矩为1(考虑了正负)Co设置磁矩为0.5,设置自旋多重度为6,设置k点为442,设置CUTOFF800 REL_CUTOFF 60、使用对角化的方法、混合的方式计算ALPHA 0.1 NBROYDEN 16,使用BFGS的方法置信半径设置0.5,固定盒子进行优化。结果:算了5个小时卡在了第一步 又尝试了置信半径改为0.02 结果并未变好
球球各位老师给我提一些建议吧!!!或者有没有想过体系的老师可以帮帮我


作者
Author:
sobereva    时间: 2024-3-28 01:30
与其文字描述一大堆,远不如直接把输入文件上传,否则别人都没法准确知道你当前算的体系长什么样,若有硬伤也无从判断
作者
Author:
woshixuebaxixi    时间: 2024-3-28 09:00
好的老师 我这就上传

作者
Author:
sigma-jlu    时间: 2024-4-1 20:17
cp2k的k点支持不是很完善,设置k点为442的优化,我在2023.1版中也未曾跑成功过,如果你使用2024版,可能会好些,但我还没试过2024版,无法进一步点评。
作者
Author:
woshixuebaxixi    时间: 2024-4-2 08:24
老师 我上面使用的就是2024版本的 就是跑的非常慢 很难收敛
作者
Author:
woshixuebaxixi    时间: 2024-4-2 08:25
老师 如果我用VASP 使用GGA-PBE算好结构优化,然后扩胞放在cp2k里面算能量等一系列的性质可以吗?
作者
Author:
guyingbing    时间: 2026-1-30 20:27
复杂磁性体系,我发现用这个Mixing更好收敛,特别是可以将步数设定到1000 步左右,肯定能收敛。     
  &MIXING T
         METHOD KERKER_MIXING #  BROYDEN_MIXING # KERKER_MIXING
         ALPHA  0.01
         BETA 0.8
         NBUFFER 16
       &END MIXING

作者
Author:
Assiduitas    时间: 2026-1-31 09:40
guyingbing 发表于 2026-1-30 20:27
复杂磁性体系,我发现用这个Mixing更好收敛,特别是可以将步数设定到1000 步左右,肯定能收敛。     
  &M ...

单个step设置这么高的SCF数量,这个计算耗时是不是也不可接受?有已经验证过的体系的.out做参考吗?以我个人经历:如果SCF已经设置了300,还不收敛我一般也就放弃了。
作者
Author:
guyingbing    时间: 2026-1-31 12:53
Assiduitas 发表于 2026-1-31 09:40
单个step设置这么高的SCF数量,这个计算耗时是不是也不可接受?有已经验证过的体系的.out做参考吗?以我 ...

先用KERKER收敛后。得到原子的正确磁矩后。再按照正确磁矩重新更新inp文件中的磁矩或BS参数,再使用BROYDEN_MIXING 计算。就能收敛得好不错。
作者
Author:
Assiduitas    时间: 2026-2-1 15:48
guyingbing 发表于 2026-1-31 12:53
先用KERKER收敛后。得到原子的正确磁矩后。再按照正确磁矩重新更新inp文件中的磁矩或BS参数,再使用BROYD ...

请问这个使用KERKER收敛得到磁矩这个应该怎么操作?对于.out的输出形式有什么要求吗?
正确的磁矩以及BS信息从哪里获取呢?有文件或者截图可以分享吗?谢谢!!!
作者
Author:
guyingbing    时间: 2026-2-1 19:44
DFT section 下     &PRINT
      &MULLIKEN
        PRINT_ALL F #If T, then printing full net AO and overlap population matrix
      &END MULLIKEN
    &END PRINT
就可以输出




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