75 lines
3.0 KiB
ReStructuredText
75 lines
3.0 KiB
ReStructuredText
|
.. _hemispherical_cluster_faq:
|
||
|
|
||
|
|
||
|
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:
|
||
|
|
||
|
- 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:
|
||
|
|
||
|
.. 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)
|
||
|
|
||
|
|
||
|
.. figure:: Fe_clusters.png
|
||
|
:align: center
|
||
|
:width: 80%
|
||
|
|
||
|
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:
|
||
|
|
||
|
.. 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
|
||
|
|
||
|
.. figure:: CsCl_cluster.png
|
||
|
:align: center
|
||
|
:width: 80%
|
||
|
|
||
|
Figure 2. A cut view in the (xOz) plane of a CsCl cluster with a Cl emitter atom in the third plane
|
||
|
|
||
|
|
||
|
|
||
|
|