24小时热门版块排行榜    

CyRhmU.jpeg
查看: 724  |  回复: 9
当前主题已经存档。
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

liuyalihd

铜虫 (小有名气)

[交流] 【求助】Ewald长程力中Fourier空间形状问题?

我看某文献1中计算Ewald长程力时,分成实空间和Fourier空间.
实空间中其实还是在截断半径内计算两个粒子之间的作用. Fourier空间是在半球形空间(z轴0到nz, y轴从-ny到ny, x轴从-nx到nx)内计算.

但在gromacs4.0.5中,我看了Ewald.c的代码,发现它没有分成实空间和Fourier空间两部分计算.它似乎仅在Fourier空间中计算.
最让我奇怪的是它的Fourier空间不是半球形,而是在半正方体(z轴0到nz, y轴从-ny到ny, x轴从-nx到nx)中计算.

请问为何gromacs4.0.5中计算Ewald的Fourier空间形状不是传统的球形呢?
gromacs4.0.5中计算Ewald是咋回事?为何没有实空间的计算呢?

[ Last edited by zdhlover on 2009-11-15 at 02:29 ]
回复此楼

» 猜你喜欢

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zixi

金虫 (小有名气)

★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
yjcmwgk(金币+2,VIP+0): 9-4 13:43
没读过gromacs的代码,不过感觉是不是这样的,你可以读一下代码求证。

1 : 关于只有Ewald空间的部分
     一般将Ewald求和分成Real空间和Ewald空间,感觉这样的好处是,如果需要对长程力做截断处理而不做Ewald求和,那么只要取Ewald的Real空间部分,并取高斯分布电荷的参数alpha为0,就可以了,不需要另外写代码。如果需要Ewald求和,那么直接在Real空间上添加上Ewald空间的能量值就可以了。这样增加的代码的重用性。Real空间的求和可能在其他文件里面,你仔细找找。

2. Ewald空间使用半正方形
    我看你描述的k值的半正方形和半球形的取值范围没有多大区别嘛?!都是z轴0到nz, y轴从-ny到ny, x轴从-nx到nx。
既然Ewald空间的求和随着k值的增加迅速收敛的,那么我只要取足够大的k值,使其包含所必需的球形空间,所得的结果差别多少呢? 而且实际操作起来,正方形空间比球形空见更容易处理,为什么不用正方形空间呢?
6楼2009-09-04 02:30:07
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 10 个回答

bay__gulf

金虫 (著名写手)

刘苏州

★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
yjcmwgk(金币+2,VIP+0):感谢交流! 9-2 09:20
gmx 为保证速度使用了大量的数学和编程技巧,如此一来就失去了可读性
你再仔细看看,可能有你没有注意到的地方

仅作参考,我功力没你深,还没有到阅读源代码的级别
2楼2009-09-01 20:52:07
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

liuyalihd

铜虫 (小有名气)

谢谢bay__gulf

很惭愧, 我是写code的, 不太懂MD.
我想问从理论上说, Fourier空间应该是球形的吧! 我没理解错吧?
3楼2009-09-01 22:22:09
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yongleli

木虫 (正式写手)

★ ★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
lei0736(金币+3,VIP+0):谢谢 9-2 16:11
没听说过fouirer空间是球形的。。。
Ewald求和涉及一个正格空间到倒格空间的变换。
这两个空间只是单位向量不同,
一个是\vec{a}_i,i=1,2,3
一个是\vec{b}_i=2\pi\vec{a}_{j}\vec{a}_{k}/\vec{a}_i\dot\vec{a}_j\cross\vec{a}_k; i=1,2,3

所以倒空间对称性随正空间特征而定。
4楼2009-09-02 15:01:01
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通表情 高级回复(可上传附件)
信息提示
请填处理意见