Introduction

This notebook demonstrates how you can interface terminations of grain boundaries.

Interface Termination for Symmetric GB

Let's take SrTiO3 Σ5[001]/(130) tilt grain boundary as an example. The initial structure is a cubic lattice structure

Let's first create a symmetric GB with its interface termination unchanged.

In [1]:
from aimsgb import GrainBoundary, Grain
s = Grain.from_file("POSCAR_SrTiO3")
gb = GrainBoundary([0, 0, 1], 5, [1, 3, 0], s)
structure = gb.build_gb()
Trulli

Next, let's make some changes for the interface. For example, deleting the 1st bottom layer (1b) of grain B. We define top (t) and bottome (b) layer of a grain with respect to the interface norm to the GB plane, which represents the orientation of GB. To make two interfaces symmetric, we also need to delete the 1st bottom layer (1b) of grain A. To delete layers of GB, you can specify delete_layer in build_gb function. In this example, delete_layer='1b0t1b0t'. The first 4 characters is for grain A and the other 4 is for grain B. b means bottom layer and t means top layer. Integer represents the number of layers to be deleted. Default to 0b0t0b0t, which means no deletion of layers

In [2]:
gb = GrainBoundary([0, 0, 1], 5, [1, 3, 0], s)
structure = gb.build_gb(delete_layer='1b0t1b0t')
Trulli

If you want to add extra interface distance, you can sepcify add_if_dist, say 0.5 Å

In [3]:
gb = GrainBoundary([0, 0, 1], 5, [1, 3, 0], s)
structure = gb.build_gb(delete_layer='1b0t1b0t', add_if_dist=0.5)
Trulli

Of course, you can choose to delete more layers, say 2 bottom layers (2b),

In [4]:
gb = GrainBoundary([0, 0, 1], 5, [1, 3, 0], s)
structure = gb.build_gb(delete_layer='2b0t2b0t')
Trulli

Asymmetric GB

You can do similar changes for top layers,

In [5]:
gb = GrainBoundary([0, 0, 1], 5, [1, 3, 0], s)
structure = gb.build_gb(delete_layer='0b2t0b2t', add_if_dist=1)
Trulli