mirror of
https://github.com/QuantumPackage/qp2.git
synced 2024-12-21 11:03:29 +01:00
Merge branch 'dev' into dev-lcpq
This commit is contained in:
commit
9dd8e5b886
4
TODO
4
TODO
@ -75,4 +75,6 @@ Davidson Diagonalization
|
|||||||
------------------------
|
------------------------
|
||||||
|
|
||||||
Not enough memory: aborting in davidson_diag_hjj_sjj
|
Not enough memory: aborting in davidson_diag_hjj_sjj
|
||||||
>>>>>>> 94bacff2d093aa9b32c653ab59bcdb79d13f3264
|
|
||||||
|
|
||||||
|
qp man does not find the programs in external plugins
|
||||||
|
4
ocaml/.gitignore
vendored
4
ocaml/.gitignore
vendored
@ -9,12 +9,13 @@ Input_ao_two_e_erf_ints.ml
|
|||||||
Input_ao_two_e_ints.ml
|
Input_ao_two_e_ints.ml
|
||||||
Input_auto_generated.ml
|
Input_auto_generated.ml
|
||||||
Input_becke_numerical_grid.ml
|
Input_becke_numerical_grid.ml
|
||||||
Input_champ.ml
|
|
||||||
Input_davidson.ml
|
Input_davidson.ml
|
||||||
Input_density_for_dft.ml
|
Input_density_for_dft.ml
|
||||||
Input_determinants.ml
|
Input_determinants.ml
|
||||||
Input_dft_keywords.ml
|
Input_dft_keywords.ml
|
||||||
Input_dressing.ml
|
Input_dressing.ml
|
||||||
|
Input_firth_order_der.ml
|
||||||
|
Input_ijkl_ints_in_r3.ml
|
||||||
Input_mo_one_e_ints.ml
|
Input_mo_one_e_ints.ml
|
||||||
Input_mo_two_e_erf_ints.ml
|
Input_mo_two_e_erf_ints.ml
|
||||||
Input_mo_two_e_ints.ml
|
Input_mo_two_e_ints.ml
|
||||||
@ -22,7 +23,6 @@ Input_nuclei.ml
|
|||||||
Input_perturbation.ml
|
Input_perturbation.ml
|
||||||
Input_pseudo.ml
|
Input_pseudo.ml
|
||||||
Input_scf_utils.ml
|
Input_scf_utils.ml
|
||||||
Input_variance.ml
|
|
||||||
qp_create_ezfio
|
qp_create_ezfio
|
||||||
qp_create_ezfio.native
|
qp_create_ezfio.native
|
||||||
qp_edit
|
qp_edit
|
||||||
|
@ -93,7 +93,6 @@ end
|
|||||||
grad_dm_a(1,istate) = u_dot_v(aos_grad_array(1,1),aos_array_bis,ao_num)
|
grad_dm_a(1,istate) = u_dot_v(aos_grad_array(1,1),aos_array_bis,ao_num)
|
||||||
grad_dm_a(2,istate) = u_dot_v(aos_grad_array(1,2),aos_array_bis,ao_num)
|
grad_dm_a(2,istate) = u_dot_v(aos_grad_array(1,2),aos_array_bis,ao_num)
|
||||||
grad_dm_a(3,istate) = u_dot_v(aos_grad_array(1,3),aos_array_bis,ao_num)
|
grad_dm_a(3,istate) = u_dot_v(aos_grad_array(1,3),aos_array_bis,ao_num)
|
||||||
grad_dm_a *= 2.d0
|
|
||||||
! aos_grad_array_bis = \rho_ao * aos_grad_array
|
! aos_grad_array_bis = \rho_ao * aos_grad_array
|
||||||
|
|
||||||
! beta density
|
! beta density
|
||||||
@ -104,9 +103,10 @@ end
|
|||||||
grad_dm_b(1,istate) = u_dot_v(aos_grad_array(1,1),aos_array_bis,ao_num)
|
grad_dm_b(1,istate) = u_dot_v(aos_grad_array(1,1),aos_array_bis,ao_num)
|
||||||
grad_dm_b(2,istate) = u_dot_v(aos_grad_array(1,2),aos_array_bis,ao_num)
|
grad_dm_b(2,istate) = u_dot_v(aos_grad_array(1,2),aos_array_bis,ao_num)
|
||||||
grad_dm_b(3,istate) = u_dot_v(aos_grad_array(1,3),aos_array_bis,ao_num)
|
grad_dm_b(3,istate) = u_dot_v(aos_grad_array(1,3),aos_array_bis,ao_num)
|
||||||
grad_dm_b *= 2.d0
|
|
||||||
! aos_grad_array_bis = \rho_ao * aos_grad_array
|
! aos_grad_array_bis = \rho_ao * aos_grad_array
|
||||||
enddo
|
enddo
|
||||||
|
grad_dm_a *= 2.d0
|
||||||
|
grad_dm_b *= 2.d0
|
||||||
end
|
end
|
||||||
|
|
||||||
BEGIN_PROVIDER [double precision, one_e_dm_alpha_in_r, (n_points_integration_angular,n_points_radial_grid,nucl_num,N_states) ]
|
BEGIN_PROVIDER [double precision, one_e_dm_alpha_in_r, (n_points_integration_angular,n_points_radial_grid,nucl_num,N_states) ]
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
fci
|
fci
|
||||||
mo_two_e_erf_ints
|
mo_two_e_erf_ints
|
||||||
aux_quantities
|
aux_quantities
|
||||||
|
hartree_fock
|
||||||
|
32
src/tools/sort_by_fock_energies.irp.f
Normal file
32
src/tools/sort_by_fock_energies.irp.f
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
program sort_by_fock_energies
|
||||||
|
BEGIN_DOC
|
||||||
|
! programs that save the current mos ordered by Diagonal element of the Fock operator.
|
||||||
|
!
|
||||||
|
! Warning : the Fock operator, and therefore its matrix elements, depends on the occupancy.
|
||||||
|
END_DOC
|
||||||
|
implicit none
|
||||||
|
integer :: i,j,k
|
||||||
|
integer, allocatable :: iorder(:)
|
||||||
|
double precision, allocatable :: fock_energies_tmp(:), new_mo_coef(:,:)
|
||||||
|
allocate(iorder(mo_num), fock_energies_tmp(mo_num),new_mo_coef(ao_num,mo_num))
|
||||||
|
do i = 1, mo_num
|
||||||
|
fock_energies_tmp(i) = Fock_matrix_diag_mo(i)
|
||||||
|
print*,'fock_energies_tmp(i) = ',fock_energies_tmp(i)
|
||||||
|
iorder(i) = i
|
||||||
|
enddo
|
||||||
|
print*,''
|
||||||
|
print*,'Sorting by Fock energies'
|
||||||
|
print*,''
|
||||||
|
call dsort(fock_energies_tmp,iorder,mo_num)
|
||||||
|
do i = 1, mo_num
|
||||||
|
k = iorder(i)
|
||||||
|
print*,'fock_energies_new(i) = ',fock_energies_tmp(i)
|
||||||
|
do j = 1, ao_num
|
||||||
|
new_mo_coef(j,i) = mo_coef(j,k)
|
||||||
|
enddo
|
||||||
|
enddo
|
||||||
|
mo_coef = new_mo_coef
|
||||||
|
touch mo_coef
|
||||||
|
call save_mos
|
||||||
|
|
||||||
|
end
|
14
src/tools/swap_mos.irp.f
Normal file
14
src/tools/swap_mos.irp.f
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
program swap_mos
|
||||||
|
implicit none
|
||||||
|
integer :: i,j, i1, i2
|
||||||
|
double precision :: x
|
||||||
|
print *, 'MOs to swap?'
|
||||||
|
read(*,*) i1, i2
|
||||||
|
do i=1,ao_num
|
||||||
|
x = mo_coef(i,i1)
|
||||||
|
mo_coef(i,i1) = mo_coef(i,i2)
|
||||||
|
mo_coef(i,i2) = x
|
||||||
|
enddo
|
||||||
|
call save_mos
|
||||||
|
|
||||||
|
end
|
Loading…
Reference in New Issue
Block a user