aim2dat.strct.surface¶
Module implementing a class to generate surfaces.
Module Contents¶
Classes¶
Generates a surfaces and surface slabs based on a bulk crystal structure. |
- class aim2dat.strct.surface.SurfaceGeneration(structure: aim2dat.strct.strct.Structure)[source]¶
Generates a surfaces and surface slabs based on a bulk crystal structure.
Overview
Methods¶ create_surface(miller_indices, termination, tolerance, symprec, angle_tolerance, hall_number)Create surface from a bulk crystal structure.
generate_surface_slabs(miller_indices, nr_layers, periodic, vacuum, vacuum_factor, symmetrize, tolerance, symprec, angle_tolerance, hall_number)Generate surface slabs with all terminations for a certain direction given by its
store_surfaces_in_aiida_db(miller_indices, tolerance, symprec, angle_tolerance, hall_number, group_label, group_description)Store surfaces into the AiiDA-database.
to_aiida_surfacedata(miller_indices, termination, tolerance, symprec, angle_tolerance, hall_number)Create surface from a bulk crystal structure.
-
create_surface(miller_indices: tuple[int] | list[int] =
(1, 0, 0), termination: int =1, tolerance: float =0.005, symprec: float =0.005, angle_tolerance: float =-1.0, hall_number: int =0) dict[source]¶ Create surface from a bulk crystal structure.
- Parameters:¶
miller_indices (list or tuple (optional)) – Miller indices of the surface. The default value is
(1, 0, 0).termination (int (optional)) – Determine termination of the surface.
tolerance (float (optional)) – Numerical tolerance. The default value is
0.005.symprec (float (optional)) – Tolerance parameter for spglib. The default value is
0.005.angle_tolerance (float (optional)) – Tolerance parameter for spglib. The default value is
-1.0.hall_number (int (optional)) – The argument to constrain the space-group-type search only for the Hall symbol corresponding to it. The default number is
0.
- Returns:¶
dict – Dictionary containing the surface data.
-
generate_surface_slabs(miller_indices: tuple[int] | list[int] =
(1, 0, 0), nr_layers: int =5, periodic: bool =False, vacuum: float =10.0, vacuum_factor: float =0.0, symmetrize: bool =True, tolerance: float =0.01, symprec: float =0.005, angle_tolerance: float =-1.0, hall_number: int =0) aim2dat.strct.structure_collection.StructureCollection | None[source]¶ Generate surface slabs with all terminations for a certain direction given by its miller indices.
- Parameters:¶
miller_indices (list or tuple (optional)) – Miller indices of the surface. The default value is
(1, 0, 0).nr_layers (int (optional)) – Number of repititions of the underlying periodic surface cell. The default value is
5.periodic (bool (optional)) – Whether to apply periodic boundary conditions in the direction normal to the surface plane. The default value is
False.vacuum (float (optional)) – Vacuum space added at the top and bottom of the slab. The default value is
10.0.vacuum_factor (float (optional)) – Alternatively to the
vacuum-parameter the amount of vacuum can be set as a multiple of the slab size. The method is only applied if the parameter is larger than zero. The default value is0.0.symmetrize (bool (optional)) – Create slabs that have the same termination on both sides. The default value is
True.tolerance (float (optional)) – Numerical tolerance. The default value is
0.005.symprec (float (optional)) – Tolerance parameter for spglib. The default value is
0.005.angle_tolerance (float (optional)) – Tolerance parameter for spglib. The default value is
-1.0.hall_number (int (optional)) – The argument to constrain the space-group-type search only for the Hall symbol corresponding to it. The default number is
0.
- Returns:¶
StructureCollection – Collection of the generated surface slabs.
-
store_surfaces_in_aiida_db(miller_indices: tuple[int] =
(1, 0, 0), tolerance: float =0.005, symprec: float =0.005, angle_tolerance: float =-1.0, hall_number: int =0, group_label: str =None, group_description: str =None)[source]¶ Store surfaces into the AiiDA-database.
- Parameters:¶
miller_indices (list or tuple (optional)) – Miller indices of the surface. The default value is
(1, 0, 0).tolerance (float (optional)) – Numerical tolerance. The default value is
0.005.symprec (float (optional)) – Tolerance parameter for spglib. The default value is
0.005.angle_tolerance (float (optional)) – Tolerance parameter for spglib. The default value is
-1.0.hall_number (int (optional)) – The argument to constrain the space-group-type search only for the Hall symbol corresponding to it. The default number is
0.group_label (str (optional)) – Label of the AiiDA group.
group_description (str (optional)) – Description of the AiiDA group.
- Returns:¶
list – List containing dictionary of all surface nodes.
-
to_aiida_surfacedata(miller_indices: tuple[int] | list[int] =
(1, 0, 0), termination: int =1, tolerance: float =0.005, symprec: float =0.005, angle_tolerance: float =-1.0, hall_number: int =0)[source]¶ Create surface from a bulk crystal structure.
- Parameters:¶
miller_indices (list or tuple (optional)) – Miller indices of the surface. The default value is
(1, 0, 0).termination (int (optional)) – Determine termination of the surface.
tolerance (float (optional)) – Numerical tolerance. The default value is
0.005.symprec (float (optional)) – Tolerance parameter for spglib. The default value is
0.005.angle_tolerance (float (optional)) – Tolerance parameter for spglib. The default value is
-1.0.hall_number (int (optional)) – The argument to constrain the space-group-type search only for the Hall symbol corresponding to it. The default number is
0.
- Returns:¶
SurfaceData – AiiDA surface data node.
-
create_surface(miller_indices: tuple[int] | list[int] =