Dependency (basis set, fit set)¶
Conceivably, the sizes of basis and/or fit sets may be so large that the corresponding function sets become almost linearly dependent. When this happens, numerical problems arise and the results can be seriously affected (a strong indication that something is wrong is that the core orbital energies are shifted significantly from their values in normal basis sets). Although a few (incomplete) tests are carried out for the fit set, the program will generally not check such aspects and will carry on without noticing that the results may be unreliable.
A new feature has been implemented to address this issue. For reasons of compatibility with previous versions and also because our experience with it is limited so far, we have chosen not to make it the default.
You have to activate it explicitly. Our experience so far suggests that real problems arise only for large basis sets with very diffuse functions (i.e. not with the normal basis sets provided in the standard package). Starting from ADF2022, it is automatically activated in the case of (any variant of) GW.
The DEPENDENCY block enables internal checks and invokes countermeasures by the program when the situation is suspect. A few technical threshold parameters can also be set, but this is not necessary, assuming that the defaults are adequate.
DEPENDENCY
{bas tolbas}
{eig BigEig}
{fit tolfit}
End
tolbasA criterion applied to the overlap matrix of unoccupied normalized SFOs. Eigenvectors corresponding to smaller eigenvalues are eliminated from the valence space. Default value: 1e-4. Note: if you choose a very coarse value, you’ll remove too many degrees of freedom in the basis set, whereas if you set it too strictly, the numerical problems may not be countered adequately. Starting from AMS2022, ADF will use the rather large value of 5e-3 in the case of (any variant of) GW if it is not specified on input.
BigEigMerely a technical parameter. When the DEPENDENCY key is activated, any rejected basis functions (i.e. linear combinations that correspond to small eigenvalues in the virtual SFOs overlap matrix) are normally processed until diagonalization of the Fock matrix takes place. At that point, all off-diagonal matrix elements corresponding to rejected functions are set to zero, and the diagonal elements are set to BigEig. Default: 1e8.
tolfitSimilar to tolbas. The criterion is now applied to the overlap matrix of fit functions. The fit coefficients, which give the approximate expansion of the charge density in terms of the fit functions (for the evaluation of the Coulomb potential), are set to zero for fit functions, or combinations of fit functions, that correspond to small-eigenvalue eigenvectors of the fit overlap matrix. Default: 1e-10.
Notes:
Applying or adjusting tolfit is not recommended: it can seriously increase CPU usage, while dependency problems with the fit set are usually not so serious anyway.
Application of the dependency/tolbas feature should not be done automatically: you should test and compare results obtained with different values; some systems appear to be much more sensitive than others. We have, so far, not been able to identify an unambiguous pattern in these observations. Of course, when things become clearer in this respect, we will implement corresponding logic into the program.
When the dependency key is used, the number of functions that are effectively deleted is printed in the output file, in the SCF part of the computation section (cycle 1).
The
adf.rkf(TAPE21) result file of a calculation that used the DEPENDENCY key contains information about the omitted functions, and the same functions will also be omitted from the fragment basis when theadf.rkfis used as a fragment file.