Skip to content

Commit 1bca26a

Browse files
authored
Merge pull request #62 from pyiron/structure
[nit] Shorten structure info parser
2 parents d928eb4 + 29034aa commit 1bca26a

File tree

1 file changed

+23
-65
lines changed

1 file changed

+23
-65
lines changed

pyiron_rdm/concept_dict.py

Lines changed: 23 additions & 65 deletions
Original file line numberDiff line numberDiff line change
@@ -676,77 +676,35 @@ def _extract_murnaghan_calculated_quantities(job, method_dict):
676676

677677
def get_unit_cell_parameters(structure: Atoms):
678678
symmetry = get_symmetry(structure)
679+
structure_parameters = {
680+
"a": np.round(structure.cell[0][0], 4),
681+
"alpha": 90.0,
682+
"beta": 90.0,
683+
"gamma": 90.0,
684+
"volume": np.round(structure.get_volume(), 4),
685+
"space_group": symmetry.spacegroup["InternationalTableSymbol"],
686+
"space_group_number": symmetry.spacegroup["Number"],
687+
}
679688
if symmetry.spacegroup["InternationalTableSymbol"] == "Im-3m":
689+
structure_parameters["bravais_lattice"] = "bcc"
680690
if len(structure) == 1:
681-
structure_parameters = {
682-
"a": np.round(structure.cell[1][0] * 2, 4),
683-
"alpha": 90.0,
684-
"beta": 90.0,
685-
"gamma": 90.0,
686-
"volume": np.round((structure.cell[1][0] * 2) ** 3, 4),
687-
"space_group": symmetry.spacegroup["InternationalTableSymbol"],
688-
"space_group_number": symmetry.spacegroup["Number"],
689-
"bravais_lattice": "bcc",
690-
}
691-
else:
692-
structure_parameters = {
693-
"a": np.round(structure.cell[1][1], 4),
694-
"alpha": 90.0,
695-
"beta": 90.0,
696-
"gamma": 90.0,
697-
"volume": np.round(structure.get_volume(), 4),
698-
"space_group": symmetry.spacegroup["InternationalTableSymbol"],
699-
"space_group_number": symmetry.spacegroup["Number"],
700-
"bravais_lattice": "bcc",
701-
}
691+
structure_parameters["a"] = np.round(structure.cell[1][0] * 2, 4)
692+
structure_parameters["volume"] = np.round(
693+
(structure.cell[1][0] * 2) ** 3, 4
694+
)
702695
elif symmetry.spacegroup["InternationalTableSymbol"] == "Fm-3m":
696+
structure_parameters["bravais_lattice"] = "fcc"
703697
if len(structure) == 1:
704-
structure_parameters = {
705-
"a": np.round(structure.cell[1][0] * 2, 4),
706-
"alpha": 90.0,
707-
"beta": 90.0,
708-
"gamma": 90.0,
709-
"volume": np.round((structure.cell[1][0] * 2) ** 3, 4),
710-
"space_group": symmetry.spacegroup["InternationalTableSymbol"],
711-
"space_group_number": symmetry.spacegroup["Number"],
712-
"bravais_lattice": "fcc",
713-
}
714-
else:
715-
structure_parameters = {
716-
"a": np.round(structure.cell[1][1], 4),
717-
"alpha": 90.0,
718-
"beta": 90.0,
719-
"gamma": 90.0,
720-
"volume": np.round(structure.get_volume(), 4),
721-
"space_group": symmetry.spacegroup["InternationalTableSymbol"],
722-
"space_group_number": symmetry.spacegroup["Number"],
723-
"bravais_lattice": "fcc",
724-
}
698+
structure_parameters["a"] = np.round(structure.cell[1][0] * 2, 4)
699+
structure_parameters["volume"] = np.round(
700+
(structure.cell[1][0] * 2) ** 3, 4
701+
)
725702
elif symmetry.spacegroup["InternationalTableSymbol"] == "P6_3/mmc":
703+
structure_parameters["c"] = np.round(structure.cell[2][2], 4)
704+
structure_parameters["gamma"] = 120.0
705+
structure_parameters["bravais_lattice"] = "hcp"
726706
if len(structure) == 2:
727-
structure_parameters = {
728-
"a": np.round(structure.cell[0][0], 4),
729-
"c": np.round(structure.cell[2][2], 4),
730-
"alpha": 90.0,
731-
"beta": 90.0,
732-
"gamma": 120.0,
733-
"volume": np.round(structure.get_volume() * 3, 4),
734-
"space_group": symmetry.spacegroup["InternationalTableSymbol"],
735-
"space_group_number": symmetry.spacegroup["Number"],
736-
"bravais_lattice": "hcp",
737-
}
738-
else:
739-
structure_parameters = {
740-
"a": np.round(structure.cell[0][0], 4),
741-
"c": np.round(structure.cell[2][2], 4),
742-
"alpha": 90.0,
743-
"beta": 90.0,
744-
"gamma": 120.0,
745-
"volume": np.round(structure.get_volume(), 4),
746-
"space_group": symmetry.spacegroup["InternationalTableSymbol"],
747-
"space_group_number": symmetry.spacegroup["Number"],
748-
"bravais_lattice": "hcp",
749-
}
707+
structure_parameters["volume"] = np.round(structure.get_volume() * 3, 4)
750708

751709
return structure_parameters
752710

0 commit comments

Comments
 (0)