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
Type: Block Recurring: True Description: Defines a fragment. You can define several fragments for a calculation.
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.
Type: String Description: Filename of the fragment. Absolute path or path relative to the executing directory.
Type: Non-standard block Description: This gives the possibility to introduce labels for the fragment orbitals. See examples.
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.
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.