@@ -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