mirror of
https://github.com/QuantumPackage/qp2.git
synced 2024-08-29 04:12:00 +02:00
Merge branch 'dev' of github.com:QuantumPackage/qp2 into dev
This commit is contained in:
commit
9a3bd2b278
@ -29,7 +29,7 @@
|
|||||||
- Disk-based Davidson when too much memory is required
|
- Disk-based Davidson when too much memory is required
|
||||||
- Fixed bug in DIIS
|
- Fixed bug in DIIS
|
||||||
- Fixed bug in molden (Au -> Angs)
|
- Fixed bug in molden (Au -> Angs)
|
||||||
|
|
||||||
*** User interface
|
*** User interface
|
||||||
|
|
||||||
- Added ~qp_basis~ script to install a basis set from the ~bse~
|
- 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
|
~psi_coef_qp_edit~ to accelerate the opening of qp_edit with
|
||||||
large wave functions
|
large wave functions
|
||||||
- Removed ~etc/ninja.rc~
|
- 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 flag to specify if the primitive Gaussians are normalized
|
||||||
- Added ~lin_dep_cutoff~, the cutoff for linear dependencies
|
- Added ~lin_dep_cutoff~, the cutoff for linear dependencies
|
||||||
- Davidson convergence threshold can be adapted from PT2
|
- Davidson convergence threshold can be adapted from PT2
|
||||||
@ -51,7 +51,9 @@
|
|||||||
- Added ~print_energy~
|
- Added ~print_energy~
|
||||||
- Added ~print_hamiltonian~
|
- Added ~print_hamiltonian~
|
||||||
- Added input for two body RDM
|
- 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
|
*** Code
|
||||||
|
|
||||||
@ -75,11 +77,11 @@
|
|||||||
- Added ~V_ne_psi_energy~
|
- Added ~V_ne_psi_energy~
|
||||||
- Added ~h_core_guess~ routine
|
- Added ~h_core_guess~ routine
|
||||||
- Fixed Laplacians in real space (indices)
|
- Fixed Laplacians in real space (indices)
|
||||||
-
|
- Added LIB file to add extra libs in plugin
|
||||||
|
|
||||||
ao_one_e_integral_zero
|
ao_one_e_integral_zero
|
||||||
banned_excitations
|
banned_excitations
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -99,7 +99,9 @@ function find_libs () {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function find_exec () {
|
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"
|
echo "Copying binary files"
|
||||||
# --------------------
|
# --------------------
|
||||||
|
|
||||||
FORTRAN_EXEC=$(find_exec src)
|
FORTRAN_EXEC=$(find_exec src/*/)
|
||||||
if [[ -z $FORTRAN_EXEC ]] ; then
|
if [[ -z $FORTRAN_EXEC ]] ; then
|
||||||
error 'No Fortran binaries found.'
|
error 'No Fortran binaries found.'
|
||||||
exit 1
|
exit 1
|
||||||
|
@ -19,4 +19,3 @@
|
|||||||
# export QP_NIC=lo
|
# export QP_NIC=lo
|
||||||
# export QP_NIC=ib0
|
# 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")
|
lib_usr = get_compilation_option(pwd_config_file, "LIB")
|
||||||
|
|
||||||
str_lib = " ".join([lib_lapack, EZFIO_LIB, ZMQ_LIB, LIB, lib_usr])
|
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("LIB = {0} ".format(str_lib))
|
||||||
|
|
||||||
l_string.append("")
|
l_string.append("")
|
||||||
|
@ -82,6 +82,8 @@ END_PROVIDER
|
|||||||
mpi_correspondance = {"integer": "MPI_INTEGER",
|
mpi_correspondance = {"integer": "MPI_INTEGER",
|
||||||
"integer*8": "MPI_INTEGER8",
|
"integer*8": "MPI_INTEGER8",
|
||||||
"character*(32)": "MPI_CHARACTER",
|
"character*(32)": "MPI_CHARACTER",
|
||||||
|
"character*(64)": "MPI_CHARACTER",
|
||||||
|
"character*(256)": "MPI_CHARACTER",
|
||||||
"logical": "MPI_LOGICAL",
|
"logical": "MPI_LOGICAL",
|
||||||
"double precision": "MPI_DOUBLE_PRECISION"}
|
"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 ]
|
doc: Read/Write |MO| one-electron integrals from/to disk [ Write | Read | None ]
|
||||||
interface: ezfio,provider,ocaml
|
interface: ezfio,provider,ocaml
|
||||||
default: None
|
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
|
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>
|
! <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
|
! \sum_{i,j,k,l = 1, mo_num} two_e_dm_mo(i,j,k,l) * < ii jj | kk ll >
|
||||||
! 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)
|
|
||||||
END_DOC
|
END_DOC
|
||||||
two_e_dm_mo = 0.d0
|
two_e_dm_mo = 0.d0
|
||||||
integer :: i,j,k,l,iorb,jorb,korb,lorb,istate
|
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