| 查看: 727 | 回复: 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 ] |
» 猜你喜欢
导师想让我从独立一作变成了共一第一
已经有9人回复
博士读完未来一定会好吗
已经有23人回复
到新单位后,换了新的研究方向,没有团队,持续积累2区以上论文,能申请到面上吗
已经有11人回复
读博
已经有4人回复
JMPT 期刊投稿流程
已经有4人回复
心脉受损
已经有5人回复
Springer期刊投稿求助
已经有4人回复
小论文投稿
已经有3人回复
申请2026年博士
已经有6人回复
bay__gulf
金虫 (著名写手)
刘苏州
- 模拟EPI: 8
- 应助: 9 (幼儿园)
- 贵宾: 4.85
- 金币: 2332.8
- 红花: 1
- 帖子: 1344
- 在线: 271小时
- 虫号: 592012
- 注册: 2008-09-03
- 专业: 理论和计算化学
- 管辖: 分子模拟
2楼2009-09-01 20:52:07
liuyalihd
铜虫 (小有名气)
- 应助: 0 (幼儿园)
- 金币: 117.7
- 散金: 577
- 帖子: 59
- 在线: 8.7小时
- 虫号: 531310
- 注册: 2008-03-23
- 专业: 计算机体系结构
3楼2009-09-01 22:22:09
yongleli
木虫 (正式写手)
- 模拟EPI: 1
- 应助: 93 (初中生)
- 金币: 3769.1
- 散金: 369
- 红花: 24
- 帖子: 764
- 在线: 101.3小时
- 虫号: 303595
- 注册: 2006-12-03
- 专业: 原子和分子物理
4楼2009-09-02 15:01:01
liuyalihd
铜虫 (小有名气)
- 应助: 0 (幼儿园)
- 金币: 117.7
- 散金: 577
- 帖子: 59
- 在线: 8.7小时
- 虫号: 531310
- 注册: 2008-03-23
- 专业: 计算机体系结构
|
请问: yongleli 因为我看code中有三个嵌套for循环 (分别是 nz : z轴0到5, ny: y轴从-5到5, nx: x轴从-5到5), 内有个条件判断,镜像空间与真实空间之间距离要小于25. 这也就近似相当于从真实模拟空间开始向外(这个外是指无穷无尽的镜像)扩展,x轴(y轴)正负各镜像5份,z轴仅仅往正方向镜像5份(这是为了计算量减半),对这些镜像出来的空间计算Fourier. 关键是代码中有个if语句,判断这个镜像空间与真实空间(真实空间为0,0,0)的距离小于25才真正做计算.这不就是相当于在真实空间外镜像出近似半球形的空间做计算吗? 我把代码写在下面: 请多指教! 计算三角函数并做成表; for (nz = 0; nz <= 5; nz ++) { for (ny = - 5; ny <= 5; ny ++) { for (nx = - 5; nx <= 5; nx ++) { len=nx*nx+ny*ny+nz*nz; if (len > 5*5 ) continue; 查表,并逐个粒子计算Fourier; } } } |
5楼2009-09-02 22:02:00
★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
yjcmwgk(金币+2,VIP+0): 9-4 13:43
小木虫(金币+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
liuyalihd
铜虫 (小有名气)
- 应助: 0 (幼儿园)
- 金币: 117.7
- 散金: 577
- 帖子: 59
- 在线: 8.7小时
- 虫号: 531310
- 注册: 2008-03-23
- 专业: 计算机体系结构
|
致 zixi: 关于您的第一条:非常感谢,我再找找real空间的计算。 关于您的第二条: 1)原理部分: 前面是我没有讲清楚。球形空间是Ewald求和法的周期作用区域,这在很多书中都提到了(如:分子模拟-陈正隆,9.2节 图9-5)。 2)代码部分:另外,我给出的代码不是gromacs的。但是我看在gromacs的ewald.c(src/mdlib/ewald.c)中有函数do_ewald(),我看代码非常像是计算Ewald中的Fourier计算。但是它没有if判断镜像是否在球形空间中,我认为应该是球形才计算,在正方体空间计算不符合原理呀!? 3)正方体空间与球形空间相比,去掉if语句的开销不提,球形空间减少了一半的计算量。 |
7楼2009-09-04 12:37:02
yongleli
木虫 (正式写手)
- 模拟EPI: 1
- 应助: 93 (初中生)
- 金币: 3769.1
- 散金: 369
- 红花: 24
- 帖子: 764
- 在线: 101.3小时
- 虫号: 303595
- 注册: 2006-12-03
- 专业: 原子和分子物理
★ ★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
yjcmwgk(金币+3,VIP+0):感谢您的真知灼见。管理层决定:授予您2010年炸药奖 9-5 09:56
小木虫(金币+0.5):给个红包,谢谢回帖交流
yjcmwgk(金币+3,VIP+0):感谢您的真知灼见。管理层决定:授予您2010年炸药奖 9-5 09:56
|
我又看了一下理论, 在Computer Simulations of Liquids里,pp. 157, Ewald求和的范围是在球形区域里的。并不是说福利叶变换是把实空间变成了球形空间。 我编的Ewald求和用的是pp.159页的公式,Gromacs没看过,应该跟书里那个公式差不多吧。建议最好看看原始文献。有一本中文书里详细解释了这个理论和算法。 黄昆,Max Born,晶格动力学,北大版。 很老的书了,但是近年出了新版。 |
8楼2009-09-04 22:43:26
liuyalihd
铜虫 (小有名气)
- 应助: 0 (幼儿园)
- 金币: 117.7
- 散金: 577
- 帖子: 59
- 在线: 8.7小时
- 虫号: 531310
- 注册: 2008-03-23
- 专业: 计算机体系结构
|
致: yongleli 非常感谢! 1)Ewald求和的范围是在球形区域里的. a)它的实空间计算是在模拟系统自身(周期性边界条件)计算的, 截断半径是L/2. L是模拟系统的边长(假设立方体空间). 这里与球形空间没关系! b)它的Fourier空间计算是对镜像出的多个镜像系统计算,多个镜像组成近似球形空间的. 对某个镜像空间计算的前提是它必须在极限球内,那么才对其做Fourier计算啦! 上述是我看The Art of Molecular Dynamics Simulation得出的.有错误请指正! 2)我看了Computer Simulations of Liquids中的Ewald求和.它给了Fortran程序F22计算Ewald的.可原代码要给UK的人写信,或者从USA上ftp下载(见P343).那个ftp我上不去,请有源代码的发给我,谢谢了! 在页面http://muchong.com/html/200803/729220.html中 lei0736 给出的地址http://www.fs2you.com/files/69a170a6-eddf-11dc-93a7-0014221b798a/我登不上! 我信箱liuyalihd@163.com |
9楼2009-09-05 00:02:34
yongleli
木虫 (正式写手)
- 模拟EPI: 1
- 应助: 93 (初中生)
- 金币: 3769.1
- 散金: 369
- 红花: 24
- 帖子: 764
- 在线: 101.3小时
- 虫号: 303595
- 注册: 2006-12-03
- 专业: 原子和分子物理
10楼2009-09-05 12:29:58













回复此楼