Skip to content

Commit 6d6e970

Browse files
authored
Improve grain boundary docstr + check on query fields (#992)
2 parents ebc1bb1 + 373ae3a commit 6d6e970

File tree

1 file changed

+10
-3
lines changed

1 file changed

+10
-3
lines changed

mp_api/client/routes/materials/grain_boundaries.py

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ def search(
2020
gb_plane: list[str] | None = None,
2121
gb_energy: tuple[float, float] | None = None,
2222
pretty_formula: str | None = None,
23-
rotation_axis: list[str] | None = None,
23+
rotation_axis: tuple[int, int, int] | tuple[int, int, int, int] | None = None,
2424
rotation_angle: tuple[float, float] | None = None,
2525
separation_energy: tuple[float, float] | None = None,
2626
sigma: int | None = None,
@@ -40,8 +40,10 @@ def search(
4040
material_ids (List[str]): List of Materials Project IDs to query with.
4141
pretty_formula (str): Formula of the material.
4242
rotation_angle (Tuple[float,float]): Minimum and maximum rotation angle in degrees to consider.
43-
rotation_axis(List[str]): The Miller index of rotation axis. e.g., [1, 0, 0], [1, 1, 0], and [1, 1, 1]
44-
sigma (int): Sigma value of grain boundary.
43+
rotation_axis (tuple of 3 int or of 4 int): The Miller index of rotation axis.
44+
A 3- or 4-tuple of int or str: e.g.,
45+
(0, 0, 0, 1), (1, 0, 0), (1, 1, 0), or (1, 1, 1)
46+
sigma (int): Sigma value of grain boundary.
4547
separation_energy (Tuple[float,float]): Minimum and maximum work of separation energy in J/m³ to consider.
4648
sigma (int): Sigma value of the boundary.
4749
type (GBTypeEnum): Grain boundary type.
@@ -84,6 +86,11 @@ def search(
8486
)
8587

8688
if rotation_axis:
89+
if len(rotation_axis) not in {3, 4}:
90+
raise ValueError(
91+
"`rotation_axis` should be a tuple of either "
92+
"3 or 4 int values, ex: (0, 0, 0, 1) or (1, 0, 0)"
93+
)
8794
query_params.update(
8895
{"rotation_axis": ",".join([str(n) for n in rotation_axis])}
8996
)

0 commit comments

Comments
 (0)