File: plane_multiplicity.py

package info (click to toggle)
pymatgen 2025.2.18%2Bdfsg1-5
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 85,888 kB
  • sloc: python: 176,173; javascript: 780; makefile: 221; sh: 78
file content (47 lines) | stat: -rw-r--r-- 1,416 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
"""Development script to get the multiplicity of the separation facets for some model coordination environments."""

from __future__ import annotations

from pymatgen.analysis.chemenv.coordination_environments.coordination_geometries import AllCoordinationGeometries

__author__ = "David Waroquiers"
__copyright__ = "Copyright 2012, The Materials Project"
__version__ = "2.0"
__maintainer__ = "David Waroquiers"
__email__ = "david.waroquiers@gmail.com"
__date__ = "Feb 20, 2016"

if __name__ == "__main__":
    all_cg = AllCoordinationGeometries()

    cg_symbol = "I:12"
    all_plane_points = []
    cg = all_cg[cg_symbol]

    # I:12
    if cg_symbol == "I:12":
        opposite_points = {
            0: 3,
            1: 2,
            2: 1,
            3: 0,
            4: 7,
            5: 6,
            6: 5,
            7: 4,
            8: 11,
            9: 10,
            10: 9,
            11: 8,
        }
        edges = cg._edges
        for edge in edges:
            opposite_edge = [opposite_points[edge[0]], opposite_points[edge[1]]]
            equiv_plane = list(edge)
            equiv_plane += opposite_edge
            equiv_plane.sort()
            all_plane_points.append(tuple(equiv_plane))
        all_plane_points = [tuple(equiv_plane) for equiv_plane in set(all_plane_points)]

    print(f"All plane points ({len(all_plane_points)}) for {cg_symbol} : ")
    print(all_plane_points)