structuretoolkit.build.aimsgb.grainboundary

Contents

structuretoolkit.build.aimsgb.grainboundary#

structuretoolkit.build.aimsgb.grainboundary(axis: ndarray, sigma: int, plane: ndarray, initial_struct: Atoms, *, uc_a: int = 1, uc_b: int = 1, vacuum: float = 0.0, gap: float = 0.0, delete_layer: str = '0b0t0b0t', tol: float = 0.25, to_primitive: bool = False, add_if_dist: float | None = None)[source]#

Generate a grain boundary structure based on aimsgb.

Parameters:
  • axis – Rotational axis for the GB you want to construct (for example, axis=[1,0,0])

  • sigma (int) – The sigma value of the GB you want to construct (for example, sigma=5)

  • plane – The grain boundary plane of the GB you want to construct (for example, plane=[2,1,0])

  • initial_struct – Initial bulk structure from which you want to construct the GB (a ase structure object).

  • uc_a (int) – Number of unit cell of grain A. (Default is 1.)

  • uc_b (int) – Number of unit cell of grain B. (Default is 1.)

  • vacuum (float) – Adds space between the grains at _one_ of the two interfaces that must exist due to periodic boundary conditions. (Default is 0.0.)

  • gap (float) – Adds space between the grains at _both_ of the two interfaces that must exist due to periodic boundary conditions. When used together with vacuum, these spaces add at one of the two interfaces. (Default is 0.0.)

  • delete_layer (str) – To delete layers of the GB. For example, delete_layer=’1b0t1b0t’. The first 4 characters is for first grain and the other 4 is for second grain. b means bottom layer and t means top layer. Integer represents the number of layers to be deleted. The first t and second b from the left hand side represents the layers at the GB interface. Default value is delete_layer=’0b0t0b0t’, which means no deletion of layers.

  • tol (float) – Tolerance factor (in distance units) to determine whether two atoms are in the same plane. (Default is 0.25.)

  • to_primitive – To generate primitive or non-primitive GB structure. (Default value is False.)

  • add_if_dist (float) – (Deprecated) Use gap.

Returns:

final grain boundary structure

Return type:

ase.Atoms