Skip to content

Commit 2add9b8

Browse files
authored
Merge pull request #75 from akvatol/fix-#68
Fix #68
2 parents e89afd5 + 5d7341d commit 2add9b8

File tree

2 files changed

+10
-2
lines changed

2 files changed

+10
-2
lines changed

aiida_crystal_dft/utils/geometry.py

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -137,6 +137,14 @@ def get_centering_code(sg_number, sg_symbol):
137137
def to_primitive(structure):
138138
"""Returns aiida StructureData with primitive cell"""
139139
from aiida.orm import StructureData
140-
cell, positions, numbers = spglib.find_primitive(structure.get_ase())
140+
ase_struct = structure.get_ase()
141+
# Always convert to tuple of (cell, positions, numbers) for spglib compatibility
142+
# this is universal for non-magnetic structures
143+
cell = ase_struct.get_cell()
144+
positions = ase_struct.get_scaled_positions()
145+
numbers = ase_struct.get_atomic_numbers()
146+
cell_tuple = (cell, positions, numbers)
147+
primitive = spglib.find_primitive(cell_tuple)
148+
cell, positions, numbers = primitive
141149
ase_struct = Atoms(numbers, scaled_positions=positions, cell=cell, pbc=True)
142150
return StructureData(ase=ase_struct)

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ dependencies = [
3737
"mpds_client >= 0.24",
3838
"pyparsing > 2.3.1",
3939
"ase >= 3.19",
40-
"spglib == 2.0.2",
40+
"spglib",
4141
"jinja2 >= 2.10",
4242
"jsonschema >= 3.0.1",
4343
"click >= 7.1.1",

0 commit comments

Comments
 (0)