Difference between revisions of "CamCASP/Programming/7"

From CUC3
Jump to navigation Jump to search
import>Am592
import>Am592
Line 1: Line 1:
 
[[CamCASP]] => [[CamCASP/Programming | Programming]] => Propagator
 
[[CamCASP]] => [[CamCASP/Programming | Programming]] => Propagator
  +
  +
The new propagator module (in CamCASP 5.5-dev) can create the propagator in the LDAX approximation very efficiently. Construction scales as <math>O(N^4)</math>. Further, the kernel integrals are calculated with <math>O(N^3)</math> scaling (one power for grid points and two powers for auxiliary basis functions). So the new propagator can be calculated very efficiently. But the ALDAX approximation in the kernel results in significant errors in the polarizabilities and (probably dispersion energies).
  +
  +
As a temporary measure we could calculate the hybrid ADALX+CHF (not ALDA - I still don't have the VWN correlation functional programmed, but this is not a large error) by back transforming the kernel using the DF solution. So we go from a two-index object to a four-index object, then form the full propagator, and then transform back to a two-index density-fitted propagator. This is a round-about way, but should work and will still benefit from the efficiency gains in evaluating the kernel integrals.
   
 
==Benzene==
 
==Benzene==

Revision as of 18:15, 20 April 2010

CamCASP => Programming => Propagator

The new propagator module (in CamCASP 5.5-dev) can create the propagator in the LDAX approximation very efficiently. Construction scales as <math>O(N^4)</math>. Further, the kernel integrals are calculated with <math>O(N^3)</math> scaling (one power for grid points and two powers for auxiliary basis functions). So the new propagator can be calculated very efficiently. But the ALDAX approximation in the kernel results in significant errors in the polarizabilities and (probably dispersion energies).

As a temporary measure we could calculate the hybrid ADALX+CHF (not ALDA - I still don't have the VWN correlation functional programmed, but this is not a large error) by back transforming the kernel using the DF solution. So we go from a two-index object to a four-index object, then form the full propagator, and then transform back to a two-index density-fitted propagator. This is a round-about way, but should work and will still benefit from the efficiency gains in evaluating the kernel integrals.

Benzene

  • Basis: Sadlej
  • Old timings obtained using different processor (AMD), so using pyridine/sadlej timings (note: smaller basis set!):
    • DALTON: Kernel integrals: 3.3 hours
    • CamCASP: (properties) 2.5 hours
  • New timings (ALDAX kernel):
    • Kernel: 6.5 minutes
    • CamCASP (only total polarizabilities): 12 minutes

Not quite a good comparison, but you get the idea. The new propagator is very very fast.

Accuracy is poor. ALDA(X) is just not good enough for <math>\pi</math>-conjugated systems. Here are the dipole-dipole polarizabilities:

ALDA+CHF kernel:

    43.247483     0.000000     0.000000
     0.000000    80.710408     0.000000
     0.000000     0.000000    80.713103
    Isotropic polarizability:    68.22366473
  Anisotropic polarizability:    37.46427266

ALDAX kernel:

 Order:    1 by    1
    39.035569     0.000000     0.000000
     0.000000    70.478442     0.000000
     0.000000     0.000000    70.487565
    Isotropic polarizability:    60.00052553
  Anisotropic polarizability:    31.44743535

That's a 12% error.