00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028 #if !defined(_XC_MATRIX_SPARSE_H_)
00029 #define _XC_MATRIX_SPARSE_H_ 1
00030
00031 #define BEGIN_NAMESPACE(x) namespace x {
00032 #define END_NAMESPACE(x) }
00033
00034 #include "basisinfo.h"
00035 #include "matrix_typedefs.h"
00036 #include "realtype.h"
00037
00038
00039 typedef ergo_real real;
00040
00041 BEGIN_NAMESPACE(Dft)
00042
00043 real getXC_seq(const BasisInfoStruct& bis, const IntegralInfo& integralInfo,
00044 const Molecule& mol, const Dft::GridParams& gss,
00045 int nelectrons, const symmMatrix& dmat,
00046 symmMatrix& ksm, real* edfty,
00047 std::vector<int> const & permutationHML);
00048
00049 real getXC_mt(const BasisInfoStruct& bis, const IntegralInfo& integralInfo,
00050 const Molecule& mol, const Dft::GridParams& gss,
00051 int nElectrons, const symmMatrix& dens,
00052 symmMatrix& xcm, real* xcEnergy,
00053 std::vector<int> const & permutationHML);
00054
00055 real getUXC_seq(const BasisInfoStruct& bis, const IntegralInfo& integralInfo,
00056 const Molecule& mol, const Dft::GridParams& gss, int nElectrons,
00057 const symmMatrix& densA, const symmMatrix& densB,
00058 symmMatrix& xcA, symmMatrix& xcB, real* xcEnergy,
00059 std::vector<int> const & permutationHML);
00060
00061 real getUXC_mt(const BasisInfoStruct& bis, const IntegralInfo& integralInfo,
00062 const Molecule& mol, const Dft::GridParams& gss, int nElectrons,
00063 const symmMatrix& densA, const symmMatrix& densB,
00064 symmMatrix& xcA, symmMatrix& xcB, real* xcEnergy,
00065 std::vector<int> const & permutationHML);
00066
00067 END_NAMESPACE(Dft)
00068
00069 #endif