1
0
mirror of https://gitlab.com/scemama/qp_plugins_scemama.git synced 2024-12-22 04:13:40 +01:00

Update for TREXIOv2

This commit is contained in:
Anthony Scemama 2021-12-07 19:30:23 +01:00
parent 114d4a695c
commit 427f0569a6
4 changed files with 224 additions and 536 deletions

View File

@ -1,2 +1,2 @@
-L/home/scemama/TREX/trexio/_install/lib -ltrexio -ltrexio

View File

@ -26,6 +26,8 @@ program export_trexio
! Electrons ! Electrons
! --------- ! ---------
print *, 'Electrons'
rc = trexio_write_electron_up_num(f, elec_alpha_num) rc = trexio_write_electron_up_num(f, elec_alpha_num)
call check_success(rc) call check_success(rc)
@ -36,6 +38,8 @@ program export_trexio
! Nuclei ! Nuclei
! ------ ! ------
print *, 'Nuclei'
rc = trexio_write_nucleus_num(f, nucl_num) rc = trexio_write_nucleus_num(f, nucl_num)
call check_success(rc) call check_success(rc)
@ -52,6 +56,8 @@ program export_trexio
! Pseudo-potentials ! Pseudo-potentials
! ----------------- ! -----------------
print *, 'ECP'
double precision, allocatable :: tmp_double(:,:) double precision, allocatable :: tmp_double(:,:)
integer, allocatable :: tmp_int(:,:) integer, allocatable :: tmp_int(:,:)
@ -90,39 +96,37 @@ program export_trexio
! Basis ! Basis
! ----- ! -----
print *, 'Basis'
rc = trexio_write_basis_type(f, 'Gaussian', len('Gaussian')) rc = trexio_write_basis_type(f, 'Gaussian', len('Gaussian'))
call check_success(rc) call check_success(rc)
rc = trexio_write_basis_num(f, shell_num)
call check_success(rc)
rc = trexio_write_basis_nucleus_shell_num(f, nucleus_shell_num)
call check_success(rc)
rc = trexio_write_basis_nucleus_index(f, basis_nucleus_index)
call check_success(rc)
rc = trexio_write_basis_shell_ang_mom(f, shell_ang_mom)
call check_success(rc)
rc = trexio_write_basis_prim_num(f, prim_num) rc = trexio_write_basis_prim_num(f, prim_num)
call check_success(rc) call check_success(rc)
rc = trexio_write_basis_shell_prim_num(f, shell_prim_num) rc = trexio_write_basis_shell_num(f, shell_num)
call check_success(rc) call check_success(rc)
double precision, allocatable :: factor(:) rc = trexio_write_basis_nucleus_index(f, basis_nucleus_index)
allocate(factor(shell_num)) call check_success(rc)
if (ao_normalized) then
factor(1:shell_num) = shell_normalization_factor(1:shell_num)
else
factor(1:shell_num) = 1.d0
endif
rc = trexio_write_basis_shell_factor(f, factor)
call check_success(rc)
deallocate(factor)
rc = trexio_write_basis_shell_prim_index(f, shell_prim_index) rc = trexio_write_basis_shell_ang_mom(f, shell_ang_mom)
call check_success(rc)
double precision, allocatable :: factor(:)
allocate(factor(shell_num))
if (ao_normalized) then
factor(1:shell_num) = shell_normalization_factor(1:shell_num)
else
factor(1:shell_num) = 1.d0
endif
rc = trexio_write_basis_shell_factor(f, factor)
call check_success(rc)
deallocate(factor)
rc = trexio_write_basis_shell_index(f, shell_index)
call check_success(rc) call check_success(rc)
rc = trexio_write_basis_exponent(f, prim_expo) rc = trexio_write_basis_exponent(f, prim_expo)
@ -142,10 +146,11 @@ program export_trexio
deallocate(factor) deallocate(factor)
! Atomic orbitals ! Atomic orbitals
! --------------- ! ---------------
print *, 'AOs'
rc = trexio_write_ao_num(f, ao_num) rc = trexio_write_ao_num(f, ao_num)
call check_success(rc) call check_success(rc)
@ -164,7 +169,6 @@ program export_trexio
C_A(3) = 0.d0 C_A(3) = 0.d0
allocate(factor(ao_num)) allocate(factor(ao_num))
print *, ao_first_of_shell
if (ao_normalized) then if (ao_normalized) then
do i=1,ao_num do i=1,ao_num
l = ao_first_of_shell(ao_shell(i)) l = ao_first_of_shell(ao_shell(i))
@ -180,6 +184,8 @@ program export_trexio
! One-e AO integrals ! One-e AO integrals
! ------------------ ! ------------------
print *, 'AO integrals'
rc = trexio_write_ao_1e_int_overlap(f,ao_overlap) rc = trexio_write_ao_1e_int_overlap(f,ao_overlap)
call check_success(rc) call check_success(rc)
@ -204,6 +210,8 @@ program export_trexio
! Molecular orbitals ! Molecular orbitals
! ------------------ ! ------------------
print *, 'MOs'
! rc = trexio_write_mo_type(f, mo_label) ! rc = trexio_write_mo_type(f, mo_label)
! call check_success(rc) ! call check_success(rc)
@ -217,6 +225,8 @@ program export_trexio
! One-e MO integrals ! One-e MO integrals
! ------------------ ! ------------------
print *, 'MO integrals'
rc = trexio_write_mo_1e_int_kinetic(f,mo_kinetic_integrals) rc = trexio_write_mo_1e_int_kinetic(f,mo_kinetic_integrals)
call check_success(rc) call check_success(rc)

File diff suppressed because it is too large Load Diff

View File

@ -59,7 +59,7 @@ subroutine routine_s2
do i=1,N_det do i=1,N_det
print *, i, real(weight_configuration(det_to_configuration(i),:)), real(sum(weight_configuration(det_to_configuration(i),:))) print *, i, real(weight_configuration(det_to_configuration(i),:)), real(sum(weight_configuration(det_to_configuration(i),:)))
enddo enddo
print*, 'Min weight of the occupation pattern ?' print*, 'Min weight of the configuration?'
read(5,*) wmin read(5,*) wmin
ndet_max = 0 ndet_max = 0