Basis sets and atomic fragments

STO basis sets

The basis functions used in ADF are commonly known as Slater Type Orbitals (STOs). The ADF package comes with a database of STO basis sets. The basis sets are simple ASCII files and they are located in the directory $ADFHOME/atomicdata. A description of the basis set file format can be found in the appendix Basis set file format.

A basis set can roughly be characterized by its size (single-, double-, triple-zeta; with or without polarization) and by the level of frozen core approximation. The standard basis sets available in ADF are:

  • SZ Minimal basis sets: single-zeta without polarization. The exponents of the functions correspond to the standard STO-3g basis sets used in programs that employ Gaussian type basis functions. Type-SZ files are provided only for the lighter elements, up to Kr.
  • DZ Double-zeta basis sets without polarization functions. A triple-zeta set is used for the 3d shells of the first row transition metals, the 4f shells of the Lanthanides, and the 5f shells of the Actinides. In all these cases a double-zeta set provides a rather poor expansion basis for the true (numerically computed) atomic orbital.
  • DZP Double zeta polarized basis. The basis sets in DZP are derived from DZ, extended with a polarization function. This type of basis sets is thus far provided only for the elements up to Ar, and for the 4p series Ga through Kr.
  • TZP Triple-zeta basis sets. A polarization function is added for H through Ar and for Ga through Kr (from DZP)
  • TZ2P Triple-zeta with two polarization functions, for H through Ar and Ga through Kr (from DZP). Note that the TZ2P basis set files are provided only for the lighter elements, up to Kr. The ZORA/TZ2P basis set files are provided for all elements. Typically for all elements one polarization function is added compared to the corresponding TZP basis set. Note, however, that TZ2P will not always give you extra basis functions for most lanthanide and actinide frozen core basis sets.

In addition to the standard basis sets, the database contains directories with special basis sets:

  • TZ2P+ For transition metals Sc-Zn and lanthanides (ZORA) only: as TZ2P, but with extra d-STO (3d metals), and extra f-STO (lanthanides, ZORA)
  • ZORA contains basis sets designed for ZORA relativistic calculations (relativistic calculation have special basis set requirements, especially in the core region). ZORA basis sets with frozen core should be used exclusively in relativistic calculations with the ZORA approach, while all-electron ZORA basis sets can be used for both relativistic and non-relativistic calculations. The ZORA/QZ4P basis set can be loosely described as core triple zeta, valence quadruple zeta, with four sets of polarization functions.
  • ET contains several even tempered basis sets which enables one to go to the basis set limit, such as ET/ET-pVQZ, ET/ET-QZ3P, ET/ET-QZ3P-1DIFFUSE, ET/ET-QZ3P-2DIFFUSE, ET/ET-QZ3P-3DIFFUSE. The accuracy of the smallest basis set in this directory can loosely be described as quadruple zeta in the valence with three polarization functions added. This directory also contains basis sets with extra diffuse functions. In Response calculations one should use such large basis sets. Very diffuse functions are absolutely necessary to get good results for excitation energies corresponding to high lying orbitals.
  • AUG contains several augmented standard basis sets which enables one to get reasonable results for excitation energies with relatively small basis sets, such as AUG/ASZ, AUG/ADZ, AUG/ADZP, AUG/ATZP, AUG/ATZ2P.

Furthermore, in $ADFHOME/atomicdata you will find:

  • Special/AE contains non-relativistic basis sets for all-electron calculations. However, these files cannot be used as such, because they don’t contain any fit sets. They serve as starting point for the development of (new) basis sets. For some of the all-electron sets appropriate fit sets have already been generated. The corresponding data base files can be found in the appropriate sub-directories SZ, DZ, DZP, et cetera.
  • Special/Vdiff contains non-relativistic basis sets that include very diffuse functions. These were recommended to be used for Response calculations. Very diffuse functions are absolutely necessary to get good results for excitation energies corresponding to high lying orbitals. Recommendation: use the even tempered basis sets in the ET directory, since these basis sets are better.
  • Special/MDC contains non-relativistic basis sets with optimized fit functions especially useful for accurate Multipole Derived Charges. These are available only for a limited number of basis sets.
  • Dirac contains the input files for the DIRAC auxiliary program (see the RELATIVISTIC keyword).
  • Band contains input files for the BAND program (see the BAND User’s Guide)
  • ForceFields contains force field files to be used in the QM/MM functionality. Their structure and contents are described in the QM/MM manual. See also the pdb2adf utility (ADF QM/MM documentation), which transforms a PDB file into an ADF input file, for use with QM/MM.

Frozen core

Multiple occurrences of one chemical element in the same basis set sub-directory correspond to different levels of the frozen core approximation. Manganese for instance may have a basis set for an atom with a frozen 2p shell and another one with a frozen 3p shell. The file names are self-explanatory: Mn.2p stands for a data file for Manganese with frozen core shells up to the 2p level. An all-electron basis set would correspond to a file that has no frozen-core suffix in its name.

Electronic configurations specific basis sets

Another type of multiple occurrence of one element in one basis set directory may be found when basis sets have been developed for different electronic configurations: the Slater-type basis sets are fitted then to numerical orbitals from runs with different occupation numbers. Currently this applies only for Ni (in $ADFHOME/atomicdata/ DZ, TZP and TZ2P), where basis sets are supplied for the d8s2 and the d9s1 configurations respectively. Since in earlier releases only the d8s2 variety was available, the names of the basis set files are Ni.2p (for d8s2) and Ni_d9.2p, and likewise Ni.3p and Ni_d9.3p.

References on basis sets

Older references for STO basis sets are Refs. [336-338]. See also the paper by Raffennetti on design and optimization of even-tempered STO basis sets [317]. The paper by Del Chong describes completeness profiles as a visual tool in estimating the completeness of a basis set [318]. Finally, Zeiss and coworkers [319] describe field-induced polarization functions for STOs. These are useful for defining basis sets with diffuse functions for (hyper)polarizability and other property calculations.

The procedure for the usage and optimization of fit functions is described by Baerends et al. [308].

For documentation on how to make custom even-tempered basis/fit sets, see the old ADF 2014 documentation.

Available basis sets

The next tables give an idication which all electron (ae) and frozen core (fc) standard basis sets are available for the different elements in ADF.

Available standard basis sets for non-relativistic (non-rel) and ZORA calculations H-Kr (Z=1-36)
Element ae or fc SZ, DZ DZP TZP, TZ2P TZ2P+ QZ4P, ET AUG
H-He (Z=1-2) ae Yes Yes Yes   Yes Yes
Li-Ne (Z=3-10) ae Yes Yes Yes   Yes Yes
  .1s Yes Yes Yes     non-rel
Na-Mg (Z=11-12) ae Yes Yes Yes   Yes Yes
  .1s .2p Yes Yes Yes     non-rel
Al-Ar (Z=13-18) ae Yes Yes Yes   Yes Yes
  .2p Yes Yes Yes     non-rel
K-Ca (Z=19-20) ae Yes Yes Yes   Yes Yes
  .2p .3p Yes Yes Yes     non-rel
Sc-Zn (Z=21-30) ae Yes   Yes Yes Yes Yes
  .2p .3p Yes   Yes Yes   non-rel
Ga-Kr (Z=31-36) ae Yes Yes Yes   Yes Yes
  .3p .3d Yes Yes Yes     non-rel
Available standard basis sets for non-relativistic calculations Rb-Cm (Z=37-96)
Element fc DZ, TZP
Rb-Sr (Z=37-38) .3p .3d .4p Yes
Y-Cd (Z=39-48) .3d .4p Yes
In-Ba (Z=49-56) .4p .4d Yes
La-Lu (Z=57-71) .4d .5p Yes
Hf-Hg (Z=72-80) .4d .4f Yes
Tl-Rn (Z=81-86) .4d .4f .5p .5d Yes
Fr-Ra (Z=87-88) .5p .5d Yes
Ac-Cm (Z=89-96) .5d Yes
Available standard basis sets for ZORA calculations Rb-Uuo (Z=37-118)
Element ae or fc DZ, TZP, TZ2P TZ2P+ QZ4P
Rb-Sr (Z=37-38) ae Yes   Yes
  .3p .3d .4p Yes    
Y-Cd (Z=39-48) ae Yes   Yes
  .3d .4p Yes    
In-Ba (Z=49-56) ae Yes   Yes
  .4p .4d Yes    
La-Yb (Z=57-70) ae Yes Yes Yes
  .4d .5p Yes Yes  
Lu (Z=71) ae Yes   Yes
  .4d .5p Yes    
Hf-Hg (Z=72-80) ae Yes   Yes
  .4d .4f Yes    
Tl (Z=81) ae Yes   Yes
  .4d .4f .5p Yes    
Pb-Rn (Z=82-86) ae Yes   Yes
  .4d .4f .5p .5d Yes    
Fr-Ra (Z=87-88) ae Yes   Yes
  .5p .5d Yes    
Ac-Lr (Z=89-103) ae Yes   Yes
  .4f .5d Yes    
Rf-Cn (Z=104-112) ae Yes   Yes
  .4f .5d .5f Yes    
Uut-Uuo (Z=113-118) ae Yes   Yes
  .5d .5f Yes    

For heavier elements, from Rb on, the non-relativistic all electron basis sets are missing. In the ZORA basis sets directory you will find all-electron basis sets for all elements (Z = 1-118), which also could be used in non-relativistic calculations. Note, however, that these basis sets were optimized for ZORA calculations, which means that non-relativistic calculations will not always give you the expected accuracy. Non-relativistically optimized basis sets for the heavier elements are provided in a separate directory AE, which contains basis sets of single-, double- and triple-zeta quality indicated respectively by suffixes ‘sz’, ‘dz’, and ‘tz’. The files in Special/AE/ are not complete basis set files, because they don’t contain fit sets (the usage and relevance of fit functions is explained later).

Basis sets directories

Basis sets can be found in the directory $ADFHOME/atomicdata, for non-relativistic calculations in the sub-directories SZ, DZ, DZP, TZP, TZ2P, TZ2P+, for ZORA calculations in ZORA/SZ, ZORA/DZ, ZORA/DZP, ZORA/TZP, ZORA/TZ2P, ZORA/TZ2P+, ZORA/QZ4P, the augmented basis sets can be found in AUG/ASZ, AUG/ADZ, AUG/ADZP, AUG/ATZP, AUG/ATZ2P, and the even tempered basis sets in ET/ET-pVQZ, ET/ET-QZ3P, ET/ET-QZ3P-1DIFFUSE, ET/ET-QZ3P-2DIFFUSE, ET/ET-QZ3P-3DIFFUSE. All electron basis sets can be used in non-relativistic and ZORA calculations.

Basis sets acronyms

  • SZ: single zeta
  • DZ: double zeta
  • DZP: double zeta + 1 polarization function
  • TZP: valence triple zeta + 1 polarization function
  • TZ2P: valence triple zeta + 2 polarization function
  • TZ2P+: = TZ2P + extra d (3d metals) or extra f (lanthanides)
  • QZ4P: valence quadruple zeta + 4 polarization function, relativistically optimized
  • ET: even tempered
    • pVQZ, QZ3P: valence quadruple zeta + 3 polarization function, even tempered
    • QZ3P-nD: = QZ3P + n diffuse sets of s, p, d, and f functions, even tempered
  • AUG: augmented
    • ASZ, ADZ, ADZP, ATZP, ATZ2P: augmented for use in TDDFT

All electron or frozen core

  • element name (without suffix): all electron
  • .1s frozen: 1s
  • .2p frozen: 1s 2s 2p
  • .3p frozen: 1s 2s 2p 3s 3p
  • .3d frozen: 1s 2s 2p 3s 3p 3d
  • .4p frozen: 1s 2s 2p 3s 3p 3d 4s 4p
  • .4d frozen: 1s 2s 2p 3s 3p 3d 4s 4p 4d
  • .4f frozen: 1s 2s 2p 3s 3p 3d 4s 4p 4d 4f
  • .5p frozen: 1s 2s 2p 3s 3p 3d 4s 4p 4d 5s 5p (La-Lu)
  • .5p frozen: 1s 2s 2p 3s 3p 3d 4s 4p 4d 4f 5s 5p (other)
  • .5d frozen: 1s 2s 2p 3s 3p 3d 4s 4p 4d 4f 5s 5p 5d
  • .6p frozen: 1s 2s 2p 3s 3p 3d 4s 4p 4d 4f 5s 5p 5d 6s 6p (Ac-Lr)
  • .5f frozen: 1s 2s 2p 3s 3p 3d 4s 4p 4d 4f 5s 5p 5d 5f 6s 6p

The Basis Key

The basis set can be specified in the input via the BASIS key block:

BASIS
   Type bastyp
   Core coretyp
   Path apath
   Atom atompath
   ...
   FitType fittyp
   CreateOutput FileName
End

All subkeys are optional. For most calculations you need only to set the Type and Core subkeys.

Type bastyp

bastyp is the type of basis set to use, and must correspond to the name of a directory in $ADFRESOURCES (= $ADFHOME/atomicdata), or within $ADFRESOURCES/ZORA for ZORA calculations. Valid standard basis set types are: SZ, DZ, DZP, TZP, TZ2P, and QZ4P. More basis set types can be found in the $ADFRESOURCES directory, such as the TZ2P+ basis set, the augmented basis sets AUG/ASZ, AUG/ADZ, AUG/ADZP, AUG/ATZP, AUG/ATZ2P, and the even tempered basis sets ET/ET-pVQZ, ET/ET-QZ3P, ET/ET-QZ3P-1DIFFUSE, ET/ET-QZ3P-2DIFFUSE, ET/ET-QZ3P-3DIFFUSE. ZORA will be included only for the standard basis set types: SZ, DZ, DZP, TZP, TZ2P, and QZ4P, and if the calculation is a ZORA calculation. In case one of the standard basis set types is used, but no basis set of the specified type is available, ADF will try to use a larger basis set.

Default: DZ.

Core coretyp

coretyp is the type of frozen core to use. Allowed values: None, Small, Medium, Large. If no basis set with frozen core is available, an all electron basis set will be used. If there is only one basis set with frozen core, Small, Medium and Large are identical. If there are two basis sets with frozen core, Medium and Large are identical.

Default: Large.

Path apath

apath is an alternative directory with basis sets to use. ADF looks for appropriate basis sets only within this directory.

Default: $ADFRESOURCES

Atom atompath

In this subkey Atom should be replaced by the name of the atomic fragment for which you want to specify the basis, for example ‘O’.

Use this key to specifically select a basis set for this atom:

  • an absolute path to a basis file (for example $ADFRESOURCES/DZ/O.1s)
  • a relative path to a basis file (for example DZ/O.1s)
  • a filename within the Type directory (for example O.1s)

An absolute path will always be used as specified.

A relative path is relative to the value of the PATH (or PATH/ZORA) subkey.

A filename is always relative to PATH/Type or PATH/ZORA/TYPE directory.

The relative path or filename will automatically switch to a ZORA basis set only in case of the standard basis set types: SZ, DZ, DZP, TZP, TZ2P, and QZ4P, and if the calculation is a ZORA calculation.

You can have one Atom subkey for each basic atom type in your input.

Since you pick explicitly the file to use, you are responsible for choosing a reasonable basis set.

FitType fittyp

fittyp is the type of auxiliary fit set to use, and must correspond with the name of the directory as used within $ADFRESOURCES, or within $ADFRESOURCES/ZORA for ZORA calculations. Note that this is an expert option. For all atoms the fit set will be changed if this key is used. The fit set for a given atom is then taken from the all-electron basis set file for the same element as is the atom. Typical usage: one might want a larger fit set than is present on the basis file, and then fittyp could be: ZORA/QZ4P. More valid fit set types can be found in the $ADFRESOURCES directory. If the requested directory or fit set is not available, then this option might fail without warning. It is absolutely a bad idea to take a fit set from another basis set file, corresponding to some frozen core level, and use that in an all-electron basis set: this will give significant errors and make results worthless.

Default: the auxiliary fit set that is available in the requested basis file.

CreateOutput FileName
Use the CreateOutput option to change where the output from ADF create runs and the Dirac program goes. If it is not present, it will go to standard output. The special value ‘NONE’ for FileName makes it disappear, and any other value will be used as a file name in which to save the output.

Warning: Do not include the Fragments or Corepotentials keys when using the Basis key.

Automatic mode

The following input will run a geometry optimization on water, using a (almost) minimal input:

ATOMS
   O  0  0  0
   H  1  1  0
   H -1  1  0
End

Basis
   Type TZP
End

Geometry
End
  • The ATOMS block key specifies the geometry of the system;
  • the GEOMETRY key instructs ADF to perform a geometry optimization;
  • the BASIS block key instructs ADF to run the create runs automatically, using a TZP basis sets.

The automatic mode will be used when the Basis key is present in the input.

In automatic mode ADF will first create fragment files for all the basic atom fragments found in the ATOMS key block. Normally this means that for each atom type in your molecule a fragment file will be created.

You may have different fragments with the same atom: add a dot and a name (without spaces) after the name of the element, as described in the ATOMS key. For example: H.1 and H.2. In this example two fragment files will be created: one for the H.1 fragment and one for the H.2 fragment. Using the ATOM subkey you may assign different basis sets to these fragments. Another consequence is that the H.1 and H.2 atoms will never be symmetry equivalent to each other.

In case of a relativistic calculation, the DIRAC program will also be run automatically, and the create runs will include the correct relativistic key and corresponding basis sets. For ZORA calculations, ADF first tries to locate a special ZORA basis set. If this does not succeed it will use a normal basis set if the required basis set does not use a frozen core.

The resulting fragment files will be named t21.atom, with ‘atom’ replaced by the names of the basic atoms present. In case of a relativistic calculation, the corepotentials will be stored on t12.rel.

Create mode

In Create mode the input file can be extremely simple. First, the geometry is trivial: one atom at the origin. Indeed, no coordinates etc. are read from input; any such items are ignored.

Second, the problem is computationally so simple that default settings for precision aspects, such as convergence criteria and levels of numerical integration accuracy, are internally defined to be much more stringent than in normal calculations. These aspects don’t have to be looked after.

In Create mode you need only a one-line input file of the following form:

CREATE Atomtype Datafile
Create
is the keyword. The remainder of the record (atomtype datafile) is the argument.
Atomtype
is a name for the basic atom that you want to create. The program reads and interprets this name. Therefore, the name must begin with the standard chemical symbol (H, He, Li, ...) of the element to be created. Optionally the name may have an suffix of the form .text. The suffix begins with a period (.); the part after the period (text) is at your discretion as long as it does not contain a delimiter. A few examples:
Examples of appropriate and inappropriate atom type names used with the keyword create.
appropriate names inappropriate names
K Si-with-core (no period after the chemical symbol)
Li.newbasis $HOME/atomicdata/C.dzp (not beginning with the chemical symbol)
P.1992/Feb./30 Ga.nocore,smallbasis (contains a comma (a delimiter))
  Sodium.2s (Sodium is not the symbol for this element (Na))
Datafile
specifies the data file that contains the basis set and related items. It may contain a full path if the file does not reside in the working directory of the job. The datafile part is optional. If you omit it, ADF assumes that the file name is identical to the atom type name, i.e. Create Atomtype is equivalent to and interpreted as Create Atomtype Atomtype In view of the restrictions that apply to the atom type name, the option to use the short form can only be used if the file name has the appropriate format. To make the input file easier to understand for a human reader you may, for Datafile, also type file=Datafile, where file= must be typed as such, and datafile is the name of the file.

So you could have a very simple calculation as follows (the ‘creation’ of a Carbon atom);

$ADFBIN/adf << eor
 Create C.dzp
eor

The presence of the keyword create sets the computational mode of ADF to: create a basic atom. The argument (C.dzp) is then analyzed and found to have as initial part C, telling ADF that we’ll be creating a Carbon atom. Since the file-specification part is missing, the data file with the basis set must be a file with the name C.dzp.

More often you will directly address a basis set file that is not local, but located in $ADFHOME/atomicdata. The script could then be:

$ADFBIN/adf << eor
 Create C $ADFHOME/atomicdata/DZ/C.1s
eor

Here you address the file ‘C.1s’ in the sub-directory DZ/ (this contains basis sets of double-zeta quality). Examine logfile and out to check that everything has gone well.

A considerable number of basis set files are included in the ADF. You can also create basic atoms corresponding to so-called Alternative Elements, with for instance a non-integer nuclear charge or a different mass. See the next section.

Ghost Atoms, Non-standard Chemical Elements

The atom type names used under atoms (and in the create record) must begin with the standard chemical element symbol (H, He, Li...). The program uses this to deduce the nuclear charge and other elemental properties.

For the standard elements one can redefine the atomic mass (for instance to define a suitable isotope).

It is also possible to define an artificial chemical element with user-specified properties. Such new elements are denoted Alternative Elements; and may for instance have a non-integer nuclear charge. The chemical symbol of an Alternative Elements is Gh (for ghost) or J: either one is okay.

The BASIS key recognizes elements denoted with Gh.atom in the ATOMS key as being ghost atoms. If one does not specifically select a basis set for this ghost atom, the all electron basis set for the atom is selected in the creation of the ghost atom using the type of basis set chosen with the BASIS key. The atom name must begin with the standard one- or two-character symbol for the chemical element: Gh.H, Gh.He, Gh.Li, and so on. Optionally it may be appended by .text, where text is any string (not containing delimiters). Examples: Gh.H, Gh.Mn.3, Gh.Cu.dz-new.

You can create J-type or Gh-type basic atoms and use them subsequently as fragments in a molecule.

Automatic mode

To make different isotopes or elements one can use the ATOMPROPS key in combination with the BASIS key. Typical use would be for the nuclear mass.

ATOMPROPS
   Atom.name {m=mass} {q=Q}
End
mass
The atomic mass, in atomic mass units, which will then override the default value for the indicated chemical element. Can be used, for example, for the calculation of isotopes. If not supplied for a J-element it will be set to the atomic mass of the standard chemical element with nuclear charge A, where A equals Q rounded to the nearest integer, but not smaller than 1 and not larger than 118.
Q
The nuclear charge. The q= option must be used for a J-element. It must not be used for standard chemical elements.
name
In Atom.name the first letter after the dot should be a capital.

Example: three different hydrogen isotopes:

Atoms
   N         0.000000    0.000000    0.010272
   H        -0.471582   -0.816803    0.407861
   H.D       0.943163    0.000000    0.407861
   H.T      -0.471582    0.816803    0.407861
End
AtomProps
   H.D m=2.014101778
   H.T m=3.01604927
End
Basis
   Type TZP
End

Create mode

For the standard elements one can redefine the atomic mass (for instance to define a suitable isotope).

CREATE H {m=value} datafile
value
The atomic mass, which will then override the default value for the indicated chemical element.

The nuclear charge of an Alternative Element is not pre-defined, and must therefore be specified in the Create run. The atomic mass is optionally supplied.

CREATE J.NewElement q=Q {m=mass} datafile
J.NewElement
The atom type name, beginning with the alternative chemical element symbol J. It has an (optional) suffix of the form .text, completely similar to the construction of atom type names from standard chemical element symbols.
Q
The nuclear charge. The q= option must be used for a J-element. It must not be used for standard chemical elements.
mass
The atomic mass, in atomic mass units. If not supplied it will be set to the atomic mass of the standard chemical element with nuclear charge A, where A equals Q rounded to the nearest integer, but not smaller than 1 and not larger than 118.
datafile
The Create data file.

If you want to use the Alternative Element feature you’ll have to construct your own Create data file, suited to the Alternative Element you have in mind. The appendix Basis set file format describes the format of such a file.

Use as fragment

J-type basic atoms can be used like any other basic atoms to build up larger fragments and molecules. In fact, J (or Gh) can be considered just one more chemical symbol along with the 118 traditional ones. The element J has no pre-defined properties. Therefore you have to specify them where appropriate (c.f. the nuclear charge and atomic mass).

You may have different J-elements in a molecule, with different nuclear charges for instance. Yet, they must be denoted with the same chemical symbol J; the difference can only be made clear by the .text suffix in the atom type name. It’s convenient to make this suffix a concise but clear description of the main characteristics.

Nuclear Model

By default in ADF a point charge model is used for the nuclear charge distribution. Alternatively, one can use a spherical Gaussian nuclear charge distribution model, see Ref. [270]. Nuclear finite size effects can have large effects on hyperfine interactions (ESR A-tensor, NMR spin-spin coupling) if heavy atoms like, for example, Mercury (Hg), are involved. In Ref. [270] it was asserted that the isotropic J-couplings (parameters in NMR spin-spin coupling) are typically reduced in magnitude by about 10 to 15 % for couplings between one of the heaviest NMR nuclei and a light atomic ligand, and even more so for couplings between two heavy atoms. This Ref. [270] gives more details on the parameters used in the Gaussian nuclear charge distribution model. Note that one needs basis sets with very tight functions to see any effect of using a finite size of the nucleus instead of a point nucleus. Such basis sets can be found for some elements in $ADFRESOURCES/ZORA/jcpl, which are basis sets especially designed for NMR spin-spin coupling calculations.

A Gaussian nuclear charge distribution will be used if one uses the NUCLEARMODEL key with:

NUCLEARMODEL gaussian
NUCLEARMODEL nuclearmodel
The argument nuclearmodel of the key NUCLEARMODEL can be ‘pointcharge’ (default) or ‘gaussian’. It should be included in the Create run of an atomic calculation and in the molecular calculation. If the BASIS key is used it will be automatically added in the Create run of the atoms. If this key is absent a point charge nuclear model is used.

In the ADF output parameters will be shown for the Gaussian nuclear charge distribution if one includes in the input for ADF:

PRINT Nuclei

Starting from ADF2013 ADF also uses a finite distribution of the nuclear magnetic dipole moment for the calculation of the A-tensor.