qzhu2017 / PyXtal

A code to generate atomic structure with symmetry
MIT License
234 stars 59 forks source link

Find the best transfer matrix for slab model #238

Closed qzhu2017 closed 7 months ago

qzhu2017 commented 7 months ago

For a given triclinic/monoclinic crystal, get the closest approximation of orthogonal box

qzhu2017 commented 7 months ago
# Find the approximate orthgoal for a given slab
from pyxtal import pyxtal

x = pyxtal(molecular=True)
x.from_CSD('HMBENZ04')
print(x)
trans = x.lattice.find_transition_to_orthoslab()
L = x.lattice.apply_transformation(trans)
print(trans); print(L)
------Crystal from CSD: HMBENZ04------
Dimension: 3
Composition: [Cc1c(C)c(C)c(C)c(C)c1C]1
Group: P -1 (2)
  5.2602,   6.1990,   8.0040, 103.8180,  98.7180, 100.1920, triclinic
Wyckoff sites:
    H18C12       @ [ 0.5000  0.5000  0.5000]  WP [1h] Site [-1] Euler [   0.0    0.0    0.0]
[[1 0 0]
 [1 5 0]
 [1 1 3]]
  5.2602,  30.5067,  22.8417,  90.9631,  88.6861,  90.4212, triclinic