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.