24小时热门版块排行榜    

查看: 2842  |  回复: 6

舞昂琦VoVo

木虫 (小有名气)

[求助] 如何在lammps里加入新的势函数形式?

想在lammps里加入一种势函数形式,但看了一下lammps里已有的势函数源代码,感觉比较复杂,有点无从下手,不知道哪位有类似的经验,能够指教一下,万分感激~
回复此楼
我不想停止
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

jiaoyixiong

荣誉版主 (职业作家)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
zh1987hs: 金币+5, 谢谢 2012-04-10 08:06:43
舞昂琦VoVo: 金币+2, ★★★很有帮助 2012-04-10 13:51:55
lammps的势函数已经非常全面了,你仔细遇到以下lammps手册,说不定你想添加的,人家已经有了呢。http://lammps.sandia.gov/doc/Manual.html

如果没有的话,建议你首先把lammps里面的源程序里面的势函数看明白,打个比方说,你想添加一个新的bond style ,那么你把 源程序里面的bond_fene.cpp 和 bond_harmonic.cpp 两个程序看明白了,再去写你想要添加的应该就比较容易了。你还需要弄明白lammps的整个程序框架。
看看这个吧:http://lammps.sandia.gov/doc/Section_modify.html#mod_14
2楼2012-04-09 22:25:13
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

quanta

新虫 (小有名气)

【答案】应助回帖

★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
zh1987hs: 金币+4, 谢谢 2012-04-10 08:06:58
舞昂琦VoVo: 金币+2, ★★★很有帮助 2012-04-10 13:52:03
lammps现在已经很庞大了,研究其框架可以找比较早期的版本。等大致了解了之后然后在最新版本上进行代码修改。lammps是用c++写的,虽然不算标准的模块化设计,但相对gromacs的代码来说比较模块了,添加一个新的势基本不影响其他的代码。
读代码从main.cpp开始看,了解主要框架,然后重点参考你和你要加势的最像近倒那一类,比如bond_harmonic,pair_lj等。在这个基础上完成自己的修改。一般是2个文件,一个.h,一个.cpp。你需要完成的方法在bond.h,angle.h,pair.h..里面有。
然后还要修改1个文件: style.h,让lammps知道你的势。
然后就make,debug,。。。
3楼2012-04-10 00:20:22
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

舞昂琦VoVo

木虫 (小有名气)

引用回帖:
2楼: Originally posted by jiaoyixiong at 2012-04-09 22:25:13:
lammps的势函数已经非常全面了,你仔细遇到以下lammps手册,说不定你想添加的,人家已经有了呢。http://lammps.sandia.gov/doc/Manual.html

如果没有的话,建议你首先把lammps里面的源程序里面的势函数看明白, ...

恩恩,多谢前辈指教,现在还是看程序的能力不够啊~您是怎么一步步修炼看程序的能力的呀,再追问一下~
我不想停止
4楼2012-04-10 13:54:53
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

舞昂琦VoVo

木虫 (小有名气)

引用回帖:
3楼: Originally posted by quanta at 2012-04-10 00:20:22:
lammps现在已经很庞大了,研究其框架可以找比较早期的版本。等大致了解了之后然后在最新版本上进行代码修改。lammps是用c++写的,虽然不算标准的模块化设计,但相对gromacs的代码来说比较模块了,添加一个新的势基 ...

恩,早期的版本是指fortran版的么,现在准备开始看源代码了,才发现有点没头绪,读代码的能力有待提高啊,恩,多谢指教。。
我不想停止
5楼2012-04-10 13:58:00
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

quanta

新虫 (小有名气)

★ ★ ★ ★
zh1987hs: 金币+4, 谢谢 2012-04-10 15:16:30
引用回帖:
5楼: Originally posted by 舞昂琦VoVo at 2012-04-10 13:58:00:
恩,早期的版本是指fortran版的么,现在准备开始看源代码了,才发现有点没头绪,读代码的能力有待提高啊,恩,多谢指教。。

当然必须是C++的。如果找不到的话也没太大关系,看到无关紧要的就直接无视。我有07年的老版本,有些命令和现在不兼容,所以直接看现在的版本也无大碍,懂的取舍就好,没必要也没精力看完所有的代码。
另外一个很好的参考就是src下那些独立的包,比如dpd,use_xxx什么的。
另外读代码的能力真的是如你所说是“修炼”出来的,真经就是“多读多写,别无它法”。希望能对你有所帮助。
6楼2012-04-10 14:45:44
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

cgzhang_gg

铜虫 (著名写手)

引用回帖:
2楼: Originally posted by jiaoyixiong at 2012-04-09 22:25:13
lammps的势函数已经非常全面了,你仔细遇到以下lammps手册,说不定你想添加的,人家已经有了呢。http://lammps.sandia.gov/doc/Manual.html

如果没有的话,建议你首先把lammps里面的源程序里面的势函数看明白,打 ...

你好,帮忙看一下这个求助帖子 http://muchong.com/bbs/viewthread.php?tid=5946644  现在,我想就利用lammps里面的命令,先不改程序,是否就可以达到目的?
7楼2013-05-30 08:44:07
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 舞昂琦VoVo 的主题更新
信息提示
请填处理意见