新手上路

- 积分
- 14
- 极客币
- 40
- 主题
- 7
- 帖子
- 17
- 注册时间
- 2018-11-5
- 在线时间
- 1 小时
- 性别
- 保密
|
先区分两个概念,源代码是指C文件,即xxx.h和xxx.cpp。势文件是指包含势能参数的文件,比如你提到的Cu_u3.eam。
1、src下所有的文件(包括子文件夹中的文件)都是源代码,其实src就是source code的简称。那些文件夹都不用管,通常是用不到的,除非你要用到的某个命令属于特定的附加包,这部分可以阅读手册中2.3 节Making LAMMPS with optional packages。LAMMPS支持的每一个功能(即in文件里的一行或几行)都对应一组源代码(就是两个C文件xxx.h和xxx.cpp),两者的名字相近,比如,功能“fix nve”,对应的源代码就是fix_nve.h和fix_nve.cpp。势函数的功能通常是pair style xxx,所以对应的源代码是pair_xxx.h和pair_xxx.cpp。
2、你可以这样理解。LAMMPS通过这两个文件产生经验势模型(即函数形式)。除了模型,经验势都有参数。有些势能参数少,可以通过in文件语句来设置;有些势能参数非常多,这时通常就把这些参数都放到势文件中,然后使用时直接调用即可。
3、LAMMPS就是一个大的C文件集,LAMMPS的编译就是指src下所有文件的编译。所以,如果要加入LAMMPS原来没有的势能,必须写新的源代码,放到src下,然后重新编译。这就是新势能源代码的编译。势文件是不用编译的,只需要把它放在你进行计算的当前目录下,然后在in文件中直接调用即可。
总结一下,源代码xxx.h,xxx.cpp和势文件xxx.eam(举例)都必须自己写,写完后把前两个放到src下,重新编译LAMMPS,最后一个不用编译,后面在in文件中直接调用。建议找一个LAMMPS已有的与你目标势能相近的源代码,仿照着写就行。LAMMPS编译可以阅读手册,也可以参考论坛中其他大神的帖子。很多帖子都讲得很详细。
|
|