1. FINDSYM
先在本页生成 FINDSYM 输入,再在命令行运行:
findsym findsym.in
Static Web App
输入 VASP POSCAR 文本,页面会在本地解析结构并生成 FINDSYM 的关键字格式输入文件。 不依赖后端,不上传数据。
支持 `Direct` / `Cartesian`,也支持 `Selective dynamics`。
先解析 POSCAR。页面会按原子顺序生成磁矩表,默认全部为 0,直接在对应行修改即可。
| # | 元素 | 分数坐标 | mx | my | mz | m |
|---|
输出为关键字格式,可直接保存为文本文件供 `findsym inputfilename` 使用。
说明:
1. 页面默认输出 `!latticeBasisVectors`,避免从 POSCAR 反推晶格常数时引入额外转换。
2. 如果 POSCAR 不包含元素符号,页面会尝试使用“元素名覆盖”,否则退化为 `T1 T2 ...`。
3. `Cartesian` 坐标会被自动转换成分数坐标。
4. 解析 POSCAR 后,磁矩默认全为 0;勾选“按磁结构输出”并修改对应原子磁矩后,会输出 `!atomMagneticMoment`。
下面给出基于 `POSCAR` 的常用对称性分析与 `POSCAR` / `CIF` 转换命令。
先在本页生成 FINDSYM 输入,再在命令行运行:
findsym findsym.in
直接从 `POSCAR` 查空间群与标准化信息:
phonopy --symmetry --tolerance 1e-3 -c POSCAR
phonopy --symmetry --tolerance 1e-5 -c POSCAR
容差不同,识别出的对称性可能不同,通常会配合多个 `symprec` 试一下。
如果安装了 `pymatgen`,可以直接从 `POSCAR` 输出空间群:
python -c "from pymatgen.core import Structure; from pymatgen.symmetry.analyzer import SpacegroupAnalyzer; s=Structure.from_file('POSCAR'); a=SpacegroupAnalyzer(s, symprec=1e-3); print(a.get_space_group_symbol(), a.get_space_group_number())"
使用 `ase` 做格式转换最直接:
ase convert POSCAR structure.cif
ase convert structure.cif POSCAR.from_cif
如果想在脚本里做转换,可以直接调用 `pymatgen`:
python -c "from pymatgen.core import Structure; from pymatgen.io.cif import CifWriter; CifWriter(Structure.from_file('POSCAR')).write_file('structure.cif')"
python -c "from pymatgen.core import Structure; from pymatgen.io.vasp import Poscar; Poscar(Structure.from_file('structure.cif')).write_file('POSCAR.from_cif')"