mirror of
https://github.com/QuantumPackage/qp2.git
synced 2024-08-25 05:31:48 +02:00
notes
This commit is contained in:
parent
1f353e6ca0
commit
56cc1c6b40
@ -1,27 +1,77 @@
|
||||
changed, but not by me
|
||||
ocaml/Input_determinants_by_hand.ml
|
||||
ocaml/qp_set_mo_class.ml
|
||||
src/cipsi/run_pt2_slave.irp.f
|
||||
src/cipsi/selection.irp.f
|
||||
src/cipsi/slave_cipsi.irp.f
|
||||
src/davidson/EZFIO.cfg
|
||||
src/davidson/davidson_parallel.irp.f
|
||||
src/davidson/diagonalization_hs2_dressed.irp.f
|
||||
src/davidson/input.irp.f
|
||||
src/davidson/parameters.irp.f
|
||||
src/davidson/u0_h_u0.irp.f
|
||||
src/determinants/EZFIO.cfg
|
||||
src/determinants/single_excitations.irp.f
|
||||
compare master-features_periodic
|
||||
694df1d6498767c9b130dadf0e0cbd585d10d348
|
||||
8bfcfe8f21762aacd95bbeccb1c3c1d2f847cca3
|
||||
|
||||
src/ao_one_e_ints/ao_ortho_canonical_complex.irp.f
|
||||
no {dump,load}_ao_integrals
|
||||
TODO:
|
||||
ao_ints
|
||||
reverse index
|
||||
s_half_inv_complex
|
||||
ao_overlap_abs for complex
|
||||
ao_integrals_n_e_per_atom_complex?
|
||||
not implemented for periodic:
|
||||
ao_two_e_integral
|
||||
ao_two_e_integral_schwartz_accel
|
||||
compute_ao_two_e_integrals
|
||||
[ double precision, ao_two_e_integral_schwartz,(ao_num,ao_num) ]
|
||||
compute_ao_integrals_jl
|
||||
|
||||
mo_one_e_ints
|
||||
make separate providers for real/imag/complex parts for periodic
|
||||
|
||||
mo_basis
|
||||
decide how to handle real/imag/complex parts of mo_coef (maybe just need to chage save_mos?)
|
||||
reorder_core_orb: implement for periodic
|
||||
save_mos_no_occ: implement for periodic
|
||||
|
||||
scf
|
||||
finish complex DIIS
|
||||
finish ao_two_e_integral_{alpha,beta}_complex (need reverse index?)
|
||||
finish extrapolate_Fock_matrix_complex
|
||||
finish eigenvectors_Fock_matrix_AO_complex
|
||||
|
||||
mo_two_e_ints
|
||||
not started
|
||||
|
||||
|
||||
|
||||
|
||||
############################
|
||||
# utils, ezfio, ... #
|
||||
############################
|
||||
|
||||
periodic:
|
||||
ocaml/Input_mo_basis.ml
|
||||
added mo_coef_imag array (real)
|
||||
still needs mo_coef_to_string and to_string?
|
||||
|
||||
src/nuclei/EZFIO.cfg
|
||||
[is_periodic]
|
||||
if true use periodic parts of code
|
||||
|
||||
src/utils/linear_algebra.irp.f
|
||||
complex versions of utils
|
||||
(maybe put in separate file?)
|
||||
|
||||
src/utils/map_module.f90
|
||||
subroutine map_get_2
|
||||
get two neighboring values from map
|
||||
not tested or used
|
||||
|
||||
|
||||
src/utils_periodic/export_integrals_ao_periodic.irp.f
|
||||
dump ints for testing
|
||||
|
||||
src/utils_periodic/import_integrals_ao_periodic.irp.f
|
||||
read ints from pyscf
|
||||
TODO: don't read ao_num from stdin
|
||||
|
||||
src/utils_periodic/import_mo_coef_periodic.irp.f
|
||||
read mo_coef from pyscf
|
||||
|
||||
|
||||
|
||||
#######################
|
||||
# ao_one_e_ints #
|
||||
#######################
|
||||
|
||||
src/ao_one_e_ints/EZFIO.cfg
|
||||
[ao_integrals_n_e_imag]
|
||||
@ -46,9 +96,9 @@ src/ao_one_e_ints/pot_ao_pseudo_ints.irp.f
|
||||
imag arrays can only be read from disk
|
||||
no complex/imag versions of ao_integrals_n_e_per_atom, but this should be straightforward if we need it later?
|
||||
changed ao_overlap_abs so that it is set to cdabs(ao_overlap_complex) if (is_periodic)
|
||||
(maybe not the behavior we want)
|
||||
TODO: (maybe not the behavior we want)
|
||||
added S_inv_complex
|
||||
(no S_half_inv_complex yet)
|
||||
TODO: (no S_half_inv_complex yet)
|
||||
|
||||
src/ao_one_e_ints/ao_ortho_canonical_complex.irp.f
|
||||
ao_cart_to_sphe_coef_complex
|
||||
@ -68,6 +118,11 @@ src/ao_one_e_ints/ao_ortho_canonical_complex.irp.f
|
||||
similar to real version
|
||||
|
||||
|
||||
#######################
|
||||
# ao_two_e_ints #
|
||||
#######################
|
||||
|
||||
|
||||
src/ao_two_e_ints/map_integrals.irp.f
|
||||
added ao_integrals_map_2 (provider linked to ao_integrals_map)
|
||||
double size of both maps if (is_periodic)
|
||||
@ -96,8 +151,6 @@ src/ao_two_e_ints/map_integrals.irp.f
|
||||
|
||||
|
||||
src/ao_two_e_ints/two_e_integrals.irp.f
|
||||
|
||||
|
||||
not implemented for periodic:
|
||||
double precision function ao_two_e_integral
|
||||
double precision function ao_two_e_integral_schwartz_accel
|
||||
@ -110,6 +163,12 @@ src/ao_two_e_ints/two_e_integrals.irp.f
|
||||
complex AO ints can only be read from disk (not calculated)
|
||||
|
||||
|
||||
|
||||
#######################
|
||||
# mo_basis #
|
||||
#######################
|
||||
|
||||
|
||||
src/mo_basis/track_orb.irp.f → src/bitmask/track_orb.irp.f
|
||||
not implemented for periodic:
|
||||
subroutine reorder_core_orb (should be modified for periodic)
|
||||
@ -120,26 +179,12 @@ src/mo_basis/track_orb.irp.f → src/bitmask/track_orb.irp.f
|
||||
similar to real version
|
||||
|
||||
|
||||
src/hartree_fock/fock_matrix_hf_complex.irp.f
|
||||
TODO for periodic:
|
||||
[ complex*16, ao_two_e_integral_{alpha,beta}_complex, (ao_num, ao_num) ]
|
||||
finish implementation (might need new version of two_e_integrals_index_reverse)
|
||||
added for periodic:
|
||||
[ complex*16, Fock_matrix_ao_{alpha,beta}_complex, (ao_num, ao_num) ]
|
||||
|
||||
|
||||
src/hartree_fock/scf.irp.f
|
||||
modified for periodic:
|
||||
subroutine create_guess
|
||||
should work for periodic
|
||||
TODO: decide what to do about mo_coef_complex and imag/real parts for touch/save!!!
|
||||
|
||||
src/mo_basis/EZFIO.cfg
|
||||
[mo_coef_imag]
|
||||
|
||||
|
||||
src/mo_basis/mos.irp.f
|
||||
modifieed for periodic:
|
||||
modified for periodic:
|
||||
subroutine mix_mo_jk
|
||||
|
||||
src/mo_basis/mos_complex.irp.f
|
||||
@ -191,6 +236,10 @@ src/mo_guess/pot_mo_ortho_lowdin_ints.irp.f
|
||||
[complex*16, ao_ortho_lowdin_nucl_elec_integrals_complex, (mo_num,mo_num)]
|
||||
|
||||
|
||||
#######################
|
||||
# mo_one_e_ints #
|
||||
#######################
|
||||
|
||||
src/mo_one_e_ints/EZFIO.cfg
|
||||
[mo_integrals_e_n_imag]
|
||||
[mo_integrals_kinetic_imag]
|
||||
@ -221,8 +270,6 @@ src/mo_one_e_ints/pot_mo_pseudo_ints.irp.f
|
||||
or transform complex MO ints from complex AO ints and also assign real/imag parts to separate arrays?
|
||||
|
||||
|
||||
|
||||
|
||||
src/mo_one_e_ints/mo_overlap.irp.f
|
||||
[ complex*16, mo_overlap_complex,(mo_num,mo_num) ]
|
||||
TODO: add option to read from disk?
|
||||
@ -231,4 +278,79 @@ src/mo_one_e_ints/mo_overlap.irp.f
|
||||
|
||||
|
||||
|
||||
#######################
|
||||
# SCF #
|
||||
#######################
|
||||
|
||||
src/hartree_fock/fock_matrix_hf_complex.irp.f
|
||||
TODO for periodic:
|
||||
[ complex*16, ao_two_e_integral_{alpha,beta}_complex, (ao_num, ao_num) ]
|
||||
finish implementation (might need new version of two_e_integrals_index_reverse)
|
||||
added for periodic:
|
||||
[ complex*16, Fock_matrix_ao_{alpha,beta}_complex, (ao_num, ao_num) ]
|
||||
|
||||
|
||||
src/hartree_fock/scf.irp.f
|
||||
modified for periodic:
|
||||
subroutine create_guess
|
||||
should work for periodic
|
||||
TODO: decide what to do about mo_coef_complex and imag/real parts for touch/save!!!
|
||||
TODO: call roothaan_hall_scf_complex if (is_periodic)
|
||||
|
||||
|
||||
src/scf_utils/diagonalize_fock_complex.irp.f
|
||||
[ complex*16, eigenvectors_Fock_matrix_mo_complex, (ao_num,mo_num) ]
|
||||
similar to real version
|
||||
make separate function in utils for lapack calls
|
||||
|
||||
src/scf_utils/diis_complex.irp.f
|
||||
[complex*16, FPS_SPF_Matrix_AO_complex, (AO_num, AO_num)]
|
||||
[complex*16, FPS_SPF_Matrix_MO, (mo_num, mo_num)]
|
||||
linked providers:
|
||||
[ double precision, eigenvalues_Fock_matrix_AO_complex, (AO_num) ]
|
||||
[ complex*16, eigenvectors_Fock_matrix_AO_complex, (AO_num,AO_num) ]
|
||||
TODO: finish implementing (need s_half_inv_complex)
|
||||
note: eigvals is same type/size as real version
|
||||
|
||||
|
||||
src/scf_utils/fock_matrix.irp.f
|
||||
added checks to make sure we don't end up in real providers if (is_periodic)
|
||||
probably not necessary?
|
||||
[ double precision, SCF_energy ]
|
||||
modified for periodic
|
||||
could also add check to ensure imaginary part is zero?
|
||||
|
||||
src/scf_utils/fock_matrix_complex.irp.f
|
||||
[ complex*16, Fock_matrix_mo_complex, (mo_num,mo_num) ]
|
||||
[ double precision, Fock_matrix_diag_mo_complex, (mo_num)]
|
||||
similar to real versions
|
||||
added check to make sure diagonal elements of fock matrix are real
|
||||
[ complex*16, Fock_matrix_mo_alpha_complex, (mo_num,mo_num) ]
|
||||
[ complex*16, Fock_matrix_mo_beta_complex, (mo_num,mo_num) ]
|
||||
[ complex*16, Fock_matrix_ao_complex, (ao_num, ao_num) ]
|
||||
|
||||
|
||||
src/scf_utils/huckel_complex.irp.f
|
||||
similar to real version
|
||||
could just put if (is_periodic) branch in real version? (instead of making separate subroutine)
|
||||
has soft_touch mo_coef_complex and call to save_mos (see other notes on real/imag parts)
|
||||
|
||||
|
||||
src/scf_utils/roothaan_hall_scf_complex.irp.f
|
||||
subroutine Roothaan_Hall_SCF_complex
|
||||
similar to real
|
||||
has soft_touch mo_coef_complex and call to save_mos (see other notes on real/imag parts)
|
||||
subroutine extrapolate_Fock_matrix_complex
|
||||
TODO: check variable types?
|
||||
complex scratch is being used in dsysvx, should be real
|
||||
|
||||
src/scf_utils/scf_density_matrix_ao_complex.irp.f
|
||||
complex versions of providers
|
||||
[complex*16, SCF_density_matrix_ao_alpha_complex, (ao_num,ao_num) ]
|
||||
[ complex*16, SCF_density_matrix_ao_beta_complex, (ao_num,ao_num) ]
|
||||
[ complex*16, SCF_density_matrix_ao_complex, (ao_num,ao_num) ]
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user