24小时热门版块排行榜    

CyRhmU.jpeg
南方科技大学公共卫生及应急管理学院2026级博士研究生招生报考通知(长期有效)
查看: 1886  |  回复: 10
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

baoluolove

铜虫 (小有名气)

[求助] 请问编程计算配位数时如何处理周期性边界条件?已有1人参与

自己按照老虎大王编程思路尝试编程计算了配位数,可是发现和文献有一定的出入,想想很有可能是没有处理周期性边界条件,请问专家们周期性边界条件如何在编程中进行处理的,十分感谢~
回复此楼
我总会到达(。•ˇ‸ˇ•。)
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

baoluolove

铜虫 (小有名气)

引用回帖:
5楼: Originally posted by ChemiAndy at 2014-07-16 02:10:17
会哭的孩子有奶吃

6楼2014-07-17 10:54:44
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 11 个回答

lsloneil

专家顾问 (正式写手)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
baoluolove: 金币+5, ★★★很有帮助 2014-07-12 08:39:37
baoluolove: 金币+5, ★★★★★最佳答案, 已经搞定啦~ 2014-07-12 09:40:07
月只蓝: 金币+3, 应助指数+1, 感谢指导! 2014-07-16 16:34:48
Assuming the simulation box lengths along x,y,z directions are lx,ly,lz,
you want to calculate the distance between particle i and j while removing the periodic boundary conditions

This is what I did in Fortran

xij = xi - xj - nint((xi-xj)/lx)*lx
yij = yi - yj - nint((yi-yj)/ly)*ly
zij = zi - zj - nint((zi-zj)/lz)*lz
rij = sqrt(xij*xij + yij*yij + zij*zij)


nint is a fortran function that gives the nearest integer of a real number. I'm sure you can find similar functions in C++ or other programing languages.

» 本帖已获得的红花(最新10朵)

3楼2014-07-12 00:58:19
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

baoluolove

铜虫 (小有名气)

送红花一朵
引用回帖:
3楼: Originally posted by lsloneil at 2014-07-12 00:58:19
Assuming the simulation box lengths along x,y,z directions are lx,ly,lz,
you want to calculate the distance between particle i and j while removing the periodic boundary conditions

This is what  ...

Thanks a lot ! Great help for me !
我总会到达(。•ˇ‸ˇ•。)
4楼2014-07-12 08:38:44
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ChemiAndy

木虫 (正式写手)


引用回帖:
2楼: Originally posted by baoluolove at 2014-07-11 02:13:59
专家呢~

会哭的孩子有奶吃
5楼2014-07-16 02:10:17
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见