Input

The input for densf is keyword oriented. The keywords may be specified in any order with one exception: INPUTFILE, if present, must be specified before any other option. Reading input by densf ends when it encounters the record EndInput or the end-of-file, whichever comes first.

The current version of densf does have reasonable defaults for all input. That means that in many cases you probably will not need to specify any input at all.

Below follows a list of the allowed keywords with their description.

Input/Output files

INPUTFILE {file}

INPUTFILE keyword specifies path to the TAPE21 file from which densf reads the input data. Absence of the keyword is treated as if INPUTFILE TAPE21 has been specified.

OUTPUTFILE {file}

OUTPUTFILE keyword specifies path to the (possibly existing) TAPE41 file. If the file exists, densf will read grid specifications from it ignoring GRID keyword in the input. Computed quantities are saved in the file overwriting existing data with the same name, if any.

VTKFILE {file}

VTKFILE keyword specifies path to a file in the format readable by VTK directly. This option exists primarily for better integration with ADF-GUI and the user should not specify it.

The OUTPUTFILE and VTKFILE options are mutually exclusive. Absence of both of these options is treated as if OUTPUTFILE TAPE41 has been specified.

Grid

The Grid key is available either as simple key, or as block key.

The simple key options are as follows:

GRID {save} {coarse|medium|fine}

If the word save is specified, the program will store all grid points on TAPE41 (in addition to the specification of the grid that is always stored). The default is NOT to store all grid points.

Either coarse, medium or fine may be specified. This instructs the program to generate the grid automatically within a box enclosing all atoms of the molecule. The distance between grid points is 0.5, 0.2 or 0.1 bohr for respectively a coarse, medium or fine grid. Evidently the size of the result file TAPE41 depends strongly on this specification. The default value (used when the user does not specify the grid) is to generate a coarse grid.

If GRID is used as a block key it must be followed by the word end in a later record. The records until the end are the data for the Grid keyword:

Grid {save}
 x0, y0, z0
 n1, n2, n3
 v1x, v1y, v1z, length1
 v2x, v2y, v2z, length2
 v3x, v3y, v3z, length3
END

If the word save is specified, the program will store all grid points on TAPE41 (in addition to the specification of the grid that is always stored). The default is NOT to store all grid points.

The records in the data block must contain (in order!!):

  • 1 Three coordinates for the 'origin' (lower-left corner) of the grid.
  • 2 Three integers: the numbers of points in three independent directions.
    If fewer integers are supplied the grid will accordingly be less-dimensional.
  • 3 Three records each containing the coordinates for the direction of the independent vector (size irrelevant)
    and the total length of the grid in that direction.
    If a lower-dimensional grid is requested (see item #2), then fewer such direction-records are read and
    the redundant ones, if any, are ignored.
    The unit of length in which the grid size is input is by default Angstrom.
    The default (Angstrom) can be overridden by using the input key UNITS, see below.

Notes:

  • The second record ('three integers...') specifies the number of grid points in the different directions.
    The corresponding number of steps or intervals is one less!
  • If the TAPE41 result file is to be used by the contour generating program cntrs,
    the grid used in the densf calculation must be two-dimensional.
  • If the TAPE41 result file is to be used by ADFview, the grid used must be an three-dimensional orthogonal grid,
    with a single step size for all three dimensions.
  • The unit of length used in the input file has no relation to how the data are stored on the result file
    and how the program processes the data internally.
    Internal processing and storage on file is in bohr (atomic units).

Units

As in the ADF main program, the unit of length can be set with the block type key

UNITS
 Length unit_of_length
END

In densf the only item that can be specified in the UNITS block is the length, so it seems a bit pointless to make UNITS a block type key rather than a simple key. However, to make its usage identical to the application in the adf main program the block form has been chosen to apply also here. The unit-of-length will apply to the grid specification in the input file. Default is angstrom.

Density

Generates the charge density in the grid. It is a simple keyword (not block-type).

density {fit} {frag} {ortho} {scf} {trans}

Occurrence of the word fit specifies that all densities specified in this record will be computed from the fit functions (an approximation to the exact density), rather than from the occupied molecular orbitals.

frag, ortho, scf, and trans causes each of the corresponding densities to be computed. frag stands for the sum-of-fragments (i.e. the initial) density, scf for the final result of the adf calculation, ortho for the orthogonalized fragments (orthogonalization to account for the Pauli repulsion, see the ADF User's Guide), and trans for excitation transition density.

Transition density is a product of initial and final states of an excitation. In the simplest case when initial and final states consist of one molecular orbital each, in this case the corresponding transition density is a product of the two MOs. To otain transition densities one needs to perform an excitations calculation with ADF, see EXCITATIONS keyword in ADF User's Guide. Transition densities for all excitations found in the input TAPE21 file will be calculated. The transition densities are always fit-densities.

If both the exact and the fit-densities are required the density keyword must be repeated, once with and once without the fit option specified.

The default (when the DENSITY key does not occur in the input file) is to calculate the final SCF density and the sum-of-fragments density.

Kinetic Energy Density and Electron Localization Function (ELF)

KinDens {frag} {orth} {scf}

Generates the Kinetic energy density and electron localization function on the grid.

Occurrence of any of the words requests calculation of the two quantities (KinDens and ELF) based on the corresponding density: sum-of-fragments, orthogonalized fragments, or SCF, respectively. If none of the options is present, scf is assumed.

Potential

Generates the coulomb and/or exchange-correlation potential in the grid.

potential {coul / XC} {frag} {ortho} {scf}

frag, ortho, and scf are as for the density: at least one must be specified.

coul and XC specify that the Coulomb potential, respectively the exchange-correlation potential must be computed. Precisely one of these options must be specified in the record. If both potential types are required, another input record with the potential key must be used.

In the present release the xc option is not yet operational.

The default (when the POTENTIAL key does not occur in the input) is to calculate the SCF Coulomb potential.

Orbitals

A block type key in which the required molecular orbitals are specified. The key can be repeated in input any number of times; all occurrences are read and applied.

Orbitals type
 (data)
END

The argument of the orbitals key (type) must be scf (for the scf orbitals) or frag (for the fragment orbitals) or loc (for the localized molecular orbitals, see the ADF User's Guide).

The frag option is not operational in the present release.

In many data records in the ORBITALS block, as noted in the description of these data records, you may specify a HOMOLUMO range.

A HOMOLUMO range is the following:

  {HOMO{{-}n}} {LUMO{{+}n}}

HOMO: the highest occupied orbital
HOMO-n, with n an integer: the highest (n+1) occupied orbitals
LUMO: the lowest virtual orbital
LUMO+n, with n an integer: the lowest (n+1) virtual orbitals.

The HOMO part, or the LUMO part, or both must be specified. The integer n with sign is always optional, and the sign is always optional (and has no meaning, it is intended to enhance readability).

Thus, as an example,

   HOMO-1 LUMO+1

means a range of 4 orbitals: the two highest occupied ones, and the two lowest virtuals.

Each data record in the orbitals block must have either of the following formats:

1. the word alpha or beta.
This specifies that subsequent records refer to spin-alpha or spin-beta orbitals respectively. In a restricted calculation this has no meaning and beta must not be specified.
alpha and/or beta may occur any number of times in the orbitals block. All records until the first occurrence of alpha or beta are assumed to refer to spin-alpha orbitals.
2. label n1, n2, n3, ...
label is one of the subspecies of the point group symmetry used in the adf calculation and n1 etc. are indices of the molecular orbitals (in that subspecies) that are to be computed. This format is meaningless and must not be used for the loc orbitals type, because localized orbitals do not (necessarily) belong anymore to a particular symmetry representation.
3. label HOMOLUMO
label is one of the subspecies of the point group symmetry used in the calculation, the orbitals follow from the HOMOLUMO range.
4. label occ or label virt
occ specifies all orbitals (in that symmetry representation) up to and including the highest occupied one. virt specifies all orbitals above the highest occupied one. In this context partially occupied orbitals are considered occupied. Note carefully that if in a particular symmetry representation an empty orbital is computed below the highest occupied one in that same representation (excited state), that particular empty one is included in the list of occ.
Again, this format is meaningless and must therefore not be used for the loc type of orbitals.
5. all occ or all virt or all HOMOLUMO
Specifies for each symmetry representation:

  • all orbitals up to and including the highest occupied one (in that symmetry), or
  • all orbitals above the highest occupied one, or
  • all orbitals defined by the HOMOLUMO range.

This form is not to be used for the LOC type of orbitals. However, using this for LOC will not result in an error but will be interpreted as identical to the following format.
6. all
This format must be used only for the LOC type of orbitals and simply means: all computed localized orbitals (irrespective of occupation numbers).
7. n1, n2, ...
a simple list of integer indices. This format must be used only for the loc type of orbitals since no reference is made to any symmetry representation. The indices refer of course to the list of localized orbitals as computed by adf, see the User's Guide.

The default value used when the ORBITALS key is not present is:

Orbitals SCF
 All HOMO-1 LUMO+1
End

Generic orbitals

There is also a possibility to calculate any orbital as long as it is present in the t21 file in the BAS representation. The input syntax is as follows:

Generic
 section1%variable1
 section2%variable2
End

In the example above, each line contains the section and variable name of the orbital in the input t21 file. The length of the variable should be equal to the number of atomic functions (naos) and it is supposed to contain expansion coefficients of the orbital on the basis of atomic (primitive) functions.

The calculation results are stored in the output file in sections and variables with exactly the same names as specified in the input. The section and variable names may contain spaces although the leading and training spaces are discarded.

Memory usage

The default value for the maximum amount of memory that can be used by the program to perform the required computations is chosen and defined at the installation of the whole package and is identical to the value for the main programs (adf, band). As for these programs, the actual value can be adjusted for any particular run with certain keywords, in exactly the same way as for adf and band.

Apart from the maximum total amount of memory you can also adjust some related technical parameters. These should only affect efficiency issues and in general you should not adjust them.

For the total amount of memory in Mbytes:

maxmemoryusage n

The default is defined by the installation. The maxmemoryusage value will have been chosen specifically by the user/installer to accommodate his machine(s).

Input control of memory usage is applicable only if dynamical memory allocation has been turned on in the installation (which is the default, but you may have adjusted that).

 

Copyright      Terms of Use      Privacy Policy
Search:
Home
About
News
Sitemap
Contact
Why ADF?
Brochure
Demos
Trial Version
How to buy
Downloads
FAQ
Newsletters
Documentation
Community