diff --git a/devel/trexio/LIB b/devel/trexio/LIB index 05990cb..370ab27 100644 --- a/devel/trexio/LIB +++ b/devel/trexio/LIB @@ -1 +1 @@ --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 -L/usr/lib/x86_64-linux-gnu/hdf5/serial -ltrexio diff --git a/devel/trexio/export_trexio.irp.f b/devel/trexio/export_trexio.irp.f index db740a3..c58a4af 100644 --- a/devel/trexio/export_trexio.irp.f +++ b/devel/trexio/export_trexio.irp.f @@ -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) + + 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_num(f, prim_num) + call check_success(rc) + + 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) diff --git a/devel/trexio/trexio_f.f90 b/devel/trexio/trexio_f.f90 index d16652a..92323ff 100644 --- a/devel/trexio/trexio_f.f90 +++ b/devel/trexio/trexio_f.f90 @@ -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