From 9b91e531194d15b36debbe15399bf24179a14518 Mon Sep 17 00:00:00 2001 From: Kevin Gasperich Date: Mon, 3 Feb 2020 15:10:50 -0600 Subject: [PATCH] notes --- src/utils_periodic/qp2-pbc-diff.txt | 38 ++++++++++++++++++++++++----- 1 file changed, 32 insertions(+), 6 deletions(-) diff --git a/src/utils_periodic/qp2-pbc-diff.txt b/src/utils_periodic/qp2-pbc-diff.txt index dd8e69c2..c12ac095 100644 --- a/src/utils_periodic/qp2-pbc-diff.txt +++ b/src/utils_periodic/qp2-pbc-diff.txt @@ -1,10 +1,38 @@ -compare master-features_periodic -694df1d6498767c9b130dadf0e0cbd585d10d348 -8bfcfe8f21762aacd95bbeccb1c3c1d2f847cca3 + + +2e integrals printed from pyscf are in physicists' notation +mo energies from pyscf include ewald correction; in qp we just fold that into the nuclear repulsion +this may need to change for addition/removal of electrons (shift in enuc depends on number of electrons) + +mo_coef is not used in the periodic part of the code + use mo_coef_{real,imag,complex} + real and imag only used for I/O + mo_save routines handle this correctly (put real,imag parts of mo_coef_complex into two dble buffers; use ezfio_set to save real,imag parts to disk) + +AO 1e ints: + reuse old (real) provider as real part of ints + added new provider (double precision) for imag parts (mostly just for I/O?) + added new provider (complex) for real+i*imag + +MO 1e ints: + don't reuse old (real) provider for real part of ints + three linked providers (real,imag,complex) for each array of MO 1e ints + either read from disk or obtain via AO-to-MO transformation + +AO 2e ints: + see doc for map index details + see src/hartree_fock/fock_matrix_hf_complex.irp.f for example of iterating over values in map + + TODO: +symmetry + add provider for kconserv + restructure arrays? + mo coef and mo 1e ints already separate from real part of code (easy to add extra dimension) + ao 1e ints could also be handled in same way as mo 1e ints + ao_ints - reverse index ao_overlap_abs for complex ao_integrals_n_e_per_atom_complex? not implemented for periodic: @@ -14,8 +42,6 @@ ao_ints [ double precision, ao_two_e_integral_schwartz,(ao_num,ao_num) ] compute_ao_integrals_jl -scf - finish ao_two_e_integral_{alpha,beta}_complex (need reverse index?) mo_two_e_ints not started