| 查看: 3393 | 回复: 13 | |||
nkleof银虫 (正式写手)
|
[求助]
关于源代码 已有3人参与
|
||
|
想看看lammps源代码里面是如何计算原子间相互作用的,结果看来看去都没发现哪块是计算相互作用的,lammps的源代码写的很不容易看清楚啊。 从主程序main.cpp出发,里面除去MPI相关的函数,和创建一个lammps实例,剩下就一句话 lammps->input->file(); 调用lammps下的input类的file函数,处理输入文件。 这个file函数里面除去很多判断最后就落到parse函数,对命令进行解析,然后进入execute_command函数调用相应的命令处理函数,但是这里面没有run命令的处理函数。 以pair_style命令为例,对应的pair_style函数会将输入的命令参数(力场名称)和类force下的pair_style字符串比较(然而这个字符串的赋值始终没找到),如果符合就进入相应的settings函数。然后,这个settings函数里面一般就一行判断参数个数的语句就没了。 求高手指点一下,lammps源代码的结构是怎么样的?哪个文件里面包含了原子间相互作用的计算? |
» 收录本帖的淘帖专辑推荐
VASP |
» 猜你喜欢
职称评审没过,求安慰
已经有49人回复
26申博自荐
已经有3人回复
A期刊撤稿
已经有4人回复
垃圾破二本职称评审标准
已经有17人回复
投稿Elsevier的Neoplasia杂志,到最后选publishing options时页面空白,不能完成投稿
已经有22人回复
EST投稿状态问题
已经有7人回复
毕业后当辅导员了,天天各种学生超烦
已经有4人回复
三无产品还有机会吗
已经有6人回复
enrity
铁杆木虫 (正式写手)
- 应助: 2 (幼儿园)
- 金币: 6668.1
- 散金: 6
- 红花: 4
- 帖子: 693
- 在线: 129.1小时
- 虫号: 1982653
- 注册: 2012-09-07
- 专业: 固体力学
3楼2016-05-23 21:07:06
enrity
铁杆木虫 (正式写手)
- 应助: 2 (幼儿园)
- 金币: 6668.1
- 散金: 6
- 红花: 4
- 帖子: 693
- 在线: 129.1小时
- 虫号: 1982653
- 注册: 2012-09-07
- 专业: 固体力学
9楼2016-05-24 22:58:19
brucefan
专家顾问 (著名写手)
-

专家经验: +218 - 模拟EPI: 4
- 应助: 422 (硕士)
- 金币: 2294.8
- 散金: 1720
- 红花: 88
- 帖子: 1423
- 在线: 670.2小时
- 虫号: 3048965
- 注册: 2014-03-14
- 性别: GG
- 专业: 凝聚态物性 II :电子结构
- 管辖: 分子模拟
2楼2016-05-23 18:41:05
nkleof
银虫 (正式写手)
- 应助: 0 (幼儿园)
- 金币: 2093.2
- 散金: 649
- 红花: 5
- 帖子: 813
- 在线: 165.9小时
- 虫号: 152581
- 注册: 2006-01-02
- 专业: 凝聚态物性 II :电子结构
4楼2016-05-24 10:23:50
nkleof
银虫 (正式写手)
- 应助: 0 (幼儿园)
- 金币: 2093.2
- 散金: 649
- 红花: 5
- 帖子: 813
- 在线: 165.9小时
- 虫号: 152581
- 注册: 2006-01-02
- 专业: 凝聚态物性 II :电子结构
5楼2016-05-24 10:32:25
brucefan
专家顾问 (著名写手)
-

专家经验: +218 - 模拟EPI: 4
- 应助: 422 (硕士)
- 金币: 2294.8
- 散金: 1720
- 红花: 88
- 帖子: 1423
- 在线: 670.2小时
- 虫号: 3048965
- 注册: 2014-03-14
- 性别: GG
- 专业: 凝聚态物性 II :电子结构
- 管辖: 分子模拟
6楼2016-05-24 15:40:38
enrity
铁杆木虫 (正式写手)
- 应助: 2 (幼儿园)
- 金币: 6668.1
- 散金: 6
- 红花: 4
- 帖子: 693
- 在线: 129.1小时
- 虫号: 1982653
- 注册: 2012-09-07
- 专业: 固体力学
【答案】应助回帖
★ ★
nkleof: 金币+2, ★有帮助 2016-05-24 20:38:36
nkleof: 金币+2, ★有帮助 2016-05-24 20:38:36
|
昨天回你贴目的是领金币来的 ![]() 楼主应该是看过一些源代码了吧,程序从main函数开始,然后是就转到类 input, 在这个类中,完成了文件的读取,并解析输入命令,然后这个类中的成员函数, excute_command()就是执行每个模拟指令的,计算力的过程也是在这里完成。input类继承了Pointers类,其中的类指钍Force *force可以调用不同的pair_style, bond_style类,当然对应的计算作用力的程序也就在这个过程中完成了 看懂源代码需要花一翻功夫的,我也只看粗略看了一下,希望对你有帮助 |
7楼2016-05-24 19:00:53
nkleof
银虫 (正式写手)
- 应助: 0 (幼儿园)
- 金币: 2093.2
- 散金: 649
- 红花: 5
- 帖子: 813
- 在线: 165.9小时
- 虫号: 152581
- 注册: 2006-01-02
- 专业: 凝聚态物性 II :电子结构
8楼2016-05-24 20:38:05
10楼2016-05-24 23:11:41













回复此楼
