pyiron_atomistics.atomistics.structure.factories.aimsgb.AimsgbFactory

pyiron_atomistics.atomistics.structure.factories.aimsgb.AimsgbFactory#

class pyiron_atomistics.atomistics.structure.factories.aimsgb.AimsgbFactory[source]#

Bases: object

__init__()#

Methods

__init__()

build(axis, sigma, plane, initial_struct[, ...])

Generate a grain boundary structure based on the aimsgb.GrainBoundary module.

info(axis, max_sigma)

Provides a list of possible GB structures for a given rotational axis and upto the given maximum sigma value.

static build(axis, sigma, plane, initial_struct, to_primitive=False, delete_layer='0b0t0b0t', add_if_dist=0.0, uc_a=1, uc_b=1)[source]#

Generate a grain boundary structure based on the aimsgb.GrainBoundary module.

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 pyiron structure object).

  • delete_layer – 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.

  • add_if_dist – If you want to add extra interface distance, you can specify add_if_dist. Default value is add_if_dist=0.0

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

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

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

Returns:

final grain boundary structure

Return type:

Atoms

static info(axis, max_sigma)[source]#

Provides a list of possible GB structures for a given rotational axis and upto the given maximum sigma value.

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

  • max_sigma (int) – The maximum value of sigma upto which you want to consider for your

  • GB (for example, sigma=5)

Returns:

{sigma value: {‘theta’: [theta value],

’plane’: the GB planes”) ‘rot_matrix’: array([the rotational matrix]), ‘csl’: [array([the csl matrix])]}}

Return type:

A list of possible GB structures in the format

To construct the grain boundary select a GB plane and sigma value from the list and pass it to the GBBuilder.gb_build() function along with the rotational axis and initial bulk structure.