计算化学公社

标题: 读取周期性体系.grd文件报错(已解决) [打印本页]

作者
Author:
qczgzly    时间: 2018-4-16 16:44
标题: 读取周期性体系.grd文件报错(已解决)
本帖最后由 qczgzly 于 2018-4-18 14:55 编辑

各位老师好!

我用DMol3计算了一个周期性体系,得到电子密度的.prd文件。用Multiwfn3.3.9读取时报错,信息如下:

Error: Only cubic cell is supported in Multiwfn! Press ENTER to exit


该文件在MS里可正常上色显示。请问问题出在哪里呢?我希望用生成的.prd文件实现像.cube文件一样的文件间加减运算,不知还有没有其它方法可以实现?谢谢!


----分割线----

根据2楼@卡开发发 的提示我利用Multiwfn3.5中的相关语句做了一个极其简陋的Fortran小程序可以对非正交格子的两个.grd文件间做减法,要求两个文件的格点个数一致。生成的.grd新文件可直接用MS打开编辑。另外期待@sobereva 师兄在Multiwfn中开发可以直接计算非正交格子.grd文件生成格点图的功能~

作者
Author:
卡开发发    时间: 2018-4-16 18:11
Multiwfn不支持非正交的格子。grd的格式读取并不难,这是很久以前sob前辈给我的回复
The fastest varying index通常为1,代表x方向的指数变化是最快的,也就是说,读取下面格点数据值时最内层循环的是x序号,例如这样读取
do k=1,nz
        do j=1,ny
                do i=1,nx
                        read(10,*) cubmat(i,j,k)
                end do
        end do
end do

Multiwfn程序的fileIO.f90里subroutine readgrd就是读取.grd文件的代码,可供参考

非立方格点情况的.grd文件原则上可以转换为.cub,只要适当定义平移矢量即可

如果非正交的格子只是做加减,其实对应的数据做加减就行,写个matlab或python程序难度不大。
作者
Author:
qczgzly    时间: 2018-4-16 19:53
卡开发发 发表于 2018-4-16 18:11
Multiwfn不支持非正交的格子。grd的格式读取并不难,这是很久以前sob前辈给我的回复

如果非正交的格子只 ...

解答好详细!让我试一下。非常感谢~
作者
Author:
wangyj    时间: 2018-4-18 09:56
可以改改标题吗,我也用dmol3,算出来的电荷密度文件是.grd的吧,你标题写错了。
作者
Author:
qczgzly    时间: 2018-4-18 11:12
wangyj 发表于 2018-4-18 09:56
可以改改标题吗,我也用dmol3,算出来的电荷密度文件是.grd的吧,你标题写错了。

谢谢!我已经改正了~
作者
Author:
卡开发发    时间: 2018-4-18 17:17
继续做回复,这样读取的话如果对于n个边界相同格点数目相同的grd文件进行格点对应的加减乘除无论是正交或非正交都行得通,甚至这种情况进行一次循环读到一列数组进行操作也可以。但要是做导数之类的就很麻烦。如果有人弄得清楚非正交格子的grd,可以讨论一下,这样其实可以处理更多密度相关的信息。
作者
Author:
qczgzly    时间: 2018-4-18 19:01
卡开发发 发表于 2018-4-18 17:17
继续做回复,这样读取的话如果对于n个边界相同格点数目相同的grd文件进行格点对应的加减乘除无论是正交或非 ...

赞同~我就是直接按一维数组读取计算的。我猜Sob之前应该研究过,可能因为过于复杂,就没有纳入Multiwfn的处理范围。。
作者
Author:
sobereva    时间: 2018-4-19 05:43
qczgzly 发表于 2018-4-18 19:01
赞同~我就是直接按一维数组读取计算的。我猜Sob之前应该研究过,可能因为过于复杂,就没有纳入Multiwfn ...

Multiwfn主要研究范畴是孤立体系,没有什么必要用非正交格子,所以为了减少麻烦就没有考虑这个
以后有时间会开发用于周期性体系的波函数分析程序,届时应该会明确考虑非正交格子问题
作者
Author:
qczgzly    时间: 2018-4-19 08:41
sobereva 发表于 2018-4-19 05:43
Multiwfn主要研究范畴是孤立体系,没有什么必要用非正交格子,所以为了减少麻烦就没有考虑这个
以后有时 ...

谢谢师兄。




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