USPEX 10.5 manual

Pmpaths:预测固体-固体相变机制的几何方法

这个由V. Stevanovic, P. Graf 和 F. Therrien开发, 并进一步由A. Samtsevich拓展的工具, 可以用来解决这样一个难题:如何找到两个给定晶体结构之间最佳的映射路径。 这直观的对应于最简单的相变机制。 Pmpaths会排序列出两个给定晶体结构之间的不同路径。 然后通过VCNEB方法优化这些路径(详见下节)。该算法首先通过优化晶胞的“重叠”来搜索结构晶格的映射路径, 并且对晶格矢量进行置换,使得坐标系旋转轴的最佳重叠尽可能大。这是后续分析和确保找到 在两个晶体结构的原子位置间最佳的映射路径的起点。

这个工具依赖于这些Python数据库:

   munkres
   scikit_learn
   spglib
   cython

这些数据库都可以通过pip安装。为了运行pmpaths工具,请尝试:

   python3 run_pmpaths.py -t 4 -z traj_A2B -n 20 -A POSCAR_A -B POSCAR_B -b 3.6 --numtraj=5

帮助文档:

Usage: run_pmpaths.py [options]

Options:
  -h, --help            show this help message and exit
  -A A, --A=A           poscar 1
  -B B, --B=B            poscar 2
  -t OUTPUT_TILES, --tiles=OUTPUT_TILES
                        how many cells to tile in output
  -H, --hlst            perform HLST fitting
  -v VERBOSE, --verbose=VERBOSE
                        verbosity
  -z TRAJDIR, --trajdir=TRAJDIR
                        where to dump trajectory files
  -c MIN_CLUSTER_SIZE, --min_cluster_size=MIN_CLUSTER_SIZE
                        minimum size of atom clusters
  -s SHIFTING, --shifting=SHIFTING
                        control shift of inequiv atoms to origin (0:none,
                        1:one of each inequivalent subgroup,2:all)
  -b BOND_LEN, --bond_len=BOND_LEN
                        bond length
  -n FRAMES, --frames=FRAMES
                        how many frames in trajectory
  -y, --nocheck_syms    don't check syms
  -u, --nocheck_ucells  don't check more than one unit cell pairing, but DO do
                        gruberization
  -w, --use_given_ucells
                        use given unit cells as is, no gruberization
  -d, --noucell-dist    don't include unit cell vector movement in distance
                        measure
  -f, --get-fast        use bonding to specifically search for FAST
  -e TOL, --tol=TOL     tolerance for coordination calcs
  --numtraj=N          , where N is the number of pathways that will be in the output

运行pmpaths.py 之后的输出是一个文件夹(除了stdout中的输出之外) (”traj_A2B”),里面包含映射路径上的n个图像 (”images”)。我们推荐不只寻找一条几何上的最优路径,而是寻找N条(N 5-10)几何最优路径。记住这些路径仅仅给出了两个晶体结构间的线性插值,这些插值点需要做局域结构优化。这就需要使用到下一节中介绍的VCNEB方法。我们的VCNEB代码可以直接使用pmpaths utility的输出。