10
0
mirror of https://github.com/QuantumPackage/qp2.git synced 2024-12-22 20:34:58 +01:00

Merge branch 'dev' of github.com:QuantumPackage/qp2 into dev

This commit is contained in:
Anthony Scemama 2021-05-30 22:34:47 +02:00
commit 9a3bd2b278
10 changed files with 76 additions and 26 deletions

View File

@ -29,7 +29,7 @@
- Disk-based Davidson when too much memory is required
- Fixed bug in DIIS
- Fixed bug in molden (Au -> Angs)
*** User interface
- Added ~qp_basis~ script to install a basis set from the ~bse~
@ -38,7 +38,7 @@
~psi_coef_qp_edit~ to accelerate the opening of qp_edit with
large wave functions
- Removed ~etc/ninja.rc~
- Added flag to specify if the AOs are normalized
- Added flag to specify if the AOs are normalized
- Added flag to specify if the primitive Gaussians are normalized
- Added ~lin_dep_cutoff~, the cutoff for linear dependencies
- Davidson convergence threshold can be adapted from PT2
@ -51,7 +51,9 @@
- Added ~print_energy~
- Added ~print_hamiltonian~
- Added input for two body RDM
- Added keyword ~save_wf_after_selection~
- Added keyword ~save_wf_after_selection~
- Added a ~restore_symm~ flag to enforce the restoration of
symmetry in matrices
*** Code
@ -75,11 +77,11 @@
- Added ~V_ne_psi_energy~
- Added ~h_core_guess~ routine
- Fixed Laplacians in real space (indices)
-
- Added LIB file to add extra libs in plugin
ao_one_e_integral_zero
banned_excitations

View File

@ -99,7 +99,9 @@ function find_libs () {
}
function find_exec () {
find ${QP_ROOT}/$1 -perm /u+x -type f
for i in $@ ; do
find ${QP_ROOT}/$i -perm /u+x -type f
done
}
@ -119,7 +121,7 @@ fi
echo "Copying binary files"
# --------------------
FORTRAN_EXEC=$(find_exec src)
FORTRAN_EXEC=$(find_exec src/*/)
if [[ -z $FORTRAN_EXEC ]] ; then
error 'No Fortran binaries found.'
exit 1

View File

@ -19,4 +19,3 @@
# export QP_NIC=lo
# export QP_NIC=ib0

2
external/irpf90 vendored

@ -1 +1 @@
Subproject commit 132a4a1661c9878d21dcbf0ac14f7fe9a3b110d0
Subproject commit 33ca5e1018f3bbb5e695e6ee558f5dac0753b271

View File

@ -108,6 +108,17 @@ def ninja_create_env_variable(pwd_config_file):
lib_usr = get_compilation_option(pwd_config_file, "LIB")
str_lib = " ".join([lib_lapack, EZFIO_LIB, ZMQ_LIB, LIB, lib_usr])
# Read all LIB files in modules
libfile = "LIB"
try:
content = ""
with open(libfile,'r') as f:
content = f.read()
str_lib += " "+content
except IOError:
pass
l_string.append("LIB = {0} ".format(str_lib))
l_string.append("")

View File

@ -82,6 +82,8 @@ END_PROVIDER
mpi_correspondance = {"integer": "MPI_INTEGER",
"integer*8": "MPI_INTEGER8",
"character*(32)": "MPI_CHARACTER",
"character*(64)": "MPI_CHARACTER",
"character*(256)": "MPI_CHARACTER",
"logical": "MPI_LOGICAL",
"double precision": "MPI_DOUBLE_PRECISION"}

View File

@ -47,10 +47,3 @@ type: Disk_access
doc: Read/Write |MO| one-electron integrals from/to disk [ Write | Read | None ]
interface: ezfio,provider,ocaml
default: None
[restore_symm]
type: logical
doc: If true, try to find symmetry in the MO coefficient matrices
interface: ezfio,provider,ocaml
default: True

View File

@ -26,3 +26,43 @@ BEGIN_PROVIDER [double precision, mo_pseudo_integrals, (mo_num,mo_num)]
END_PROVIDER
BEGIN_PROVIDER [double precision, mo_pseudo_integrals_local, (mo_num,mo_num)]
implicit none
BEGIN_DOC
! Pseudopotential integrals in |MO| basis
END_DOC
if (do_pseudo) then
call ao_to_mo( &
ao_pseudo_integrals_local, &
size(ao_pseudo_integrals_local,1), &
mo_pseudo_integrals_local, &
size(mo_pseudo_integrals_local,1) &
)
else
mo_pseudo_integrals_local = 0.d0
endif
END_PROVIDER
BEGIN_PROVIDER [double precision, mo_pseudo_integrals_non_local, (mo_num,mo_num)]
implicit none
BEGIN_DOC
! Pseudopotential integrals in |MO| basis
END_DOC
if (do_pseudo) then
call ao_to_mo( &
ao_pseudo_integrals_non_local, &
size(ao_pseudo_integrals_non_local,1), &
mo_pseudo_integrals_non_local, &
size(mo_pseudo_integrals_non_local,1) &
)
else
mo_pseudo_integrals_non_local = 0.d0
endif
END_PROVIDER

View File

@ -5,18 +5,14 @@ BEGIN_PROVIDER [double precision, two_e_dm_mo, (mo_num,mo_num,mo_num,mo_num)]
!
! <Psi| a^{\dagger}_{i \beta} a^{\dagger}_{j \beta} a_{l \beta} a_{k \beta} |Psi>
!
! WHERE ALL ORBITALS (i,j,k,l) BELONGS TO ALL OCCUPIED ORBITALS : core, inactive and active
! where the indices (i,j,k,l) belong to all MOs.
!
! THE NORMALIZATION (i.e. sum of diagonal elements) IS SET TO N_{elec} * (N_{elec} - 1)/2
! The normalization (i.e. sum of diagonal elements) is set to $N_{elec} * (N_{elec} - 1)/2$
!
! !!!!! WARNING !!!!! ALL SLATER DETERMINANTS IN PSI_DET MUST BELONG TO AN ACTIVE SPACE DEFINED BY "list_act"
! !!!!! WARNING !!!!! IF "no_core_density" then all elements involving at least one CORE MO are set to zero
! The state-averaged two-electron energy :
!
! !!!!! WARNING !!!!! IF "no_core_density" then all elements involving at least one CORE MO is set to zero
! The two-electron energy of each state can be computed as:
!
! \sum_{i,j,k,l = 1, n_core_inact_act_orb} two_e_dm_mo(i,j,k,l,istate) * < ii jj | kk ll >
!
! with ii = list_core_inact_act(i), jj = list_core_inact_act(j), kk = list_core_inact_act(k), ll = list_core_inact_act(l)
! \sum_{i,j,k,l = 1, mo_num} two_e_dm_mo(i,j,k,l) * < ii jj | kk ll >
END_DOC
two_e_dm_mo = 0.d0
integer :: i,j,k,l,iorb,jorb,korb,lorb,istate

5
src/utils/EZFIO.cfg Normal file
View File

@ -0,0 +1,5 @@
[restore_symm]
type: logical
doc: If true, try to find symmetry in the MO coefficient matrices
interface: ezfio,provider,ocaml
default: False