Static Web App

POSCAR to FINDSYM

输入 VASP POSCAR 文本,页面会在本地解析结构并生成 FINDSYM 的关键字格式输入文件。 不依赖后端,不上传数据。

POSCAR

支持 `Direct` / `Cartesian`,也支持 `Selective dynamics`。

磁矩编辑

先解析 POSCAR。页面会按原子顺序生成磁矩表,默认全部为 0,直接在对应行修改即可。

还没有原子表。先点击“解析 POSCAR”。

FINDSYM 输入

输出为关键字格式,可直接保存为文本文件供 `findsym inputfilename` 使用。

说明:

1. 页面默认输出 `!latticeBasisVectors`,避免从 POSCAR 反推晶格常数时引入额外转换。

2. 如果 POSCAR 不包含元素符号,页面会尝试使用“元素名覆盖”,否则退化为 `T1 T2 ...`。

3. `Cartesian` 坐标会被自动转换成分数坐标。

4. 解析 POSCAR 后,磁矩默认全为 0;勾选“按磁结构输出”并修改对应原子磁矩后,会输出 `!atomMagneticMoment`。

常用命令

下面给出基于 `POSCAR` 的常用对称性分析与 `POSCAR` / `CIF` 转换命令。

1. FINDSYM

先在本页生成 FINDSYM 输入,再在命令行运行:

运行 FINDSYM
findsym findsym.in

2. phonopy / spglib

直接从 `POSCAR` 查空间群与标准化信息:

较宽松容差
phonopy --symmetry --tolerance 1e-3 -c POSCAR
较严格容差
phonopy --symmetry --tolerance 1e-5 -c POSCAR

容差不同,识别出的对称性可能不同,通常会配合多个 `symprec` 试一下。

3. pymatgen 查询对称性

如果安装了 `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())"

4. ASE 转换 POSCAR / CIF

使用 `ase` 做格式转换最直接:

POSCAR 转 CIF
ase convert POSCAR structure.cif
CIF 转 POSCAR
ase convert structure.cif POSCAR.from_cif

5. pymatgen 转换 POSCAR / CIF

如果想在脚本里做转换,可以直接调用 `pymatgen`:

POSCAR 转 CIF
python -c "from pymatgen.core import Structure; from pymatgen.io.cif import CifWriter; CifWriter(Structure.from_file('POSCAR')).write_file('structure.cif')"
CIF 转 POSCAR
python -c "from pymatgen.core import Structure; from pymatgen.io.vasp import Poscar; Poscar(Structure.from_file('structure.cif')).write_file('POSCAR.from_cif')"