|
|
本帖最后由 SchrodingersCat 于 2026-5-25 20:11 编辑
https://github.com/SchrodingersCattt/MolCrysKit 可以试试我写的MolCrysKit能不能帮到你
我这里面的旋转是用来操作一个分子在晶格里面绕com旋转的,不过可能可以试试:
```python
import numpy as np
from molcrys_kit.io.cif import read_mol_crystal
from molcrys_kit.utils.geometry import get_rotation_matrix
mc = read_mol_crystal("input.cif")
atoms = mc.to_ase()
axis = np.array([0.0, 0.0, 1.0])
R = get_rotation_matrix(axis, np.radians(45.0))
pivot = 0.5 * atoms.cell.array.sum(axis=0)
atoms.positions = (atoms.positions - pivot) @ R.T + pivot
atoms.write("rotated.cif")
```
|
|