structuretoolkit.build.surface.get_high_index_surface_info

structuretoolkit.build.surface.get_high_index_surface_info#

structuretoolkit.build.surface.get_high_index_surface_info(element: str, crystal_structure: str, lattice_constant: float, terrace_orientation: list | None = None, step_orientation: list | None = None, kink_orientation: list | None = None, step_down_vector: list | None = None, length_step: int = 3, length_terrace: int = 3, length_kink: int = 1)[source]#

Gives the miller indices of high index surface required to create a stepped and kink surface, based on the general orientation and length of terrace, step and kinks respectively. The microfacet notation used is based on the work of Van Hove et al.,[1].

[1] Van Hove, M. A., and G. A. Somorjai. “A new microfacet notation for high-Miller-index surfaces of cubic materials with terrace, step and kink structures.” Surface Science 92.2-3 (1980): 489-518.

Parameters:
  • element (str) – The parent element eq. “N”, “O”, “Mg” etc.

  • crystal_structure (str) – The crystal structure of the lattice

  • lattice_constant (float) – The lattice constant

  • terrace_orientation (list) – The miller index of the terrace eg., [1,1,1]

  • step_orientation (list) – The miller index of the step eg., [1,1,0]

  • kink_orientation (list) – The miller index of the kink eg., [1,1,1]

  • step_down_vector (list) – The direction for stepping down from the step to next terrace eg., [1,1,0]

  • length_terrace (int) – The length of the terrace along the kink direction in atoms eg., 3

  • length_step (int) – The length of the step along the step direction in atoms eg., 3

  • length_kink (int) – The length of the kink along the kink direction in atoms eg., 1

Returns:

The high miller index surface which can be used to create slabs fin_kink_orientation: The kink orientation lying in the terrace fin_step_orientation: The step orientation lying in the terrace

Return type:

high_index_surface