Fragments

A fragment feature is available albeit rather primitive. It allows for the analysis of the DOS in a fragment basis and for the calculation of the deformation density with respect to fragment densities. A typical application is the periodical adsorption of one or more molecules on a surface. For instance, consider periodic adsorption of hydrogen molecules over a surface. First you calculate the free molecule in the same orientation as when adsorbed to the substrate. Since you would like to use a molecular fragment, it makes sense to put the molecules far apart (large lattice spacing) and force dispersion to be neglected (KSPACE 1). To use the fragment in the next run you need to rename the result file (“rkf”), to something like “frag.rkf”, see the example script discussed below or the example covering this topic.

Fragment
   AtomMapping # Non-standard block. See details.
      ...
   End
   Filename string
   Labels # Non-standard block. See details.
      ...
   End
End
Fragment
Type:

Block

Recurring:

True

Description:

Defines a fragment. You can define several fragments for a calculation.

AtomMapping
Type:

Non-standard block

Description:

Format ‘indexFragAt indexCurrentAt’. One has to associate the atoms of the fragment to the atoms of the current calculation. So, for each atom of the fragment the indexFragAt has to be associated uniquely to the indexCurrentAt for the current calculation.

Filename
Type:

String

Description:

Filename of the fragment. Absolute path or path relative to the executing directory.

Labels
Type:

Non-standard block

Description:

This gives the possibility to introduce labels for the fragment orbitals. See examples.

Example:

Fragment
  filename test.rkf
  AtomMapping
    1 3 !  atom 1 of this fragment is assigned to third atom
    2 4 !  atom 2 of this fragment is assigned to fourth atom
  End
  Labels
    Sigma
    Sigma*
    Pi_x
    Pi_y
    Pi_x*
    Pi_y*
  End
End

In this example the first six fragment orbitals will be labeled as stated in the body of this key. The remaining orbitals are labeled by the default labeling system (e.g. 1/FO/5, etc.). The labels are used in combination with options like Print Eigens and Print OrbPop. (See also Print OrbLabels). This key can be given once for each fragment.

Tip

Specifying:

Print Eigens

for a calculation produces output concerning the eigen states, thereby providing a means to identify the eigen states (e.g. to be sigma, pi, et cetera). So, one can label the orbitals of a fragment according to this information.