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

Compare commits

...

3 Commits

5 changed files with 477 additions and 169 deletions

View File

@ -0,0 +1,13 @@
program abproducts
implicit none
read_wf = .True.
TOUCH read_wf
call run
end
subroutine run
implicit none
call generate_all_alpha_beta_det_products
call diagonalize_ci
call save_wavefunction
end

View File

@ -106,8 +106,8 @@ subroutine run
deallocate( Vtref )
! Truncated rank
n_selected = n_svd
call write_int(6,n_svd, 'Rank of psi')
n_selected = 10 ! n_svd
call write_int(6,n_selected, 'Rank of psi')
!________________________________________________________________________________________________________

View File

@ -1 +1,2 @@
-L/home/scemama/TREX/trexio/_install/lib -L/usr/lib/x86_64-linux-gnu/hdf5/serial -ltrexio -lm -lpthread -lhdf5_hl -lhdf5
-L/home/scemama/TREX/trexio/_install/lib -ltrexio

View File

@ -23,6 +23,16 @@ program export_trexio
! ------------------------------------------------------------------------------
! Electrons
! ---------
rc = trexio_write_electron_up_num(f, elec_alpha_num)
call check_success(rc)
rc = trexio_write_electron_dn_num(f, elec_beta_num)
call check_success(rc)
! Nuclei
! ------
@ -35,12 +45,46 @@ program export_trexio
rc = trexio_write_nucleus_coord(f, nucl_coord_transp)
call check_success(rc)
! Electrons
rc = trexio_write_electron_up_num(f, elec_alpha_num)
call check_success(rc)
! rc = trexio_write_nucleus_label(f, nucl_label)
! call check_success(rc)
! Pseudo-potentials
! -----------------
double precision, allocatable :: tmp_double(:,:)
integer, allocatable :: tmp_int(:,:)
! rc = trexio_write_ecp_lmax_plus_1(f, pseudo_lmax+1)
! call check_success(rc)
!
rc = trexio_write_electron_dn_num(f, elec_beta_num)
call check_success(rc)
! rc = trexio_write_ecp_z_core(f, nucl_charge_remove)
! call check_success(rc)
!
! rc = trexio_write_ecp_local_num_n_max(f, pseudo_klocmax)
! call check_success(rc)
!
! rc = trexio_write_ecp_local_power(f, pseudo_n_k_transp)
! call check_success(rc)
!
! rc = trexio_write_ecp_local_exponent(f, pseudo_dz_k_transp)
! call check_success(rc)
!
! rc = trexio_write_ecp_local_coef(f, pseudo_v_k_transp)
! call check_success(rc)
!
! rc = trexio_write_ecp_non_local_num_n_max(f, pseudo_kmax)
! call check_success(rc)
!
! rc = trexio_write_ecp_non_local_power(f, pseudo_n_kl_transp)
! call check_success(rc)
!
! rc = trexio_write_ecp_non_local_exponent(f, pseudo_dz_kl_transp)
! call check_success(rc)
!
! rc = trexio_write_ecp_non_local_coef(f, pseudo_v_kl_transp)
! call check_success(rc)
! Basis
@ -49,9 +93,52 @@ program export_trexio
! rc = trexio_write_basis_type(f, 'Gaussian')
! call check_success(rc)
rc = trexio_write_basis_shell_num(f, sum(Nucl_num_shell_Aos))
rc = trexio_write_basis_shell_num(f, shell_num)
call check_success(rc)
rc = trexio_write_basis_shell_center(f, shell_nucl)
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)
call check_success(rc)
rc = trexio_write_basis_shell_prim_num(f, shell_prim_num)
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_prim_index(f, shell_prim_index)
call check_success(rc)
rc = trexio_write_basis_exponent(f, prim_expo)
call check_success(rc)
rc = trexio_write_basis_coefficient(f, prim_coef)
call check_success(rc)
allocate(factor(prim_num))
if (primitives_normalized) then
factor(1:prim_num) = prim_normalization_factor(1:prim_num)
else
factor(1:prim_num) = 1.d0
endif
rc = trexio_write_basis_prim_factor(f, factor)
call check_success(rc)
deallocate(factor)
! Atomic orbitals
! ---------------
@ -62,6 +149,21 @@ program export_trexio
rc = trexio_write_ao_cartesian(f, 1)
call check_success(rc)
rc = trexio_write_ao_shell(f, ao_shell)
call check_success(rc)
integer :: i
allocate(factor(ao_num))
if (ao_normalized) then
do i=1,ao_num
factor(i) = ao_coef_normalization_factor(i) / shell_normalization_factor( ao_shell(i) )
enddo
else
factor(:) = 1.d0
endif
rc = trexio_write_ao_normalization(f, factor)
call check_success(rc)
deallocate(factor)
! One-e AO integrals
! ------------------
@ -96,7 +198,7 @@ program export_trexio
rc = trexio_write_mo_num(f, mo_num)
call check_success(rc)
rc = trexio_write_mo_coef(f, mo_coef)
rc = trexio_write_mo_coefficient(f, mo_coef)
call check_success(rc)
@ -116,7 +218,7 @@ program export_trexio
rc = trexio_write_mo_1e_int_ecp_non_local(f,mo_pseudo_integrals_non_local)
call check_success(rc)
endif
!
rc = trexio_write_mo_1e_int_core_hamiltonian(f,one_e_dm_mo)
call check_success(rc)

View File

@ -130,12 +130,6 @@ interface
integer(8), intent(in), value :: trex_file
end function trexio_has_ecp_non_local_power
end interface
interface
integer function trexio_has_basis_shell_factor (trex_file) bind(C)
use, intrinsic :: iso_c_binding
integer(8), intent(in), value :: trex_file
end function trexio_has_basis_shell_factor
end interface
interface
integer function trexio_has_basis_shell_center (trex_file) bind(C)
use, intrinsic :: iso_c_binding
@ -154,6 +148,12 @@ interface
integer(8), intent(in), value :: trex_file
end function trexio_has_basis_shell_prim_num
end interface
interface
integer function trexio_has_basis_shell_factor (trex_file) bind(C)
use, intrinsic :: iso_c_binding
integer(8), intent(in), value :: trex_file
end function trexio_has_basis_shell_factor
end interface
interface
integer function trexio_has_basis_prim_index (trex_file) bind(C)
use, intrinsic :: iso_c_binding
@ -172,6 +172,12 @@ interface
integer(8), intent(in), value :: trex_file
end function trexio_has_basis_coefficient
end interface
interface
integer function trexio_has_basis_prim_factor (trex_file) bind(C)
use, intrinsic :: iso_c_binding
integer(8), intent(in), value :: trex_file
end function trexio_has_basis_prim_factor
end interface
interface
integer function trexio_has_ao_shell (trex_file) bind(C)
use, intrinsic :: iso_c_binding
@ -227,10 +233,16 @@ interface
end function trexio_has_ao_2e_int_eri
end interface
interface
integer function trexio_has_mo_coef (trex_file) bind(C)
integer function trexio_has_ao_2e_int_eri_lr (trex_file) bind(C)
use, intrinsic :: iso_c_binding
integer(8), intent(in), value :: trex_file
end function trexio_has_mo_coef
end function trexio_has_ao_2e_int_eri_lr
end interface
interface
integer function trexio_has_mo_coefficient (trex_file) bind(C)
use, intrinsic :: iso_c_binding
integer(8), intent(in), value :: trex_file
end function trexio_has_mo_coefficient
end interface
interface
integer function trexio_has_mo_occupation (trex_file) bind(C)
@ -238,6 +250,12 @@ interface
integer(8), intent(in), value :: trex_file
end function trexio_has_mo_occupation
end interface
interface
integer function trexio_has_mo_1e_int_overlap (trex_file) bind(C)
use, intrinsic :: iso_c_binding
integer(8), intent(in), value :: trex_file
end function trexio_has_mo_1e_int_overlap
end interface
interface
integer function trexio_has_mo_1e_int_kinetic (trex_file) bind(C)
use, intrinsic :: iso_c_binding
@ -274,6 +292,12 @@ interface
integer(8), intent(in), value :: trex_file
end function trexio_has_mo_2e_int_eri
end interface
interface
integer function trexio_has_mo_2e_int_eri_lr (trex_file) bind(C)
use, intrinsic :: iso_c_binding
integer(8), intent(in), value :: trex_file
end function trexio_has_mo_2e_int_eri_lr
end interface
interface
integer function trexio_has_electron_up_num (trex_file) bind(C)
use, intrinsic :: iso_c_binding
@ -286,12 +310,6 @@ interface
integer(8), intent(in), value :: trex_file
end function trexio_has_electron_dn_num
end interface
interface
integer function trexio_has_ao_cartesian (trex_file) bind(C)
use, intrinsic :: iso_c_binding
integer(8), intent(in), value :: trex_file
end function trexio_has_ao_cartesian
end interface
interface
integer function trexio_has_nucleus_num (trex_file) bind(C)
use, intrinsic :: iso_c_binding
@ -322,6 +340,12 @@ interface
integer(8), intent(in), value :: trex_file
end function trexio_has_basis_prim_num
end interface
interface
integer function trexio_has_ao_cartesian (trex_file) bind(C)
use, intrinsic :: iso_c_binding
integer(8), intent(in), value :: trex_file
end function trexio_has_ao_cartesian
end interface
interface
integer function trexio_has_ao_num (trex_file) bind(C)
use, intrinsic :: iso_c_binding
@ -359,7 +383,7 @@ interface
integer function trexio_read_ecp_z_core_32 (trex_file, dset) bind(C)
use, intrinsic :: iso_c_binding
integer(8), intent(in), value :: trex_file
integer(4), intent(out) :: dset(*)
real(4), intent(out) :: dset(*)
end function trexio_read_ecp_z_core_32
end interface
interface
@ -418,13 +442,6 @@ interface
integer(4), intent(out) :: dset(*)
end function trexio_read_ecp_non_local_power_32
end interface
interface
integer function trexio_read_basis_shell_factor_32 (trex_file, dset) bind(C)
use, intrinsic :: iso_c_binding
integer(8), intent(in), value :: trex_file
real(4), intent(out) :: dset(*)
end function trexio_read_basis_shell_factor_32
end interface
interface
integer function trexio_read_basis_shell_center_32 (trex_file, dset) bind(C)
use, intrinsic :: iso_c_binding
@ -446,6 +463,13 @@ interface
integer(4), intent(out) :: dset(*)
end function trexio_read_basis_shell_prim_num_32
end interface
interface
integer function trexio_read_basis_shell_factor_32 (trex_file, dset) bind(C)
use, intrinsic :: iso_c_binding
integer(8), intent(in), value :: trex_file
real(4), intent(out) :: dset(*)
end function trexio_read_basis_shell_factor_32
end interface
interface
integer function trexio_read_basis_prim_index_32 (trex_file, dset) bind(C)
use, intrinsic :: iso_c_binding
@ -467,6 +491,13 @@ interface
real(4), intent(out) :: dset(*)
end function trexio_read_basis_coefficient_32
end interface
interface
integer function trexio_read_basis_prim_factor_32 (trex_file, dset) bind(C)
use, intrinsic :: iso_c_binding
integer(8), intent(in), value :: trex_file
real(4), intent(out) :: dset(*)
end function trexio_read_basis_prim_factor_32
end interface
interface
integer function trexio_read_ao_shell_32 (trex_file, dset) bind(C)
use, intrinsic :: iso_c_binding
@ -531,11 +562,18 @@ interface
end function trexio_read_ao_2e_int_eri_32
end interface
interface
integer function trexio_read_mo_coef_32 (trex_file, dset) bind(C)
integer function trexio_read_ao_2e_int_eri_lr_32 (trex_file, dset) bind(C)
use, intrinsic :: iso_c_binding
integer(8), intent(in), value :: trex_file
real(4), intent(out) :: dset(*)
end function trexio_read_mo_coef_32
end function trexio_read_ao_2e_int_eri_lr_32
end interface
interface
integer function trexio_read_mo_coefficient_32 (trex_file, dset) bind(C)
use, intrinsic :: iso_c_binding
integer(8), intent(in), value :: trex_file
real(4), intent(out) :: dset(*)
end function trexio_read_mo_coefficient_32
end interface
interface
integer function trexio_read_mo_occupation_32 (trex_file, dset) bind(C)
@ -544,6 +582,13 @@ interface
real(4), intent(out) :: dset(*)
end function trexio_read_mo_occupation_32
end interface
interface
integer function trexio_read_mo_1e_int_overlap_32 (trex_file, dset) bind(C)
use, intrinsic :: iso_c_binding
integer(8), intent(in), value :: trex_file
real(4), intent(out) :: dset(*)
end function trexio_read_mo_1e_int_overlap_32
end interface
interface
integer function trexio_read_mo_1e_int_kinetic_32 (trex_file, dset) bind(C)
use, intrinsic :: iso_c_binding
@ -586,6 +631,13 @@ interface
real(4), intent(out) :: dset(*)
end function trexio_read_mo_2e_int_eri_32
end interface
interface
integer function trexio_read_mo_2e_int_eri_lr_32 (trex_file, dset) bind(C)
use, intrinsic :: iso_c_binding
integer(8), intent(in), value :: trex_file
real(4), intent(out) :: dset(*)
end function trexio_read_mo_2e_int_eri_lr_32
end interface
interface
integer function trexio_read_nucleus_charge_64 (trex_file, dset) bind(C)
use, intrinsic :: iso_c_binding
@ -611,7 +663,7 @@ interface
integer function trexio_read_ecp_z_core_64 (trex_file, dset) bind(C)
use, intrinsic :: iso_c_binding
integer(8), intent(in), value :: trex_file
integer(8), intent(out) :: dset(*)
real(8), intent(out) :: dset(*)
end function trexio_read_ecp_z_core_64
end interface
interface
@ -670,13 +722,6 @@ interface
integer(8), intent(out) :: dset(*)
end function trexio_read_ecp_non_local_power_64
end interface
interface
integer function trexio_read_basis_shell_factor_64 (trex_file, dset) bind(C)
use, intrinsic :: iso_c_binding
integer(8), intent(in), value :: trex_file
real(8), intent(out) :: dset(*)
end function trexio_read_basis_shell_factor_64
end interface
interface
integer function trexio_read_basis_shell_center_64 (trex_file, dset) bind(C)
use, intrinsic :: iso_c_binding
@ -698,6 +743,13 @@ interface
integer(8), intent(out) :: dset(*)
end function trexio_read_basis_shell_prim_num_64
end interface
interface
integer function trexio_read_basis_shell_factor_64 (trex_file, dset) bind(C)
use, intrinsic :: iso_c_binding
integer(8), intent(in), value :: trex_file
real(8), intent(out) :: dset(*)
end function trexio_read_basis_shell_factor_64
end interface
interface
integer function trexio_read_basis_prim_index_64 (trex_file, dset) bind(C)
use, intrinsic :: iso_c_binding
@ -719,6 +771,13 @@ interface
real(8), intent(out) :: dset(*)
end function trexio_read_basis_coefficient_64
end interface
interface
integer function trexio_read_basis_prim_factor_64 (trex_file, dset) bind(C)
use, intrinsic :: iso_c_binding
integer(8), intent(in), value :: trex_file
real(8), intent(out) :: dset(*)
end function trexio_read_basis_prim_factor_64
end interface
interface
integer function trexio_read_ao_shell_64 (trex_file, dset) bind(C)
use, intrinsic :: iso_c_binding
@ -783,11 +842,18 @@ interface
end function trexio_read_ao_2e_int_eri_64
end interface
interface
integer function trexio_read_mo_coef_64 (trex_file, dset) bind(C)
integer function trexio_read_ao_2e_int_eri_lr_64 (trex_file, dset) bind(C)
use, intrinsic :: iso_c_binding
integer(8), intent(in), value :: trex_file
real(8), intent(out) :: dset(*)
end function trexio_read_mo_coef_64
end function trexio_read_ao_2e_int_eri_lr_64
end interface
interface
integer function trexio_read_mo_coefficient_64 (trex_file, dset) bind(C)
use, intrinsic :: iso_c_binding
integer(8), intent(in), value :: trex_file
real(8), intent(out) :: dset(*)
end function trexio_read_mo_coefficient_64
end interface
interface
integer function trexio_read_mo_occupation_64 (trex_file, dset) bind(C)
@ -796,6 +862,13 @@ interface
real(8), intent(out) :: dset(*)
end function trexio_read_mo_occupation_64
end interface
interface
integer function trexio_read_mo_1e_int_overlap_64 (trex_file, dset) bind(C)
use, intrinsic :: iso_c_binding
integer(8), intent(in), value :: trex_file
real(8), intent(out) :: dset(*)
end function trexio_read_mo_1e_int_overlap_64
end interface
interface
integer function trexio_read_mo_1e_int_kinetic_64 (trex_file, dset) bind(C)
use, intrinsic :: iso_c_binding
@ -838,6 +911,13 @@ interface
real(8), intent(out) :: dset(*)
end function trexio_read_mo_2e_int_eri_64
end interface
interface
integer function trexio_read_mo_2e_int_eri_lr_64 (trex_file, dset) bind(C)
use, intrinsic :: iso_c_binding
integer(8), intent(in), value :: trex_file
real(8), intent(out) :: dset(*)
end function trexio_read_mo_2e_int_eri_lr_64
end interface
interface
integer function trexio_read_nucleus_charge (trex_file, dset) bind(C)
use, intrinsic :: iso_c_binding
@ -856,21 +936,21 @@ interface
integer function trexio_read_ecp_lmax_plus_1 (trex_file, dset) bind(C)
use, intrinsic :: iso_c_binding
integer(8), intent(in), value :: trex_file
integer(8), intent(out) :: dset(*)
integer(4), intent(out) :: dset(*)
end function trexio_read_ecp_lmax_plus_1
end interface
interface
integer function trexio_read_ecp_z_core (trex_file, dset) bind(C)
use, intrinsic :: iso_c_binding
integer(8), intent(in), value :: trex_file
integer(8), intent(out) :: dset(*)
real(8), intent(out) :: dset(*)
end function trexio_read_ecp_z_core
end interface
interface
integer function trexio_read_ecp_local_n (trex_file, dset) bind(C)
use, intrinsic :: iso_c_binding
integer(8), intent(in), value :: trex_file
integer(8), intent(out) :: dset(*)
integer(4), intent(out) :: dset(*)
end function trexio_read_ecp_local_n
end interface
interface
@ -891,14 +971,14 @@ interface
integer function trexio_read_ecp_local_power (trex_file, dset) bind(C)
use, intrinsic :: iso_c_binding
integer(8), intent(in), value :: trex_file
integer(8), intent(out) :: dset(*)
integer(4), intent(out) :: dset(*)
end function trexio_read_ecp_local_power
end interface
interface
integer function trexio_read_ecp_non_local_n (trex_file, dset) bind(C)
use, intrinsic :: iso_c_binding
integer(8), intent(in), value :: trex_file
integer(8), intent(out) :: dset(*)
integer(4), intent(out) :: dset(*)
end function trexio_read_ecp_non_local_n
end interface
interface
@ -919,9 +999,30 @@ interface
integer function trexio_read_ecp_non_local_power (trex_file, dset) bind(C)
use, intrinsic :: iso_c_binding
integer(8), intent(in), value :: trex_file
integer(8), intent(out) :: dset(*)
integer(4), intent(out) :: dset(*)
end function trexio_read_ecp_non_local_power
end interface
interface
integer function trexio_read_basis_shell_center (trex_file, dset) bind(C)
use, intrinsic :: iso_c_binding
integer(8), intent(in), value :: trex_file
integer(4), intent(out) :: dset(*)
end function trexio_read_basis_shell_center
end interface
interface
integer function trexio_read_basis_shell_ang_mom (trex_file, dset) bind(C)
use, intrinsic :: iso_c_binding
integer(8), intent(in), value :: trex_file
integer(4), intent(out) :: dset(*)
end function trexio_read_basis_shell_ang_mom
end interface
interface
integer function trexio_read_basis_shell_prim_num (trex_file, dset) bind(C)
use, intrinsic :: iso_c_binding
integer(8), intent(in), value :: trex_file
integer(4), intent(out) :: dset(*)
end function trexio_read_basis_shell_prim_num
end interface
interface
integer function trexio_read_basis_shell_factor (trex_file, dset) bind(C)
use, intrinsic :: iso_c_binding
@ -929,32 +1030,11 @@ interface
real(8), intent(out) :: dset(*)
end function trexio_read_basis_shell_factor
end interface
interface
integer function trexio_read_basis_shell_center (trex_file, dset) bind(C)
use, intrinsic :: iso_c_binding
integer(8), intent(in), value :: trex_file
integer(8), intent(out) :: dset(*)
end function trexio_read_basis_shell_center
end interface
interface
integer function trexio_read_basis_shell_ang_mom (trex_file, dset) bind(C)
use, intrinsic :: iso_c_binding
integer(8), intent(in), value :: trex_file
integer(8), intent(out) :: dset(*)
end function trexio_read_basis_shell_ang_mom
end interface
interface
integer function trexio_read_basis_shell_prim_num (trex_file, dset) bind(C)
use, intrinsic :: iso_c_binding
integer(8), intent(in), value :: trex_file
integer(8), intent(out) :: dset(*)
end function trexio_read_basis_shell_prim_num
end interface
interface
integer function trexio_read_basis_prim_index (trex_file, dset) bind(C)
use, intrinsic :: iso_c_binding
integer(8), intent(in), value :: trex_file
integer(8), intent(out) :: dset(*)
integer(4), intent(out) :: dset(*)
end function trexio_read_basis_prim_index
end interface
interface
@ -971,11 +1051,18 @@ interface
real(8), intent(out) :: dset(*)
end function trexio_read_basis_coefficient
end interface
interface
integer function trexio_read_basis_prim_factor (trex_file, dset) bind(C)
use, intrinsic :: iso_c_binding
integer(8), intent(in), value :: trex_file
real(8), intent(out) :: dset(*)
end function trexio_read_basis_prim_factor
end interface
interface
integer function trexio_read_ao_shell (trex_file, dset) bind(C)
use, intrinsic :: iso_c_binding
integer(8), intent(in), value :: trex_file
integer(8), intent(out) :: dset(*)
integer(4), intent(out) :: dset(*)
end function trexio_read_ao_shell
end interface
interface
@ -1035,11 +1122,18 @@ interface
end function trexio_read_ao_2e_int_eri
end interface
interface
integer function trexio_read_mo_coef (trex_file, dset) bind(C)
integer function trexio_read_ao_2e_int_eri_lr (trex_file, dset) bind(C)
use, intrinsic :: iso_c_binding
integer(8), intent(in), value :: trex_file
real(8), intent(out) :: dset(*)
end function trexio_read_mo_coef
end function trexio_read_ao_2e_int_eri_lr
end interface
interface
integer function trexio_read_mo_coefficient (trex_file, dset) bind(C)
use, intrinsic :: iso_c_binding
integer(8), intent(in), value :: trex_file
real(8), intent(out) :: dset(*)
end function trexio_read_mo_coefficient
end interface
interface
integer function trexio_read_mo_occupation (trex_file, dset) bind(C)
@ -1048,6 +1142,13 @@ interface
real(8), intent(out) :: dset(*)
end function trexio_read_mo_occupation
end interface
interface
integer function trexio_read_mo_1e_int_overlap (trex_file, dset) bind(C)
use, intrinsic :: iso_c_binding
integer(8), intent(in), value :: trex_file
real(8), intent(out) :: dset(*)
end function trexio_read_mo_1e_int_overlap
end interface
interface
integer function trexio_read_mo_1e_int_kinetic (trex_file, dset) bind(C)
use, intrinsic :: iso_c_binding
@ -1090,6 +1191,13 @@ interface
real(8), intent(out) :: dset(*)
end function trexio_read_mo_2e_int_eri
end interface
interface
integer function trexio_read_mo_2e_int_eri_lr (trex_file, dset) bind(C)
use, intrinsic :: iso_c_binding
integer(8), intent(in), value :: trex_file
real(8), intent(out) :: dset(*)
end function trexio_read_mo_2e_int_eri_lr
end interface
interface
integer function trexio_read_electron_up_num_32 (trex_file, num) bind(C)
use, intrinsic :: iso_c_binding
@ -1104,13 +1212,6 @@ interface
integer(4), intent(out) :: num
end function trexio_read_electron_dn_num_32
end interface
interface
integer function trexio_read_ao_cartesian_32 (trex_file, num) bind(C)
use, intrinsic :: iso_c_binding
integer(8), intent(in), value :: trex_file
integer(4), intent(out) :: num
end function trexio_read_ao_cartesian_32
end interface
interface
integer function trexio_read_nucleus_num_32 (trex_file, num) bind(C)
use, intrinsic :: iso_c_binding
@ -1146,6 +1247,13 @@ interface
integer(4), intent(out) :: num
end function trexio_read_basis_prim_num_32
end interface
interface
integer function trexio_read_ao_cartesian_32 (trex_file, num) bind(C)
use, intrinsic :: iso_c_binding
integer(8), intent(in), value :: trex_file
integer(4), intent(out) :: num
end function trexio_read_ao_cartesian_32
end interface
interface
integer function trexio_read_ao_num_32 (trex_file, num) bind(C)
use, intrinsic :: iso_c_binding
@ -1174,13 +1282,6 @@ interface
integer(8), intent(out) :: num
end function trexio_read_electron_dn_num_64
end interface
interface
integer function trexio_read_ao_cartesian_64 (trex_file, num) bind(C)
use, intrinsic :: iso_c_binding
integer(8), intent(in), value :: trex_file
integer(8), intent(out) :: num
end function trexio_read_ao_cartesian_64
end interface
interface
integer function trexio_read_nucleus_num_64 (trex_file, num) bind(C)
use, intrinsic :: iso_c_binding
@ -1216,6 +1317,13 @@ interface
integer(8), intent(out) :: num
end function trexio_read_basis_prim_num_64
end interface
interface
integer function trexio_read_ao_cartesian_64 (trex_file, num) bind(C)
use, intrinsic :: iso_c_binding
integer(8), intent(in), value :: trex_file
integer(8), intent(out) :: num
end function trexio_read_ao_cartesian_64
end interface
interface
integer function trexio_read_ao_num_64 (trex_file, num) bind(C)
use, intrinsic :: iso_c_binding
@ -1244,13 +1352,6 @@ interface
integer(4), intent(out) :: num
end function trexio_read_electron_dn_num
end interface
interface
integer function trexio_read_ao_cartesian (trex_file, num) bind(C)
use, intrinsic :: iso_c_binding
integer(8), intent(in), value :: trex_file
integer(4), intent(out) :: num
end function trexio_read_ao_cartesian
end interface
interface
integer function trexio_read_nucleus_num (trex_file, num) bind(C)
use, intrinsic :: iso_c_binding
@ -1286,6 +1387,13 @@ interface
integer(4), intent(out) :: num
end function trexio_read_basis_prim_num
end interface
interface
integer function trexio_read_ao_cartesian (trex_file, num) bind(C)
use, intrinsic :: iso_c_binding
integer(8), intent(in), value :: trex_file
integer(4), intent(out) :: num
end function trexio_read_ao_cartesian
end interface
interface
integer function trexio_read_ao_num (trex_file, num) bind(C)
use, intrinsic :: iso_c_binding
@ -1325,7 +1433,7 @@ interface
integer function trexio_write_ecp_z_core_32 (trex_file, dset) bind(C)
use, intrinsic :: iso_c_binding
integer(8), intent(in), value :: trex_file
integer(4), intent(in) :: dset(*)
real(4), intent(in) :: dset(*)
end function trexio_write_ecp_z_core_32
end interface
interface
@ -1384,13 +1492,6 @@ interface
integer(4), intent(in) :: dset(*)
end function trexio_write_ecp_non_local_power_32
end interface
interface
integer function trexio_write_basis_shell_factor_32 (trex_file, dset) bind(C)
use, intrinsic :: iso_c_binding
integer(8), intent(in), value :: trex_file
real(4), intent(in) :: dset(*)
end function trexio_write_basis_shell_factor_32
end interface
interface
integer function trexio_write_basis_shell_center_32 (trex_file, dset) bind(C)
use, intrinsic :: iso_c_binding
@ -1412,6 +1513,13 @@ interface
integer(4), intent(in) :: dset(*)
end function trexio_write_basis_shell_prim_num_32
end interface
interface
integer function trexio_write_basis_shell_factor_32 (trex_file, dset) bind(C)
use, intrinsic :: iso_c_binding
integer(8), intent(in), value :: trex_file
real(4), intent(in) :: dset(*)
end function trexio_write_basis_shell_factor_32
end interface
interface
integer function trexio_write_basis_prim_index_32 (trex_file, dset) bind(C)
use, intrinsic :: iso_c_binding
@ -1433,6 +1541,13 @@ interface
real(4), intent(in) :: dset(*)
end function trexio_write_basis_coefficient_32
end interface
interface
integer function trexio_write_basis_prim_factor_32 (trex_file, dset) bind(C)
use, intrinsic :: iso_c_binding
integer(8), intent(in), value :: trex_file
real(4), intent(in) :: dset(*)
end function trexio_write_basis_prim_factor_32
end interface
interface
integer function trexio_write_ao_shell_32 (trex_file, dset) bind(C)
use, intrinsic :: iso_c_binding
@ -1497,11 +1612,18 @@ interface
end function trexio_write_ao_2e_int_eri_32
end interface
interface
integer function trexio_write_mo_coef_32 (trex_file, dset) bind(C)
integer function trexio_write_ao_2e_int_eri_lr_32 (trex_file, dset) bind(C)
use, intrinsic :: iso_c_binding
integer(8), intent(in), value :: trex_file
real(4), intent(in) :: dset(*)
end function trexio_write_mo_coef_32
end function trexio_write_ao_2e_int_eri_lr_32
end interface
interface
integer function trexio_write_mo_coefficient_32 (trex_file, dset) bind(C)
use, intrinsic :: iso_c_binding
integer(8), intent(in), value :: trex_file
real(4), intent(in) :: dset(*)
end function trexio_write_mo_coefficient_32
end interface
interface
integer function trexio_write_mo_occupation_32 (trex_file, dset) bind(C)
@ -1510,6 +1632,13 @@ interface
real(4), intent(in) :: dset(*)
end function trexio_write_mo_occupation_32
end interface
interface
integer function trexio_write_mo_1e_int_overlap_32 (trex_file, dset) bind(C)
use, intrinsic :: iso_c_binding
integer(8), intent(in), value :: trex_file
real(4), intent(in) :: dset(*)
end function trexio_write_mo_1e_int_overlap_32
end interface
interface
integer function trexio_write_mo_1e_int_kinetic_32 (trex_file, dset) bind(C)
use, intrinsic :: iso_c_binding
@ -1552,6 +1681,13 @@ interface
real(4), intent(in) :: dset(*)
end function trexio_write_mo_2e_int_eri_32
end interface
interface
integer function trexio_write_mo_2e_int_eri_lr_32 (trex_file, dset) bind(C)
use, intrinsic :: iso_c_binding
integer(8), intent(in), value :: trex_file
real(4), intent(in) :: dset(*)
end function trexio_write_mo_2e_int_eri_lr_32
end interface
interface
integer function trexio_write_nucleus_charge_64 (trex_file, dset) bind(C)
use, intrinsic :: iso_c_binding
@ -1577,7 +1713,7 @@ interface
integer function trexio_write_ecp_z_core_64 (trex_file, dset) bind(C)
use, intrinsic :: iso_c_binding
integer(8), intent(in), value :: trex_file
integer(8), intent(in) :: dset(*)
real(8), intent(in) :: dset(*)
end function trexio_write_ecp_z_core_64
end interface
interface
@ -1636,13 +1772,6 @@ interface
integer(8), intent(in) :: dset(*)
end function trexio_write_ecp_non_local_power_64
end interface
interface
integer function trexio_write_basis_shell_factor_64 (trex_file, dset) bind(C)
use, intrinsic :: iso_c_binding
integer(8), intent(in), value :: trex_file
real(8), intent(in) :: dset(*)
end function trexio_write_basis_shell_factor_64
end interface
interface
integer function trexio_write_basis_shell_center_64 (trex_file, dset) bind(C)
use, intrinsic :: iso_c_binding
@ -1664,6 +1793,13 @@ interface
integer(8), intent(in) :: dset(*)
end function trexio_write_basis_shell_prim_num_64
end interface
interface
integer function trexio_write_basis_shell_factor_64 (trex_file, dset) bind(C)
use, intrinsic :: iso_c_binding
integer(8), intent(in), value :: trex_file
real(8), intent(in) :: dset(*)
end function trexio_write_basis_shell_factor_64
end interface
interface
integer function trexio_write_basis_prim_index_64 (trex_file, dset) bind(C)
use, intrinsic :: iso_c_binding
@ -1685,6 +1821,13 @@ interface
real(8), intent(in) :: dset(*)
end function trexio_write_basis_coefficient_64
end interface
interface
integer function trexio_write_basis_prim_factor_64 (trex_file, dset) bind(C)
use, intrinsic :: iso_c_binding
integer(8), intent(in), value :: trex_file
real(8), intent(in) :: dset(*)
end function trexio_write_basis_prim_factor_64
end interface
interface
integer function trexio_write_ao_shell_64 (trex_file, dset) bind(C)
use, intrinsic :: iso_c_binding
@ -1749,11 +1892,18 @@ interface
end function trexio_write_ao_2e_int_eri_64
end interface
interface
integer function trexio_write_mo_coef_64 (trex_file, dset) bind(C)
integer function trexio_write_ao_2e_int_eri_lr_64 (trex_file, dset) bind(C)
use, intrinsic :: iso_c_binding
integer(8), intent(in), value :: trex_file
real(8), intent(in) :: dset(*)
end function trexio_write_mo_coef_64
end function trexio_write_ao_2e_int_eri_lr_64
end interface
interface
integer function trexio_write_mo_coefficient_64 (trex_file, dset) bind(C)
use, intrinsic :: iso_c_binding
integer(8), intent(in), value :: trex_file
real(8), intent(in) :: dset(*)
end function trexio_write_mo_coefficient_64
end interface
interface
integer function trexio_write_mo_occupation_64 (trex_file, dset) bind(C)
@ -1762,6 +1912,13 @@ interface
real(8), intent(in) :: dset(*)
end function trexio_write_mo_occupation_64
end interface
interface
integer function trexio_write_mo_1e_int_overlap_64 (trex_file, dset) bind(C)
use, intrinsic :: iso_c_binding
integer(8), intent(in), value :: trex_file
real(8), intent(in) :: dset(*)
end function trexio_write_mo_1e_int_overlap_64
end interface
interface
integer function trexio_write_mo_1e_int_kinetic_64 (trex_file, dset) bind(C)
use, intrinsic :: iso_c_binding
@ -1804,6 +1961,13 @@ interface
real(8), intent(in) :: dset(*)
end function trexio_write_mo_2e_int_eri_64
end interface
interface
integer function trexio_write_mo_2e_int_eri_lr_64 (trex_file, dset) bind(C)
use, intrinsic :: iso_c_binding
integer(8), intent(in), value :: trex_file
real(8), intent(in) :: dset(*)
end function trexio_write_mo_2e_int_eri_lr_64
end interface
interface
integer function trexio_write_nucleus_charge (trex_file, dset) bind(C)
use, intrinsic :: iso_c_binding
@ -1822,21 +1986,21 @@ interface
integer function trexio_write_ecp_lmax_plus_1 (trex_file, dset) bind(C)
use, intrinsic :: iso_c_binding
integer(8), intent(in), value :: trex_file
integer(8), intent(in) :: dset(*)
integer(4), intent(in) :: dset(*)
end function trexio_write_ecp_lmax_plus_1
end interface
interface
integer function trexio_write_ecp_z_core (trex_file, dset) bind(C)
use, intrinsic :: iso_c_binding
integer(8), intent(in), value :: trex_file
integer(8), intent(in) :: dset(*)
real(8), intent(in) :: dset(*)
end function trexio_write_ecp_z_core
end interface
interface
integer function trexio_write_ecp_local_n (trex_file, dset) bind(C)
use, intrinsic :: iso_c_binding
integer(8), intent(in), value :: trex_file
integer(8), intent(in) :: dset(*)
integer(4), intent(in) :: dset(*)
end function trexio_write_ecp_local_n
end interface
interface
@ -1857,14 +2021,14 @@ interface
integer function trexio_write_ecp_local_power (trex_file, dset) bind(C)
use, intrinsic :: iso_c_binding
integer(8), intent(in), value :: trex_file
integer(8), intent(in) :: dset(*)
integer(4), intent(in) :: dset(*)
end function trexio_write_ecp_local_power
end interface
interface
integer function trexio_write_ecp_non_local_n (trex_file, dset) bind(C)
use, intrinsic :: iso_c_binding
integer(8), intent(in), value :: trex_file
integer(8), intent(in) :: dset(*)
integer(4), intent(in) :: dset(*)
end function trexio_write_ecp_non_local_n
end interface
interface
@ -1885,9 +2049,30 @@ interface
integer function trexio_write_ecp_non_local_power (trex_file, dset) bind(C)
use, intrinsic :: iso_c_binding
integer(8), intent(in), value :: trex_file
integer(8), intent(in) :: dset(*)
integer(4), intent(in) :: dset(*)
end function trexio_write_ecp_non_local_power
end interface
interface
integer function trexio_write_basis_shell_center (trex_file, dset) bind(C)
use, intrinsic :: iso_c_binding
integer(8), intent(in), value :: trex_file
integer(4), intent(in) :: dset(*)
end function trexio_write_basis_shell_center
end interface
interface
integer function trexio_write_basis_shell_ang_mom (trex_file, dset) bind(C)
use, intrinsic :: iso_c_binding
integer(8), intent(in), value :: trex_file
integer(4), intent(in) :: dset(*)
end function trexio_write_basis_shell_ang_mom
end interface
interface
integer function trexio_write_basis_shell_prim_num (trex_file, dset) bind(C)
use, intrinsic :: iso_c_binding
integer(8), intent(in), value :: trex_file
integer(4), intent(in) :: dset(*)
end function trexio_write_basis_shell_prim_num
end interface
interface
integer function trexio_write_basis_shell_factor (trex_file, dset) bind(C)
use, intrinsic :: iso_c_binding
@ -1895,32 +2080,11 @@ interface
real(8), intent(in) :: dset(*)
end function trexio_write_basis_shell_factor
end interface
interface
integer function trexio_write_basis_shell_center (trex_file, dset) bind(C)
use, intrinsic :: iso_c_binding
integer(8), intent(in), value :: trex_file
integer(8), intent(in) :: dset(*)
end function trexio_write_basis_shell_center
end interface
interface
integer function trexio_write_basis_shell_ang_mom (trex_file, dset) bind(C)
use, intrinsic :: iso_c_binding
integer(8), intent(in), value :: trex_file
integer(8), intent(in) :: dset(*)
end function trexio_write_basis_shell_ang_mom
end interface
interface
integer function trexio_write_basis_shell_prim_num (trex_file, dset) bind(C)
use, intrinsic :: iso_c_binding
integer(8), intent(in), value :: trex_file
integer(8), intent(in) :: dset(*)
end function trexio_write_basis_shell_prim_num
end interface
interface
integer function trexio_write_basis_prim_index (trex_file, dset) bind(C)
use, intrinsic :: iso_c_binding
integer(8), intent(in), value :: trex_file
integer(8), intent(in) :: dset(*)
integer(4), intent(in) :: dset(*)
end function trexio_write_basis_prim_index
end interface
interface
@ -1937,11 +2101,18 @@ interface
real(8), intent(in) :: dset(*)
end function trexio_write_basis_coefficient
end interface
interface
integer function trexio_write_basis_prim_factor (trex_file, dset) bind(C)
use, intrinsic :: iso_c_binding
integer(8), intent(in), value :: trex_file
real(8), intent(in) :: dset(*)
end function trexio_write_basis_prim_factor
end interface
interface
integer function trexio_write_ao_shell (trex_file, dset) bind(C)
use, intrinsic :: iso_c_binding
integer(8), intent(in), value :: trex_file
integer(8), intent(in) :: dset(*)
integer(4), intent(in) :: dset(*)
end function trexio_write_ao_shell
end interface
interface
@ -2001,11 +2172,18 @@ interface
end function trexio_write_ao_2e_int_eri
end interface
interface
integer function trexio_write_mo_coef (trex_file, dset) bind(C)
integer function trexio_write_ao_2e_int_eri_lr (trex_file, dset) bind(C)
use, intrinsic :: iso_c_binding
integer(8), intent(in), value :: trex_file
real(8), intent(in) :: dset(*)
end function trexio_write_mo_coef
end function trexio_write_ao_2e_int_eri_lr
end interface
interface
integer function trexio_write_mo_coefficient (trex_file, dset) bind(C)
use, intrinsic :: iso_c_binding
integer(8), intent(in), value :: trex_file
real(8), intent(in) :: dset(*)
end function trexio_write_mo_coefficient
end interface
interface
integer function trexio_write_mo_occupation (trex_file, dset) bind(C)
@ -2014,6 +2192,13 @@ interface
real(8), intent(in) :: dset(*)
end function trexio_write_mo_occupation
end interface
interface
integer function trexio_write_mo_1e_int_overlap (trex_file, dset) bind(C)
use, intrinsic :: iso_c_binding
integer(8), intent(in), value :: trex_file
real(8), intent(in) :: dset(*)
end function trexio_write_mo_1e_int_overlap
end interface
interface
integer function trexio_write_mo_1e_int_kinetic (trex_file, dset) bind(C)
use, intrinsic :: iso_c_binding
@ -2056,6 +2241,13 @@ interface
real(8), intent(in) :: dset(*)
end function trexio_write_mo_2e_int_eri
end interface
interface
integer function trexio_write_mo_2e_int_eri_lr (trex_file, dset) bind(C)
use, intrinsic :: iso_c_binding
integer(8), intent(in), value :: trex_file
real(8), intent(in) :: dset(*)
end function trexio_write_mo_2e_int_eri_lr
end interface
interface
integer function trexio_write_electron_up_num_32 (trex_file, num) bind(C)
use, intrinsic :: iso_c_binding
@ -2070,13 +2262,6 @@ interface
integer(4), intent(in), value :: num
end function trexio_write_electron_dn_num_32
end interface
interface
integer function trexio_write_ao_cartesian_32 (trex_file, num) bind(C)
use, intrinsic :: iso_c_binding
integer(8), intent(in), value :: trex_file
integer(4), intent(in), value :: num
end function trexio_write_ao_cartesian_32
end interface
interface
integer function trexio_write_nucleus_num_32 (trex_file, num) bind(C)
use, intrinsic :: iso_c_binding
@ -2112,6 +2297,13 @@ interface
integer(4), intent(in), value :: num
end function trexio_write_basis_prim_num_32
end interface
interface
integer function trexio_write_ao_cartesian_32 (trex_file, num) bind(C)
use, intrinsic :: iso_c_binding
integer(8), intent(in), value :: trex_file
integer(4), intent(in), value :: num
end function trexio_write_ao_cartesian_32
end interface
interface
integer function trexio_write_ao_num_32 (trex_file, num) bind(C)
use, intrinsic :: iso_c_binding
@ -2140,13 +2332,6 @@ interface
integer(8), intent(in), value :: num
end function trexio_write_electron_dn_num_64
end interface
interface
integer function trexio_write_ao_cartesian_64 (trex_file, num) bind(C)
use, intrinsic :: iso_c_binding
integer(8), intent(in), value :: trex_file
integer(8), intent(in), value :: num
end function trexio_write_ao_cartesian_64
end interface
interface
integer function trexio_write_nucleus_num_64 (trex_file, num) bind(C)
use, intrinsic :: iso_c_binding
@ -2182,6 +2367,13 @@ interface
integer(8), intent(in), value :: num
end function trexio_write_basis_prim_num_64
end interface
interface
integer function trexio_write_ao_cartesian_64 (trex_file, num) bind(C)
use, intrinsic :: iso_c_binding
integer(8), intent(in), value :: trex_file
integer(8), intent(in), value :: num
end function trexio_write_ao_cartesian_64
end interface
interface
integer function trexio_write_ao_num_64 (trex_file, num) bind(C)
use, intrinsic :: iso_c_binding
@ -2210,13 +2402,6 @@ interface
integer(4), intent(in), value :: num
end function trexio_write_electron_dn_num
end interface
interface
integer function trexio_write_ao_cartesian (trex_file, num) bind(C)
use, intrinsic :: iso_c_binding
integer(8), intent(in), value :: trex_file
integer(4), intent(in), value :: num
end function trexio_write_ao_cartesian
end interface
interface
integer function trexio_write_nucleus_num (trex_file, num) bind(C)
use, intrinsic :: iso_c_binding
@ -2252,6 +2437,13 @@ interface
integer(4), intent(in), value :: num
end function trexio_write_basis_prim_num
end interface
interface
integer function trexio_write_ao_cartesian (trex_file, num) bind(C)
use, intrinsic :: iso_c_binding
integer(8), intent(in), value :: trex_file
integer(4), intent(in), value :: num
end function trexio_write_ao_cartesian
end interface
interface
integer function trexio_write_ao_num (trex_file, num) bind(C)
use, intrinsic :: iso_c_binding