mirror of
https://github.com/QuantumPackage/qp2.git
synced 2024-12-21 11:03:29 +01:00
Merge branch 'dev' of github.com:QuantumPackage/qp2 into dev
This commit is contained in:
commit
9a3bd2b278
@ -52,6 +52,8 @@
|
||||
- Added ~print_hamiltonian~
|
||||
- Added input for two body RDM
|
||||
- Added keyword ~save_wf_after_selection~
|
||||
- Added a ~restore_symm~ flag to enforce the restoration of
|
||||
symmetry in matrices
|
||||
|
||||
*** Code
|
||||
|
||||
@ -75,7 +77,7 @@
|
||||
- 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
|
||||
|
@ -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
|
||||
|
@ -19,4 +19,3 @@
|
||||
# export QP_NIC=lo
|
||||
# export QP_NIC=ib0
|
||||
|
||||
|
||||
|
2
external/irpf90
vendored
2
external/irpf90
vendored
@ -1 +1 @@
|
||||
Subproject commit 132a4a1661c9878d21dcbf0ac14f7fe9a3b110d0
|
||||
Subproject commit 33ca5e1018f3bbb5e695e6ee558f5dac0753b271
|
@ -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("")
|
||||
|
@ -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"}
|
||||
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
||||
|
||||
|
@ -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
5
src/utils/EZFIO.cfg
Normal 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
|
Loading…
Reference in New Issue
Block a user