|
本帖最后由 万里云 于 2015-6-24 11:55 编辑
据我所知,XCrySDen没有这个功能,我自己写了两个python脚本来准备输入文件和处理计算结果。
cif2cfg.py
(8.93 KB, 下载次数 Times of downloads: 21)
out2pd.py
(4.79 KB, 下载次数 Times of downloads: 15)
cif2cfg.py这个脚本读取cif文件,计算基矢坐标,平移几何中心并转换原子坐标。使用方法文件内有注释,一个例子是cif2cfg.py mos.cif mos.cfg 2 0.5,其中mos.cif是输入文件名,mos.cfg是输出文件名,2表明体系维度是2维,0.5表明将这个2维体系的几何中心z分量平移到超胞c轴中心(分数坐标等于0.5)。这个脚本现在还不能使用对称性,因此在用MS导出cif文件时必须先Make P1。
这个文件的输出是这样的
==================================================================================================
lattice constants:
a 29.5000 55.7469
b 25.9000 48.9439
c 10.0000 18.8973
alpha 90.0000 1.5708
beta 90.0000 1.5708
gamma 90.0000 1.5708
number of types: 2
number of atoms: 63
number of atoms for each type:
C 43
H 20
begin_vectors_ang
29.500000000 0.000000000 0.000000000
0.000000000 25.900000000 0.000000000
0.000000000 0.000000000 10.000000000
end_vectors_ang
begin_vectors_bohr
55.746920676 0.000000000 0.000000000
0.000000000 48.943906627 0.000000000
0.000000000 0.000000000 18.897261246
end_vectors_bohr
begin_coordinates_frac
..................................................
end_coordinates_ang
begin_coordinates_bohr
....................................................
end_coordinates_bohr
am-1/am11.cif
am-1/am11.cfg
0
0.5000
======================================================================================
lattice constants是晶格常数。如果是a,b,c,第一列单位是angstrom,第二列是bohr。如果是夹角,第一列是角度,第二列是弧度。
接下来是原子种类和个数,用于指定输入文件中的nat和ntyp。
begin_vectors_ang和begin_vectors_bohr分别是单位长度为angstrom和bohr时基矢的坐标。基矢有很多种摆法,这里的方法是让a轴与x轴重合,b轴位于xOy平面内。这里的坐标对应输入文件中的CELL_PARAMETERS。
begin_coordinates_frac,begin_coordinates_ang和begin_coordinates_bohr下面分别是平移后原子的分数坐标和两组直角坐标,对应输入文件中的ATOMIC_POSITIONS。
最后四行是命令行参数回显,专为强迫症患者设计 。
out2pd.py这个脚本较为简单,负责读取优化之后的输入文件以提取坐标。用例是out2pd.py relax.in relax.out relax.pd,relax.in是优化计算输入文件,relax.out是优化计算输出文件,relax.pd是提取出的坐标文件。这个脚本暂时不支持vc-relax计算。
|
评分 Rate
-
查看全部评分 View all ratings
|