计算材料学常用资源下载
本页面提供本站(我爱搜集网 http://www.52souji.net)所有可下载内容。持续更
新!
要了解详细的使用方法,可在本站右侧搜索框中搜索相关关键词。
内容目录 [隐藏]
• 一. 软件下载
o 1. 可视化软件
o 2. 计算程序
o 3. 科学分析软件
• 二. 代码下载
o 1. 格式转换
o 2. 计算方法
• 三. 标准与规范下载
• 四. 势函数下载
一. 软件下载
1. 可视化软件
atomeye:Linux 下大规模原子可视化软件
VESTA:功能强大的傻瓜式可视化软件
VMD: a molecular visualization program for displaying, animating, and analyzing
large biomolecular systems using 3-D graphics and built-in scripting.
XCrySDen: a crystalline and molecular structure visualisation program aiming at
display of isosurfaces and contours, which can be superimposed on crystalline
structures and interactively rotated and manipulated. It can run on most UNIX
platforms, without any special hardware requirements.
2. 计算程序
MD & MC
LAMMPS: A powerful, efficient, parallelized, well documented, easy extendable and
open source MD code.
Gromacs: Another nice free MD code.
DL-POLY: a general purpose classical molecular dynamics (MD) simulation
software. open source.
NAMD: a parallel molecular dynamics code designed for high-performance
simulation of large biomolecular systems.
Ab initio (DFT)
VASP: 功能强大、使用简单、广泛使用的第一性原理计算程序,非免费
Quantum-Espresso: A nice, free DFT code
Ab init: Another popular open source DFT code
SIESTA: a linear scaling DFT code
3. 科学分析软件
1stOpt:即学即会的非线性拟合软件
二. 代码下载
1. 格式转换
xyz 转 lammps
vasp 转 lammps
2. 计算方法
粒子群优化算法 PSO
计算多边形面积
计算多面体体积
判断点在多面体内
判断两条之前平行
verlet 积分算法
verlet 速度算法
三. 标准与规范下载
晶格常数表
元素结合能表
体积热容量表
热膨胀系数表
体积模量表
四. 势函数下载
Potentials: A collection of EAM potentials for some metal and alloys.
Potfit: A code to fit atomic potentials from ab initio data.
LAMMPS 常用势函数下载
LAMMPS 相关文件功能简介
由 www.52souji.net 发表于 2012 年 5 月 15 日 || 3,050 浏览
这篇文章是为初学 LAMMPS 的同学准备的,让你了解与 LAMMPS 相关的文件及
其作用,具体的介绍会在其他博文中进行。
整体上来说,与 LAMMPS 相关的文件可以分为用于输入到 LAMMPS 的文件和
从 LAMMPS 输出的文件,下面分别介绍。
内容目录 [隐藏]
• 输入到 LAMMPS 的文件
o 1. 输入脚本
o 2. 数据文件
o 3. 重启动文件
• 从 LAMMPS 输出的文件
o 1. 日志文件
o 2. 结构文件
o 3. 重启动文件
o 4. 任意文本文件
输入到 LAMMPS 的文件
(这里没有直接叫“输入文件”,是因为有一个专门的文件叫做输入文件。)
主要包括三类,分别是输入脚本(input script),数据文件(data file)和重启动
(restart)文件。
1. 输入脚本
input script,文本文件,必须。
不少人习惯直接叫它“输入文件”,我为了区别“输入的文件”,采用直译叫法“输入
脚本”。又因为习惯使用 in. 作为这个文件的前缀,所以也常常被称作“in 文件”。
既然被称为 script,自然是因为里面包含了很多 LAMMPS 的命令。LAMMPS 运
行的过程就是一行一行执行这个文件中的命令的过程,命令执行完了,LAMMPS
的运行也就结束了。因此,我们在使用 LAMMPS 进行计算模拟的时候,一个很重
要的前提和核心就是提供可执行的正确的输入文件。
具体如何写 LAMMPS 输入文件,是一个很大的问题,我会在以后将我自己的经验
(虽然不是很多)慢慢介绍给大家。
2. 数据文件
data file,文本文件,非必须。
我们知道要进行一个模拟计算,必须有一个初始构型,那么这个数据文件( data
file )就是用来存放要模拟体系的初始构型的。简单一点的,里面就包含原子的坐
标信息;复杂一点,里面会包含键长、键角等信息。
之所以它是一个非必须文件,是因为一些简单的初始构型,如 FCC 等,可以直接
使用 LAMMPS 提供的命令进行创建。一般,只有当模型比较复杂时,才会使用这
个文件。
3. 重启动文件
restart,二进制文件,非必须。
顾名思义这个文件是用于重启动一个计算,这对于减少重复计算会有很大的帮助。
刚开始接触可能有点难理解,我举个例子说明下。
比如要运行一个由 A-B-C 三段组成的计算任务,B 是以 A 最终状态为初态开始,C
是以 B 的最终状态为初态开始,那么我就可以在 A 计算结束后写一个 restart 文
件,在运行 B 的时候读入;在 B 结束的时候再写一个 restart 文件,在运行 C 的时
候读入。这样做,可以保证你在要重新进行 B 的计算时,不需要重复计算 A;重
新计算 C 的时候,可以不用重复计算 A-B。
从 LAMMPS 输出的文件
主要包括日志(log)文件,结构文件,重启动(restart)文件和任意文本文件。
默认情况下,日志文件是一定会输出的,其他的都是有输入脚本文件中的命令决定
是否输出的。
1. 日志文件
log:LAMMPS 在运行过程中,默认会产生日志文件,用于记录命令执行的情况。
默认文件名为 log.lammps。
2. 结构文件
LAMMPS 可以输出多种不同类型的结构文件,用于记录某一时刻体系的构型(在
LAMMPS 里叫做 snapshot,即“快照”),但都是使用同一个 dump 命令输出。
主要的结构文件类型包括 cfg 格式,xyz 格式,lammps 格式,图像格式等。
3. 重启动文件
restart:与前面提到的输入文件一样。实际上,只有先使用命令产生 restart 文
件,才有可能有前面的输入,也就是所谓的“重启动”。
4. 任意文本文件
LAMMPS 中有几个命令可以实现将模拟中定义的某些变量以一定的格式输出到文
件。因为这类文件格式相对自由,所以我称这类文件为任意文本文件。
LAMMPS 常用建模方法总结
由 www.52souji.net 发表于 2012 年 5 月 16 日 || 5,327 浏览
建模是进行材料模拟的第一步,这里对 LAMMPS 常用的建模方法进行总结(我平
时用到的,难免不全面)。
概况来说,建模方法有两种:内部建模和外部建模。
内容目录 [隐藏]
• 内部建模
• 外部建模
o data file 基本格式
o data file 获取方式
内部建模
内部建模,即使用 LAMMPS 提供的命令建立模型。这种方法主要用于构建比较简
单和标准的体系。
相关命令主要有 4 个:
lattice:定义晶格类型;
region:定义模拟盒子的大小;
create_box:创建模拟盒子;
create_atoms:在模拟盒子中创建原子。
当然,创建模型不仅限于这些命令,还有一些其他的命令,比如 delete_atoms
等。事实上,我看到有些大牛仅仅使用 LAMMPS 的内置命令,就建立了很复杂的
模型。
下面简单举一例:构建 6x6x6 的 FCC-Cu 的晶胞。
输入脚本:in.fcc-Cu
# model of FCC-Cu, 6x6x6
boundary p p p
units metal
atom_style atomic
######################################
lattice fcc 3.61
region box block 0 6 0 6 0 6
create_box 1 box
create_atoms 1 box
######################################
pair_style eam
pair_coeff * * /home/xbduan/lammps/potentials/Cu_u3.eam
dump 1 all cfg 1 a*.cfg id type xs ys zs
dump_modify 1 element Cu
run 0
第 8~11 行即为建模部分。这里使用的命令参数很简单,不做过多介绍。
稍微复杂的模型构建,我会专门开博文介绍。
外部建模
外部建模主要是通过数据文件 data file 实现的,即只要你将你需要的构型以 data
file 所要求的格式保存成文件,就能够被 LAMMPS 读入,而建立模型。
假如已经有了能够反映模型的 data file 后,就可以直接使用 read_data 命令完成
建模了。
data file 基本格式
如下图所示,这给出的是 data file 最基本的格式,只包含原子坐标,而不包含键
能键角等参数,一般的合金体系是这种类型。
上面的注释已经比较明确了,不多解释。更多可以参考 LAMMPS 文档。
data file 获取方式
实际上,只要你最后得到的 data file 的格式类似于上面(不包括注释),就可以
被 LAMMPS 读入,而不管你是采用什么途径。
目前来说,比较遗憾的是还没有任何一种软件支持直接导出 data file 的文件格
式,但是因为 data file 文件格式还比较简单,所以还是比较容易获得的。
1. 软件导出+手动编辑
很多软件,如 Material Studio,具有强大的建模功能,而且支持很多种文件格式
的导出。遗憾的是,目前还不支持直接导出 data file 格式。
(1)使用建模软件完成建模后,导出 xyz 文件格式(因为 xyz 文件格式与 data
file 格式比较相近,比较容易修改);
(2)使用文本编辑器,参考上图所示的 data file 的文件格式编辑 xyz 文件,主要
是增加模拟盒子的参数。
这种方法适用于构型相对简单、原子数不多的情况下,否则编辑的工作量会很大。
我写过一个 matlab 脚本,可以完成这种格式转换:【xyz2lmp: 将 xyz 格式转成
lammps 的 data file】
2. 程序产生
使用程序建模是最自由的方式,因为它几乎不受任何限制。不论你的模型多么复
杂,总能够使用一定的算法完成建模。
但,这要求你对你要建立的模型由深入的理解和有一定的编程能力来实现你的算
法。
对于一些复杂的模型,如位错、多晶等缺陷,几乎只能用这种方法实现(如果你能
够在网上找到现成的代码,You are lucky!)。
xyz2lmp: 将 xyz 格式转成 lammps 的 data file
目前,大部分的建模软件都支持导出 xyz 文件格式,而并不支持直接导出 lammps
所需要的 data file 文件格式。因此将 xyz 文件格式转换成 lammps 的格式是很有必
要的。
原子数比较少的,可以自己手动编辑完成,对于原子数比较多的,实在比较麻烦。
所以就写了下面的脚本可以帮助完成这一过程。
目前,程序只适用于合金体系,即不考虑力场参数(我的体系都属于这方面)。
因为 xyz 文件格式不包括晶胞信息,而 lammps 的 data file 文件是需要晶胞信息
的,所以这个转换过程实际上是缺少信息的,为了弥补,请务必将晶胞信息按着类
似以下格式放在 xyz 文件的注释行,也就是第二行,才可以完成转换,不然程序会
出错。
01
system_name xlo xhi ylo yhi zlo zhi