Adapted trexio file

This commit is contained in:
Anthony Scemama 2024-03-05 15:36:55 +01:00
parent ec08ab13be
commit 371fb7bcfa
7 changed files with 11 additions and 15 deletions

View File

@ -51,11 +51,7 @@ subroutine generate_fci_space
endif
t = ior(u,u-1)
t1 = t+1
IRP_IF WITHOUT_TRAILZ
t2 = shiftr((iand(not(t),t1)-1), popcnt(ieor(u,u-1)))
IRP_ELSE
t2 = shiftr((iand(not(t),t1)-1), trailz(u)+1)
IRP_ENDIF
u = ior(t1,t2)
enddo

View File

@ -1 +1 @@
Bitmask Nuclei Determinants
determinants

View File

@ -8,7 +8,7 @@ program Symmetry
do k=1,n_irrep
print *, sym_operation(k)
do i=1,mo_tot_num
do i=1,mo_num
print '(1000(F8.4,X))', mo_symm(i,:,k), sum(mo_symm(i,:,k))
enddo
print *, ''

View File

@ -82,12 +82,12 @@ subroutine compute_sym_mo_values(sym_points, n_sym_points, result)
END_DOC
integer, intent(in) :: n_sym_points
double precision, intent(in) :: sym_points(3,n_sym_points)
double precision, intent(out) :: result(n_sym_points, mo_tot_num)
double precision, intent(out) :: result(n_sym_points, mo_num)
double precision, allocatable :: tmp(:,:)
allocate(tmp(n_sym_points,ao_num))
call compute_sym_ao_values(sym_points,n_sym_points,tmp)
call dgemm('N','N',n_sym_points,mo_tot_num,ao_num, &
call dgemm('N','N',n_sym_points,mo_num,ao_num, &
1.d0, tmp,size(tmp,1), mo_coef, size(mo_coef,1), &
0.d0, result,size(result,1))
deallocate(tmp)
@ -111,7 +111,7 @@ subroutine compute_sym_det_values(sym_points, n_sym_points, result)
double precision, allocatable :: tmp(:,:)
allocate(tmp(n_sym_points,mo_tot_num))
allocate(tmp(n_sym_points,mo_num))
call compute_sym_mo_values(sym_points, n_sym_points, tmp)
result = 1.d0

View File

@ -320,7 +320,7 @@ END_PROVIDER
END_PROVIDER
BEGIN_PROVIDER [ integer, mo_sym, (mo_tot_num) ]
BEGIN_PROVIDER [ integer, mo_sym, (mo_num) ]
implicit none
BEGIN_DOC
! Symmetry operations applied on MOs
@ -331,10 +331,10 @@ BEGIN_PROVIDER [ integer, mo_sym, (mo_tot_num) ]
integer :: iangle, n_sym_points
double precision :: angle
integer :: iop, imo, ipoint, l, i
double precision :: sym_operations_on_mos(mo_tot_num)
logical :: possible_irrep(n_irrep,mo_tot_num)
double precision :: sym_operations_on_mos(mo_num)
logical :: possible_irrep(n_irrep,mo_num)
do imo=1,mo_tot_num
do imo=1,mo_num
print *, 'MO ', imo
do i=1,n_irrep
if (possible_irrep(i,imo)) then

View File

@ -175,7 +175,7 @@ BEGIN_PROVIDER [ double precision, ao_symm, (ao_num,ao_num,n_irrep) ]
enddo
END_PROVIDER
BEGIN_PROVIDER [ double precision, mo_symm, (mo_tot_num,mo_tot_num,n_irrep) ]
BEGIN_PROVIDER [ double precision, mo_symm, (mo_num,mo_num,n_irrep) ]
implicit none
BEGIN_DOC
! <i|O|j> where O is a symmetry operation

View File

@ -42,7 +42,7 @@ program save_for_qmc
write(iunit,*) e_ref
close(iunit)
call export_trexio(.True.)
call export_trexio(.True., .True.)
end
! ---