Difference between revisions of "CamCASP/Programming/2"

From CUC3
Jump to navigation Jump to search
import>Am592
import>Am592
Line 4: Line 4:
 
This module consists of modules to calculate integrals needed for density-fitting, the density-fitting module, and modules to calculate integrals *using* primitive integrals in the auxiliary basis set and the density-fitting solution.
 
This module consists of modules to calculate integrals needed for density-fitting, the density-fitting module, and modules to calculate integrals *using* primitive integrals in the auxiliary basis set and the density-fitting solution.
   
Through '''module df_int_operations''' and a lot of procedure overloading, a number of logical and computational operations are hidden from the higher-level energy subroutines, and
+
Through '''module df_int_operations''' and a lot of procedure overloading, a number of logical and computational operations are hidden from the higher-level energy subroutines. For example, to calculate the generalized ''OOOOAAAB''-type 4-index Coulomb integral needed for the first-order exchange repulsion, subroutine calculate_e1exchS2 makes a call to '''open_gen_2eint('OOOO','AAAB',...)''' which does the following:
  +
* '''DF''': Performs the density-fitting for monomer A and dimer density-fitting. The integrals needed for the density-fitting will be automatically calculated.
  +
* '''Integrals''': The generalized integrals need various overlap, nuclear and 2-index Coulomb integrals. These will be identified and calculated.
  +
* '''Assembly''': All the components will be assembled into the required integrals.

Revision as of 14:38, 24 February 2009

CamCASP => Programming => The DF-INTEGRAL module

Outline

This module consists of modules to calculate integrals needed for density-fitting, the density-fitting module, and modules to calculate integrals *using* primitive integrals in the auxiliary basis set and the density-fitting solution.

Through module df_int_operations and a lot of procedure overloading, a number of logical and computational operations are hidden from the higher-level energy subroutines. For example, to calculate the generalized OOOOAAAB-type 4-index Coulomb integral needed for the first-order exchange repulsion, subroutine calculate_e1exchS2 makes a call to open_gen_2eint('OOOO','AAAB',...) which does the following:

  • DF: Performs the density-fitting for monomer A and dimer density-fitting. The integrals needed for the density-fitting will be automatically calculated.
  • Integrals: The generalized integrals need various overlap, nuclear and 2-index Coulomb integrals. These will be identified and calculated.
  • Assembly: All the components will be assembled into the required integrals.