msspec_python3/doc/source/faq/hemispherical_cluster/hemispherical_cluster.rst

3.0 KiB

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> </head>

The hemispherical_cluster function

A the :py:func:`hemispherical_cluster` takes one mandatory argument and 4 keyword arguments. The first required argument is an ASE Atoms object. This object will be the base pattern used to create a cluster. It is usually a primitive cell of a structure. The 4 keywords arguments describe the dimensions of the cluster and the location of the emitter atom:

System Message: ERROR/3 (<stdin>, line 7); backlink

Unknown interpreted text role "py:func".
  • emitter_tag: is an integer which is the tag of the emitter atom
  • emitter_plane: is an integer to tell in which plane to put the emitter
  • diameter: is the diameter of the hemispherically shaped cluster (in angströms)
  • planes: is the total number of planes

Three simple example are shown in the figure 1 below. These are cut view in the (xOz) plane of the clusters. the clusters were created with those commands:

System Message: WARNING/2 (<stdin>, line 20)

Cannot analyze code. Pygments package not found.

.. code-block:: python

        from msspec.utils import hemispherical_cluster
        from ase.build import bulk

        iron = bulk('Fe', cubic=True) # The base cell to be repeated to shape a cluster
        # The cluster 1a, with an emitter on the surface
        cluster1a = hemispherical_cluster(iron, diameter=25, emitter_plane=0)
        # The cluster 1c, with an emitter in the second plane
        cluster1b = hemispherical_cluster(iron, diameter=25, emitter_plane=1)
        # The cluster 1c, with an emitter in the third plane and with just one plane below
        # the emitter
        cluster1c = hemispherical_cluster(iron, diameter=25, emitter_plane=2, planes=4)


Fe_clusters.png

Figure 1.

The emitter_tag keyword is used to specify the emitter in a multielemental structure or if two atoms of the same kind exist in the primitive cell with different chemical or geometrical environment. For example, the CsCl structure is also bcc like the iron above, but the chlorine atom is at the center of a cube with 4 Caesium atoms on the apex. To get a Cl emitter in the desired plane, we should first tag it in the cell:

System Message: WARNING/2 (<stdin>, line 46)

Cannot analyze code. Pygments package not found.

.. code-block:: python

        from msspec.utils import hemispherical_cluster
        from ase.spacegroup import crystal

        # Definition of this cubic cell
        a0 = 2.05
        a = b = c = a0
        alpha = beta = gamma = 90
        cellpar = [a, b, c, alpha, beta, gamma]
        # Create the CsCl structure with the crystal function
        CsCl = crystal(['Cs', 'Cl'], basis=[(0,0,0),(0.5,0.5,0.5)], spacegroup=221, cellpar=cellpar)
        # by default, all atoms tags are 0
        # set the Cl tag to 1
        CsCl[1].tag = 1
        # Create a cluster with the Cl emitter
        cluster = hemispherical_cluster(CsCl, emitter_tag=1, emitter_plane=3, diameter=25)

The resulting cluster is shown in the figure 2 below

CsCl_cluster.png

Figure 2. A cut view in the (xOz) plane of a CsCl cluster with a Cl emitter atom in the third plane

</html>