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

Changed symetric_fock_tc into symmetric_fock_tc

This commit is contained in:
Anthony Scemama 2024-05-02 16:22:01 +02:00
parent 1c2b737586
commit 425e7e4ee0
2 changed files with 11 additions and 11 deletions

View File

@ -106,7 +106,7 @@ doc: If |true|, the MO basis is assumed to be bi-orthonormal
interface: ezfio,provider,ocaml interface: ezfio,provider,ocaml
default: True default: True
[symetric_fock_tc] [symmetric_fock_tc]
type: logical type: logical
doc: If |true|, using F+F^t as Fock TC doc: If |true|, using F+F^t as Fock TC
interface: ezfio,provider,ocaml interface: ezfio,provider,ocaml

View File

@ -4,7 +4,7 @@
BEGIN_PROVIDER [ double precision, good_hermit_tc_fock_mat, (mo_num, mo_num)] BEGIN_PROVIDER [ double precision, good_hermit_tc_fock_mat, (mo_num, mo_num)]
BEGIN_DOC BEGIN_DOC
! good_hermit_tc_fock_mat = Hermitian Upper triangular Fock matrix ! good_hermit_tc_fock_mat = Hermitian Upper triangular Fock matrix
! !
! The converged eigenvectors of such matrix yield to orthonormal vectors satisfying the left Brillouin theorem ! The converged eigenvectors of such matrix yield to orthonormal vectors satisfying the left Brillouin theorem
END_DOC END_DOC
@ -14,11 +14,11 @@ BEGIN_PROVIDER [ double precision, good_hermit_tc_fock_mat, (mo_num, mo_num)]
good_hermit_tc_fock_mat = Fock_matrix_tc_mo_tot good_hermit_tc_fock_mat = Fock_matrix_tc_mo_tot
do j = 1, mo_num do j = 1, mo_num
do i = 1, j-1 do i = 1, j-1
good_hermit_tc_fock_mat(i,j) = Fock_matrix_tc_mo_tot(j,i) good_hermit_tc_fock_mat(i,j) = Fock_matrix_tc_mo_tot(j,i)
enddo enddo
enddo enddo
END_PROVIDER END_PROVIDER
BEGIN_PROVIDER [ double precision, hermit_average_tc_fock_mat, (mo_num, mo_num)] BEGIN_PROVIDER [ double precision, hermit_average_tc_fock_mat, (mo_num, mo_num)]
@ -35,7 +35,7 @@ BEGIN_PROVIDER [ double precision, hermit_average_tc_fock_mat, (mo_num, mo_num)]
enddo enddo
enddo enddo
END_PROVIDER END_PROVIDER
! --- ! ---
@ -44,13 +44,13 @@ BEGIN_PROVIDER [ double precision, grad_hermit]
BEGIN_DOC BEGIN_DOC
! square of gradient of the energy ! square of gradient of the energy
END_DOC END_DOC
if(symetric_fock_tc)then if(symmetric_fock_tc)then
grad_hermit = grad_hermit_average_tc_fock_mat grad_hermit = grad_hermit_average_tc_fock_mat
else else
grad_hermit = grad_good_hermit_tc_fock_mat grad_hermit = grad_good_hermit_tc_fock_mat
endif endif
END_PROVIDER END_PROVIDER
BEGIN_PROVIDER [ double precision, grad_good_hermit_tc_fock_mat] BEGIN_PROVIDER [ double precision, grad_good_hermit_tc_fock_mat]
implicit none implicit none
@ -64,7 +64,7 @@ BEGIN_PROVIDER [ double precision, grad_good_hermit_tc_fock_mat]
grad_good_hermit_tc_fock_mat += dabs(good_hermit_tc_fock_mat(i,j)) grad_good_hermit_tc_fock_mat += dabs(good_hermit_tc_fock_mat(i,j))
enddo enddo
enddo enddo
END_PROVIDER END_PROVIDER
! --- ! ---
@ -80,7 +80,7 @@ BEGIN_PROVIDER [ double precision, grad_hermit_average_tc_fock_mat]
grad_hermit_average_tc_fock_mat += dabs(hermit_average_tc_fock_mat(i,j)) grad_hermit_average_tc_fock_mat += dabs(hermit_average_tc_fock_mat(i,j))
enddo enddo
enddo enddo
END_PROVIDER END_PROVIDER
! --- ! ---
@ -95,8 +95,8 @@ subroutine save_good_hermit_tc_eigvectors()
sign = 1 sign = 1
label = "Canonical" label = "Canonical"
output = .False. output = .False.
if(symetric_fock_tc)then if(symmetric_fock_tc)then
call mo_as_eigvectors_of_mo_matrix(hermit_average_tc_fock_mat, mo_num, mo_num, label, sign, output) call mo_as_eigvectors_of_mo_matrix(hermit_average_tc_fock_mat, mo_num, mo_num, label, sign, output)
else else
call mo_as_eigvectors_of_mo_matrix(good_hermit_tc_fock_mat, mo_num, mo_num, label, sign, output) call mo_as_eigvectors_of_mo_matrix(good_hermit_tc_fock_mat, mo_num, mo_num, label, sign, output)