Difference between revisions of "CamCASP/Numerical"

From CUC3
Jump to navigation Jump to search
import>Am592
import>Am592
Line 11: Line 11:
 
that can be used to set the method used to calculate the integrals. In general, ''Switch = 0'' means use density-fitting, and ''Switch = 1'' means use the exact evaluation (no density-fitting) if possible. Not all integrals can be evaluated without density-fitting. See '''df_integrals.F90''' for details.
 
that can be used to set the method used to calculate the integrals. In general, ''Switch = 0'' means use density-fitting, and ''Switch = 1'' means use the exact evaluation (no density-fitting) if possible. Not all integrals can be evaluated without density-fitting. See '''df_integrals.F90''' for details.
   
The 4-index Coulomb integrals are robust (see [[CamCASP/Programming/3 | Robust Integrals]] for details.). So these can be obtained quite accurately using density-fitting, i.e.,
+
The 4-index Coulomb integrals are robust (see [[CamCASP/Programming/3 | Robust Integrals]] for details.). So these can be obtained quite accurately using density-fitting. In any case, there is no other way of calculating these integrals, so the ''Switch'' command has no effect on these.
  +
  +
On the other hand, the nuclear and overlap integrals are not ''robust'' when density-fitting is used (the error made in these integrals is linear in the error made in the density. So these should be evaluated using ''Switch = 1''. This is not the default in version 5.4.00 of the code, so it needs to be put in manually.
  +
  +
Here are some examples:
   
 
==Auxiliary Basis Sets==
 
==Auxiliary Basis Sets==

Revision as of 11:04, 14 May 2009

CamCASP => Numerical Issues

Introduction

This page contains information related to the numerical accuracy of CamCASP.

Integral Switch

Integrals can be calculated using density-fitting (the default). But for a few kinds of 2-index integrals (nuclear, overlap, etc.) there is the possibility of calculating them without density-fitting. This can often be advantageous, in fact, for nuclear and overlap integrals, this is probably the thing to do whenever you can.

The energy modules all have the optional command

 INTEGRAL Switch = <switch>

that can be used to set the method used to calculate the integrals. In general, Switch = 0 means use density-fitting, and Switch = 1 means use the exact evaluation (no density-fitting) if possible. Not all integrals can be evaluated without density-fitting. See df_integrals.F90 for details.

The 4-index Coulomb integrals are robust (see Robust Integrals for details.). So these can be obtained quite accurately using density-fitting. In any case, there is no other way of calculating these integrals, so the Switch command has no effect on these.

On the other hand, the nuclear and overlap integrals are not robust when density-fitting is used (the error made in these integrals is linear in the error made in the density. So these should be evaluated using Switch = 1. This is not the default in version 5.4.00 of the code, so it needs to be put in manually.

Here are some examples:

Auxiliary Basis Sets

MC or DC?

What sort of basis set