From 8eef226634bbfc7bbe055f2f81da95077711d789 Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Fri, 3 Dec 2021 14:48:52 +0100 Subject: [PATCH] Det-CSF conversion --- devel/trexio/export_trexio.irp.f | 4 +- devel/trexio/trexio_f.f90 | 1821 ++++++++++++++++++---------- stable/champ/NEED | 2 +- stable/champ/save_for_champ.irp.f | 1 + stable/champ/write_champ_csf.irp.f | 81 ++ 5 files changed, 1235 insertions(+), 674 deletions(-) create mode 100644 stable/champ/write_champ_csf.irp.f diff --git a/devel/trexio/export_trexio.irp.f b/devel/trexio/export_trexio.irp.f index 6b24da9..b26802f 100644 --- a/devel/trexio/export_trexio.irp.f +++ b/devel/trexio/export_trexio.irp.f @@ -12,9 +12,9 @@ program export_trexio print *, '' if (backend == 0) then - f = trexio_open(trexio_filename, 'w', TREXIO_HDF5) + f = trexio_open(trexio_filename, 'w', TREXIO_HDF5, rc) else if (backend == 1) then - f = trexio_open(trexio_filename, 'w', TREXIO_TEXT) + f = trexio_open(trexio_filename, 'w', TREXIO_TEXT, rc) endif if (f == 0) then print *, 'Unable to open TREXIO file for writing' diff --git a/devel/trexio/trexio_f.f90 b/devel/trexio/trexio_f.f90 index 42153e6..ad8d2c9 100644 --- a/devel/trexio/trexio_f.f90 +++ b/devel/trexio/trexio_f.f90 @@ -6,11 +6,6 @@ module trexio integer, parameter :: trexio_exit_code = 4 integer, parameter :: trexio_backend = 4 - integer(trexio_backend), parameter :: TREXIO_HDF5 = 0 - integer(trexio_backend), parameter :: TREXIO_TEXT = 1 -! integer(trexio_backend), parameter :: TREXIO_JSON = 2 - integer(trexio_backend), parameter :: TREXIO_INVALID_BACK_END = 2 - character(kind=c_char), parameter :: TREXIO_DELIM = c_new_line integer(trexio_exit_code), parameter :: TREXIO_FAILURE = -1 @@ -27,7 +22,7 @@ integer(trexio_exit_code), parameter :: TREXIO_INVALID_ID = 9 integer(trexio_exit_code), parameter :: TREXIO_ALLOCATION_FAILED = 10 integer(trexio_exit_code), parameter :: TREXIO_HAS_NOT = 11 integer(trexio_exit_code), parameter :: TREXIO_INVALID_NUM = 12 -integer(trexio_exit_code), parameter :: TREXIO_NUM_ALREADY_EXISTS = 13 +integer(trexio_exit_code), parameter :: TREXIO_ATTR_ALREADY_EXISTS = 13 integer(trexio_exit_code), parameter :: TREXIO_DSET_ALREADY_EXISTS = 14 integer(trexio_exit_code), parameter :: TREXIO_OPEN_ERROR = 15 integer(trexio_exit_code), parameter :: TREXIO_LOCK_ERROR = 16 @@ -37,6 +32,9 @@ integer(trexio_exit_code), parameter :: TREXIO_GROUP_READ_ERROR = 19 integer(trexio_exit_code), parameter :: TREXIO_GROUP_WRITE_ERROR = 20 integer(trexio_exit_code), parameter :: TREXIO_ELEM_READ_ERROR = 21 integer(trexio_exit_code), parameter :: TREXIO_ELEM_WRITE_ERROR = 22 +integer(trexio_exit_code), parameter :: TREXIO_UNSAFE_ARRAY_DIM = 23 +integer(trexio_exit_code), parameter :: TREXIO_ATTR_MISSING = 24 +integer(trexio_exit_code), parameter :: TREXIO_DSET_MISSING = 25 integer(trexio_exit_code), parameter :: TREXIO_INVALID_STR_LEN = 30 interface @@ -48,13 +46,19 @@ interface end subroutine trexio_string_of_error end interface +integer(trexio_backend), parameter :: TREXIO_HDF5 = 0 + integer(trexio_backend), parameter :: TREXIO_TEXT = 1 +! integer(trexio_backend), parameter :: TREXIO_JSON = 2 + integer(trexio_backend), parameter :: TREXIO_INVALID_BACK_END = 2 + interface - integer(8) function trexio_open_c (filename, mode, backend) bind(C, name="trexio_open") + integer(8) function trexio_open_c (filename, mode, backend, rc_open) bind(C, name="trexio_open") use, intrinsic :: iso_c_binding import character(kind=c_char), dimension(*) :: filename character, intent(in), value :: mode integer(trexio_backend), intent(in), value :: backend + integer(trexio_exit_code), intent(out) :: rc_open end function trexio_open_c end interface @@ -71,378 +75,751 @@ interface integer(8), intent(in), value :: trex_file end function trexio_close end interface -interface - integer function trexio_has_metadata_description (trex_file) bind(C) - use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - end function trexio_has_metadata_description -end interface -interface - integer function trexio_has_nucleus_point_group (trex_file) bind(C) - use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - end function trexio_has_nucleus_point_group -end interface -interface - integer function trexio_has_basis_type (trex_file) bind(C) - use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - end function trexio_has_basis_type -end interface -interface - integer function trexio_has_mo_type (trex_file) bind(C) - use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - end function trexio_has_mo_type -end interface -interface - integer function trexio_has_nucleus_charge (trex_file) bind(C) - use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - end function trexio_has_nucleus_charge -end interface -interface - integer function trexio_has_nucleus_coord (trex_file) bind(C) - use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - end function trexio_has_nucleus_coord -end interface -interface - integer function trexio_has_ecp_lmax_plus_1 (trex_file) bind(C) - use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - end function trexio_has_ecp_lmax_plus_1 -end interface -interface - integer function trexio_has_ecp_z_core (trex_file) bind(C) - use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - end function trexio_has_ecp_z_core -end interface -interface - integer function trexio_has_ecp_local_n (trex_file) bind(C) - use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - end function trexio_has_ecp_local_n -end interface -interface - integer function trexio_has_ecp_local_exponent (trex_file) bind(C) - use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - end function trexio_has_ecp_local_exponent -end interface -interface - integer function trexio_has_ecp_local_coef (trex_file) bind(C) - use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - end function trexio_has_ecp_local_coef -end interface -interface - integer function trexio_has_ecp_local_power (trex_file) bind(C) - use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - end function trexio_has_ecp_local_power -end interface -interface - integer function trexio_has_ecp_non_local_n (trex_file) bind(C) - use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - end function trexio_has_ecp_non_local_n -end interface -interface - integer function trexio_has_ecp_non_local_exponent (trex_file) bind(C) - use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - end function trexio_has_ecp_non_local_exponent -end interface -interface - integer function trexio_has_ecp_non_local_coef (trex_file) bind(C) - use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - end function trexio_has_ecp_non_local_coef -end interface -interface - integer function trexio_has_ecp_non_local_power (trex_file) bind(C) - use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - end function trexio_has_ecp_non_local_power -end interface -interface - integer function trexio_has_basis_nucleus_index (trex_file) bind(C) - use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - end function trexio_has_basis_nucleus_index -end interface -interface - integer function trexio_has_basis_nucleus_shell_num (trex_file) bind(C) - use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - end function trexio_has_basis_nucleus_shell_num -end interface -interface - integer function trexio_has_basis_shell_ang_mom (trex_file) bind(C) - use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - end function trexio_has_basis_shell_ang_mom -end interface -interface - integer function trexio_has_basis_shell_prim_num (trex_file) bind(C) - use, intrinsic :: iso_c_binding - 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_shell_prim_index (trex_file) bind(C) - use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - end function trexio_has_basis_shell_prim_index -end interface -interface - integer function trexio_has_basis_exponent (trex_file) bind(C) - use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - end function trexio_has_basis_exponent -end interface -interface - integer function trexio_has_basis_coefficient (trex_file) bind(C) - use, intrinsic :: iso_c_binding - 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 - integer(8), intent(in), value :: trex_file - end function trexio_has_ao_shell -end interface -interface - integer function trexio_has_ao_normalization (trex_file) bind(C) - use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - end function trexio_has_ao_normalization -end interface -interface - integer function trexio_has_ao_1e_int_overlap (trex_file) bind(C) - use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - end function trexio_has_ao_1e_int_overlap -end interface -interface - integer function trexio_has_ao_1e_int_kinetic (trex_file) bind(C) - use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - end function trexio_has_ao_1e_int_kinetic -end interface -interface - integer function trexio_has_ao_1e_int_potential_n_e (trex_file) bind(C) - use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - end function trexio_has_ao_1e_int_potential_n_e -end interface -interface - integer function trexio_has_ao_1e_int_ecp_local (trex_file) bind(C) - use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - end function trexio_has_ao_1e_int_ecp_local -end interface -interface - integer function trexio_has_ao_1e_int_ecp_non_local (trex_file) bind(C) - use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - end function trexio_has_ao_1e_int_ecp_non_local -end interface -interface - integer function trexio_has_ao_1e_int_core_hamiltonian (trex_file) bind(C) - use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - end function trexio_has_ao_1e_int_core_hamiltonian -end interface -interface - integer function trexio_has_ao_2e_int_eri (trex_file) bind(C) - use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - end function trexio_has_ao_2e_int_eri -end interface -interface - 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_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) - use, intrinsic :: iso_c_binding - 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 - integer(8), intent(in), value :: trex_file - end function trexio_has_mo_1e_int_kinetic -end interface -interface - integer function trexio_has_mo_1e_int_potential_n_e (trex_file) bind(C) - use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - end function trexio_has_mo_1e_int_potential_n_e -end interface -interface - integer function trexio_has_mo_1e_int_ecp_local (trex_file) bind(C) - use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - end function trexio_has_mo_1e_int_ecp_local -end interface -interface - integer function trexio_has_mo_1e_int_ecp_non_local (trex_file) bind(C) - use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - end function trexio_has_mo_1e_int_ecp_non_local -end interface -interface - integer function trexio_has_mo_1e_int_core_hamiltonian (trex_file) bind(C) - use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - end function trexio_has_mo_1e_int_core_hamiltonian -end interface -interface - integer function trexio_has_mo_2e_int_eri (trex_file) bind(C) - use, intrinsic :: iso_c_binding - 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_metadata_code (trex_file) bind(C) - use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - end function trexio_has_metadata_code -end interface -interface - integer function trexio_has_metadata_author (trex_file) bind(C) - use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - end function trexio_has_metadata_author -end interface -interface - integer function trexio_has_nucleus_label (trex_file) bind(C) - use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - end function trexio_has_nucleus_label -end interface -interface - integer function trexio_has_mo_class (trex_file) bind(C) - use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - end function trexio_has_mo_class -end interface -interface - integer function trexio_has_mo_symmetry (trex_file) bind(C) - use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - end function trexio_has_mo_symmetry -end interface + +character(len = 12) :: TREXIO_PACKAGE_VERSION = "1.1.0" +integer(4) :: TREXIO_VERSION_MAJOR = 1 +integer(4) :: TREXIO_VERSION_MINOR = 1 +integer(4) :: TREXIO_VERSION_PATCH = 0 + interface integer function trexio_has_metadata_code_num (trex_file) bind(C) use, intrinsic :: iso_c_binding integer(8), intent(in), value :: trex_file end function trexio_has_metadata_code_num end interface + interface integer function trexio_has_metadata_author_num (trex_file) bind(C) use, intrinsic :: iso_c_binding integer(8), intent(in), value :: trex_file end function trexio_has_metadata_author_num end interface + interface integer function trexio_has_electron_up_num (trex_file) bind(C) use, intrinsic :: iso_c_binding integer(8), intent(in), value :: trex_file end function trexio_has_electron_up_num end interface + interface integer function trexio_has_electron_dn_num (trex_file) bind(C) use, intrinsic :: iso_c_binding integer(8), intent(in), value :: trex_file end function trexio_has_electron_dn_num end interface + interface integer function trexio_has_nucleus_num (trex_file) bind(C) use, intrinsic :: iso_c_binding integer(8), intent(in), value :: trex_file end function trexio_has_nucleus_num end interface + interface integer function trexio_has_ecp_local_num_n_max (trex_file) bind(C) use, intrinsic :: iso_c_binding integer(8), intent(in), value :: trex_file end function trexio_has_ecp_local_num_n_max end interface + interface integer function trexio_has_ecp_non_local_num_n_max (trex_file) bind(C) use, intrinsic :: iso_c_binding integer(8), intent(in), value :: trex_file end function trexio_has_ecp_non_local_num_n_max end interface + interface integer function trexio_has_basis_num (trex_file) bind(C) use, intrinsic :: iso_c_binding integer(8), intent(in), value :: trex_file end function trexio_has_basis_num end interface + interface integer function trexio_has_basis_prim_num (trex_file) bind(C) use, intrinsic :: iso_c_binding 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 integer(8), intent(in), value :: trex_file end function trexio_has_ao_num end interface + interface integer function trexio_has_mo_num (trex_file) bind(C) use, intrinsic :: iso_c_binding integer(8), intent(in), value :: trex_file end function trexio_has_mo_num end interface + +interface + integer function trexio_has_metadata_package_version (trex_file) bind(C) + use, intrinsic :: iso_c_binding + integer(8), intent(in), value :: trex_file + end function trexio_has_metadata_package_version +end interface + +interface + integer function trexio_has_metadata_description (trex_file) bind(C) + use, intrinsic :: iso_c_binding + integer(8), intent(in), value :: trex_file + end function trexio_has_metadata_description +end interface + +interface + integer function trexio_has_nucleus_point_group (trex_file) bind(C) + use, intrinsic :: iso_c_binding + integer(8), intent(in), value :: trex_file + end function trexio_has_nucleus_point_group +end interface + +interface + integer function trexio_has_basis_type (trex_file) bind(C) + use, intrinsic :: iso_c_binding + integer(8), intent(in), value :: trex_file + end function trexio_has_basis_type +end interface + +interface + integer function trexio_has_mo_type (trex_file) bind(C) + use, intrinsic :: iso_c_binding + integer(8), intent(in), value :: trex_file + end function trexio_has_mo_type +end interface + +interface + integer function trexio_has_nucleus_charge (trex_file) bind(C) + use, intrinsic :: iso_c_binding + integer(8), intent(in), value :: trex_file + end function trexio_has_nucleus_charge +end interface + +interface + integer function trexio_has_nucleus_coord (trex_file) bind(C) + use, intrinsic :: iso_c_binding + integer(8), intent(in), value :: trex_file + end function trexio_has_nucleus_coord +end interface + +interface + integer function trexio_has_ecp_lmax_plus_1 (trex_file) bind(C) + use, intrinsic :: iso_c_binding + integer(8), intent(in), value :: trex_file + end function trexio_has_ecp_lmax_plus_1 +end interface + +interface + integer function trexio_has_ecp_z_core (trex_file) bind(C) + use, intrinsic :: iso_c_binding + integer(8), intent(in), value :: trex_file + end function trexio_has_ecp_z_core +end interface + +interface + integer function trexio_has_ecp_local_n (trex_file) bind(C) + use, intrinsic :: iso_c_binding + integer(8), intent(in), value :: trex_file + end function trexio_has_ecp_local_n +end interface + +interface + integer function trexio_has_ecp_local_exponent (trex_file) bind(C) + use, intrinsic :: iso_c_binding + integer(8), intent(in), value :: trex_file + end function trexio_has_ecp_local_exponent +end interface + +interface + integer function trexio_has_ecp_local_coef (trex_file) bind(C) + use, intrinsic :: iso_c_binding + integer(8), intent(in), value :: trex_file + end function trexio_has_ecp_local_coef +end interface + +interface + integer function trexio_has_ecp_local_power (trex_file) bind(C) + use, intrinsic :: iso_c_binding + integer(8), intent(in), value :: trex_file + end function trexio_has_ecp_local_power +end interface + +interface + integer function trexio_has_ecp_non_local_n (trex_file) bind(C) + use, intrinsic :: iso_c_binding + integer(8), intent(in), value :: trex_file + end function trexio_has_ecp_non_local_n +end interface + +interface + integer function trexio_has_ecp_non_local_exponent (trex_file) bind(C) + use, intrinsic :: iso_c_binding + integer(8), intent(in), value :: trex_file + end function trexio_has_ecp_non_local_exponent +end interface + +interface + integer function trexio_has_ecp_non_local_coef (trex_file) bind(C) + use, intrinsic :: iso_c_binding + integer(8), intent(in), value :: trex_file + end function trexio_has_ecp_non_local_coef +end interface + +interface + integer function trexio_has_ecp_non_local_power (trex_file) bind(C) + use, intrinsic :: iso_c_binding + integer(8), intent(in), value :: trex_file + end function trexio_has_ecp_non_local_power +end interface + +interface + integer function trexio_has_basis_nucleus_index (trex_file) bind(C) + use, intrinsic :: iso_c_binding + integer(8), intent(in), value :: trex_file + end function trexio_has_basis_nucleus_index +end interface + +interface + integer function trexio_has_basis_nucleus_shell_num (trex_file) bind(C) + use, intrinsic :: iso_c_binding + integer(8), intent(in), value :: trex_file + end function trexio_has_basis_nucleus_shell_num +end interface + +interface + integer function trexio_has_basis_shell_ang_mom (trex_file) bind(C) + use, intrinsic :: iso_c_binding + integer(8), intent(in), value :: trex_file + end function trexio_has_basis_shell_ang_mom +end interface + +interface + integer function trexio_has_basis_shell_prim_num (trex_file) bind(C) + use, intrinsic :: iso_c_binding + 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_shell_prim_index (trex_file) bind(C) + use, intrinsic :: iso_c_binding + integer(8), intent(in), value :: trex_file + end function trexio_has_basis_shell_prim_index +end interface + +interface + integer function trexio_has_basis_exponent (trex_file) bind(C) + use, intrinsic :: iso_c_binding + integer(8), intent(in), value :: trex_file + end function trexio_has_basis_exponent +end interface + +interface + integer function trexio_has_basis_coefficient (trex_file) bind(C) + use, intrinsic :: iso_c_binding + 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 + integer(8), intent(in), value :: trex_file + end function trexio_has_ao_shell +end interface + +interface + integer function trexio_has_ao_normalization (trex_file) bind(C) + use, intrinsic :: iso_c_binding + integer(8), intent(in), value :: trex_file + end function trexio_has_ao_normalization +end interface + +interface + integer function trexio_has_ao_1e_int_overlap (trex_file) bind(C) + use, intrinsic :: iso_c_binding + integer(8), intent(in), value :: trex_file + end function trexio_has_ao_1e_int_overlap +end interface + +interface + integer function trexio_has_ao_1e_int_kinetic (trex_file) bind(C) + use, intrinsic :: iso_c_binding + integer(8), intent(in), value :: trex_file + end function trexio_has_ao_1e_int_kinetic +end interface + +interface + integer function trexio_has_ao_1e_int_potential_n_e (trex_file) bind(C) + use, intrinsic :: iso_c_binding + integer(8), intent(in), value :: trex_file + end function trexio_has_ao_1e_int_potential_n_e +end interface + +interface + integer function trexio_has_ao_1e_int_ecp_local (trex_file) bind(C) + use, intrinsic :: iso_c_binding + integer(8), intent(in), value :: trex_file + end function trexio_has_ao_1e_int_ecp_local +end interface + +interface + integer function trexio_has_ao_1e_int_ecp_non_local (trex_file) bind(C) + use, intrinsic :: iso_c_binding + integer(8), intent(in), value :: trex_file + end function trexio_has_ao_1e_int_ecp_non_local +end interface + +interface + integer function trexio_has_ao_1e_int_core_hamiltonian (trex_file) bind(C) + use, intrinsic :: iso_c_binding + integer(8), intent(in), value :: trex_file + end function trexio_has_ao_1e_int_core_hamiltonian +end interface + +interface + integer function trexio_has_ao_2e_int_eri (trex_file) bind(C) + use, intrinsic :: iso_c_binding + integer(8), intent(in), value :: trex_file + end function trexio_has_ao_2e_int_eri +end interface + +interface + 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_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) + use, intrinsic :: iso_c_binding + 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 + integer(8), intent(in), value :: trex_file + end function trexio_has_mo_1e_int_kinetic +end interface + +interface + integer function trexio_has_mo_1e_int_potential_n_e (trex_file) bind(C) + use, intrinsic :: iso_c_binding + integer(8), intent(in), value :: trex_file + end function trexio_has_mo_1e_int_potential_n_e +end interface + +interface + integer function trexio_has_mo_1e_int_ecp_local (trex_file) bind(C) + use, intrinsic :: iso_c_binding + integer(8), intent(in), value :: trex_file + end function trexio_has_mo_1e_int_ecp_local +end interface + +interface + integer function trexio_has_mo_1e_int_ecp_non_local (trex_file) bind(C) + use, intrinsic :: iso_c_binding + integer(8), intent(in), value :: trex_file + end function trexio_has_mo_1e_int_ecp_non_local +end interface + +interface + integer function trexio_has_mo_1e_int_core_hamiltonian (trex_file) bind(C) + use, intrinsic :: iso_c_binding + integer(8), intent(in), value :: trex_file + end function trexio_has_mo_1e_int_core_hamiltonian +end interface + +interface + integer function trexio_has_mo_2e_int_eri (trex_file) bind(C) + use, intrinsic :: iso_c_binding + 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_metadata_code (trex_file) bind(C) + use, intrinsic :: iso_c_binding + integer(8), intent(in), value :: trex_file + end function trexio_has_metadata_code +end interface + +interface + integer function trexio_has_metadata_author (trex_file) bind(C) + use, intrinsic :: iso_c_binding + integer(8), intent(in), value :: trex_file + end function trexio_has_metadata_author +end interface + +interface + integer function trexio_has_nucleus_label (trex_file) bind(C) + use, intrinsic :: iso_c_binding + integer(8), intent(in), value :: trex_file + end function trexio_has_nucleus_label +end interface + +interface + integer function trexio_has_mo_class (trex_file) bind(C) + use, intrinsic :: iso_c_binding + integer(8), intent(in), value :: trex_file + end function trexio_has_mo_class +end interface + +interface + integer function trexio_has_mo_symmetry (trex_file) bind(C) + use, intrinsic :: iso_c_binding + integer(8), intent(in), value :: trex_file + end function trexio_has_mo_symmetry +end interface + +interface + integer function trexio_read_metadata_code_num_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_metadata_code_num_32 +end interface + +interface + integer function trexio_read_metadata_author_num_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_metadata_author_num_32 +end interface + +interface + integer function trexio_read_electron_up_num_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_electron_up_num_32 +end interface + +interface + integer function trexio_read_electron_dn_num_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_electron_dn_num_32 +end interface + +interface + integer function trexio_read_nucleus_num_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_nucleus_num_32 +end interface + +interface + integer function trexio_read_ecp_local_num_n_max_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_ecp_local_num_n_max_32 +end interface + +interface + integer function trexio_read_ecp_non_local_num_n_max_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_ecp_non_local_num_n_max_32 +end interface + +interface + integer function trexio_read_basis_num_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_basis_num_32 +end interface + +interface + integer function trexio_read_basis_prim_num_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_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 + integer(8), intent(in), value :: trex_file + integer(4), intent(out) :: num + end function trexio_read_ao_num_32 +end interface + +interface + integer function trexio_read_mo_num_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_mo_num_32 +end interface + +interface + integer function trexio_read_metadata_code_num_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_metadata_code_num_64 +end interface + +interface + integer function trexio_read_metadata_author_num_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_metadata_author_num_64 +end interface + +interface + integer function trexio_read_electron_up_num_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_electron_up_num_64 +end interface + +interface + integer function trexio_read_electron_dn_num_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_electron_dn_num_64 +end interface + +interface + integer function trexio_read_nucleus_num_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_nucleus_num_64 +end interface + +interface + integer function trexio_read_ecp_local_num_n_max_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_ecp_local_num_n_max_64 +end interface + +interface + integer function trexio_read_ecp_non_local_num_n_max_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_ecp_non_local_num_n_max_64 +end interface + +interface + integer function trexio_read_basis_num_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_basis_num_64 +end interface + +interface + integer function trexio_read_basis_prim_num_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_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 + integer(8), intent(in), value :: trex_file + integer(8), intent(out) :: num + end function trexio_read_ao_num_64 +end interface + +interface + integer function trexio_read_mo_num_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_mo_num_64 +end interface + +interface + integer function trexio_read_metadata_code_num (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_metadata_code_num +end interface + +interface + integer function trexio_read_metadata_author_num (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_metadata_author_num +end interface + +interface + integer function trexio_read_electron_up_num (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_electron_up_num +end interface + +interface + integer function trexio_read_electron_dn_num (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_electron_dn_num +end interface + +interface + integer function trexio_read_nucleus_num (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_nucleus_num +end interface + +interface + integer function trexio_read_ecp_local_num_n_max (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_ecp_local_num_n_max +end interface + +interface + integer function trexio_read_ecp_non_local_num_n_max (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_ecp_non_local_num_n_max +end interface + +interface + integer function trexio_read_basis_num (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_basis_num +end interface + +interface + integer function trexio_read_basis_prim_num (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_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 + integer(8), intent(in), value :: trex_file + integer(4), intent(out) :: num + end function trexio_read_ao_num +end interface + +interface + integer function trexio_read_mo_num (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_mo_num +end interface + +interface + integer function trexio_read_metadata_package_version_c (trex_file, str, max_str_len) & + bind(C, name="trexio_read_metadata_package_version") + use, intrinsic :: iso_c_binding + integer(8), intent(in), value :: trex_file + character, intent(out) :: str(*) + integer(4), intent(in), value :: max_str_len + end function trexio_read_metadata_package_version_c +end interface + interface integer function trexio_read_metadata_description_c (trex_file, str, max_str_len) & bind(C, name="trexio_read_metadata_description") @@ -452,6 +829,7 @@ interface integer(4), intent(in), value :: max_str_len end function trexio_read_metadata_description_c end interface + interface integer function trexio_read_nucleus_point_group_c (trex_file, str, max_str_len) & bind(C, name="trexio_read_nucleus_point_group") @@ -461,6 +839,7 @@ interface integer(4), intent(in), value :: max_str_len end function trexio_read_nucleus_point_group_c end interface + interface integer function trexio_read_basis_type_c (trex_file, str, max_str_len) & bind(C, name="trexio_read_basis_type") @@ -470,6 +849,7 @@ interface integer(4), intent(in), value :: max_str_len end function trexio_read_basis_type_c end interface + interface integer function trexio_read_mo_type_c (trex_file, str, max_str_len) & bind(C, name="trexio_read_mo_type") @@ -479,6 +859,7 @@ interface integer(4), intent(in), value :: max_str_len end function trexio_read_mo_type_c end interface + interface integer function trexio_read_nucleus_charge_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -486,6 +867,7 @@ interface real(4), intent(out) :: dset(*) end function trexio_read_nucleus_charge_32 end interface + interface integer function trexio_read_nucleus_coord_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -493,6 +875,7 @@ interface real(4), intent(out) :: dset(*) end function trexio_read_nucleus_coord_32 end interface + interface integer function trexio_read_ecp_lmax_plus_1_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -500,6 +883,7 @@ interface integer(4), intent(out) :: dset(*) end function trexio_read_ecp_lmax_plus_1_32 end interface + interface integer function trexio_read_ecp_z_core_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -507,6 +891,7 @@ interface real(4), intent(out) :: dset(*) end function trexio_read_ecp_z_core_32 end interface + interface integer function trexio_read_ecp_local_n_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -514,6 +899,7 @@ interface integer(4), intent(out) :: dset(*) end function trexio_read_ecp_local_n_32 end interface + interface integer function trexio_read_ecp_local_exponent_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -521,6 +907,7 @@ interface real(4), intent(out) :: dset(*) end function trexio_read_ecp_local_exponent_32 end interface + interface integer function trexio_read_ecp_local_coef_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -528,6 +915,7 @@ interface real(4), intent(out) :: dset(*) end function trexio_read_ecp_local_coef_32 end interface + interface integer function trexio_read_ecp_local_power_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -535,6 +923,7 @@ interface integer(4), intent(out) :: dset(*) end function trexio_read_ecp_local_power_32 end interface + interface integer function trexio_read_ecp_non_local_n_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -542,6 +931,7 @@ interface integer(4), intent(out) :: dset(*) end function trexio_read_ecp_non_local_n_32 end interface + interface integer function trexio_read_ecp_non_local_exponent_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -549,6 +939,7 @@ interface real(4), intent(out) :: dset(*) end function trexio_read_ecp_non_local_exponent_32 end interface + interface integer function trexio_read_ecp_non_local_coef_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -556,6 +947,7 @@ interface real(4), intent(out) :: dset(*) end function trexio_read_ecp_non_local_coef_32 end interface + interface integer function trexio_read_ecp_non_local_power_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -563,6 +955,7 @@ interface integer(4), intent(out) :: dset(*) end function trexio_read_ecp_non_local_power_32 end interface + interface integer function trexio_read_basis_nucleus_index_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -570,6 +963,7 @@ interface integer(4), intent(out) :: dset(*) end function trexio_read_basis_nucleus_index_32 end interface + interface integer function trexio_read_basis_nucleus_shell_num_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -577,6 +971,7 @@ interface integer(4), intent(out) :: dset(*) end function trexio_read_basis_nucleus_shell_num_32 end interface + interface integer function trexio_read_basis_shell_ang_mom_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -584,6 +979,7 @@ interface integer(4), intent(out) :: dset(*) end function trexio_read_basis_shell_ang_mom_32 end interface + interface integer function trexio_read_basis_shell_prim_num_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -591,6 +987,7 @@ 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 @@ -598,6 +995,7 @@ interface real(4), intent(out) :: dset(*) end function trexio_read_basis_shell_factor_32 end interface + interface integer function trexio_read_basis_shell_prim_index_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -605,6 +1003,7 @@ interface integer(4), intent(out) :: dset(*) end function trexio_read_basis_shell_prim_index_32 end interface + interface integer function trexio_read_basis_exponent_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -612,6 +1011,7 @@ interface real(4), intent(out) :: dset(*) end function trexio_read_basis_exponent_32 end interface + interface integer function trexio_read_basis_coefficient_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -619,6 +1019,7 @@ 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 @@ -626,6 +1027,7 @@ interface 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 @@ -633,6 +1035,7 @@ interface integer(4), intent(out) :: dset(*) end function trexio_read_ao_shell_32 end interface + interface integer function trexio_read_ao_normalization_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -640,6 +1043,7 @@ interface real(4), intent(out) :: dset(*) end function trexio_read_ao_normalization_32 end interface + interface integer function trexio_read_ao_1e_int_overlap_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -647,6 +1051,7 @@ interface real(4), intent(out) :: dset(*) end function trexio_read_ao_1e_int_overlap_32 end interface + interface integer function trexio_read_ao_1e_int_kinetic_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -654,6 +1059,7 @@ interface real(4), intent(out) :: dset(*) end function trexio_read_ao_1e_int_kinetic_32 end interface + interface integer function trexio_read_ao_1e_int_potential_n_e_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -661,6 +1067,7 @@ interface real(4), intent(out) :: dset(*) end function trexio_read_ao_1e_int_potential_n_e_32 end interface + interface integer function trexio_read_ao_1e_int_ecp_local_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -668,6 +1075,7 @@ interface real(4), intent(out) :: dset(*) end function trexio_read_ao_1e_int_ecp_local_32 end interface + interface integer function trexio_read_ao_1e_int_ecp_non_local_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -675,6 +1083,7 @@ interface real(4), intent(out) :: dset(*) end function trexio_read_ao_1e_int_ecp_non_local_32 end interface + interface integer function trexio_read_ao_1e_int_core_hamiltonian_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -682,6 +1091,7 @@ interface real(4), intent(out) :: dset(*) end function trexio_read_ao_1e_int_core_hamiltonian_32 end interface + interface integer function trexio_read_ao_2e_int_eri_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -689,6 +1099,7 @@ interface real(4), intent(out) :: dset(*) end function trexio_read_ao_2e_int_eri_32 end interface + interface integer function trexio_read_ao_2e_int_eri_lr_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -696,6 +1107,7 @@ interface real(4), intent(out) :: dset(*) 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 @@ -703,6 +1115,7 @@ interface 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) use, intrinsic :: iso_c_binding @@ -710,6 +1123,7 @@ 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 @@ -717,6 +1131,7 @@ interface 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 @@ -724,6 +1139,7 @@ interface real(4), intent(out) :: dset(*) end function trexio_read_mo_1e_int_kinetic_32 end interface + interface integer function trexio_read_mo_1e_int_potential_n_e_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -731,6 +1147,7 @@ interface real(4), intent(out) :: dset(*) end function trexio_read_mo_1e_int_potential_n_e_32 end interface + interface integer function trexio_read_mo_1e_int_ecp_local_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -738,6 +1155,7 @@ interface real(4), intent(out) :: dset(*) end function trexio_read_mo_1e_int_ecp_local_32 end interface + interface integer function trexio_read_mo_1e_int_ecp_non_local_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -745,6 +1163,7 @@ interface real(4), intent(out) :: dset(*) end function trexio_read_mo_1e_int_ecp_non_local_32 end interface + interface integer function trexio_read_mo_1e_int_core_hamiltonian_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -752,6 +1171,7 @@ interface real(4), intent(out) :: dset(*) end function trexio_read_mo_1e_int_core_hamiltonian_32 end interface + interface integer function trexio_read_mo_2e_int_eri_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -759,6 +1179,7 @@ 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 @@ -766,6 +1187,7 @@ interface 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 @@ -773,6 +1195,7 @@ interface real(8), intent(out) :: dset(*) end function trexio_read_nucleus_charge_64 end interface + interface integer function trexio_read_nucleus_coord_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -780,6 +1203,7 @@ interface real(8), intent(out) :: dset(*) end function trexio_read_nucleus_coord_64 end interface + interface integer function trexio_read_ecp_lmax_plus_1_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -787,6 +1211,7 @@ interface integer(8), intent(out) :: dset(*) end function trexio_read_ecp_lmax_plus_1_64 end interface + interface integer function trexio_read_ecp_z_core_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -794,6 +1219,7 @@ interface real(8), intent(out) :: dset(*) end function trexio_read_ecp_z_core_64 end interface + interface integer function trexio_read_ecp_local_n_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -801,6 +1227,7 @@ interface integer(8), intent(out) :: dset(*) end function trexio_read_ecp_local_n_64 end interface + interface integer function trexio_read_ecp_local_exponent_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -808,6 +1235,7 @@ interface real(8), intent(out) :: dset(*) end function trexio_read_ecp_local_exponent_64 end interface + interface integer function trexio_read_ecp_local_coef_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -815,6 +1243,7 @@ interface real(8), intent(out) :: dset(*) end function trexio_read_ecp_local_coef_64 end interface + interface integer function trexio_read_ecp_local_power_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -822,6 +1251,7 @@ interface integer(8), intent(out) :: dset(*) end function trexio_read_ecp_local_power_64 end interface + interface integer function trexio_read_ecp_non_local_n_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -829,6 +1259,7 @@ interface integer(8), intent(out) :: dset(*) end function trexio_read_ecp_non_local_n_64 end interface + interface integer function trexio_read_ecp_non_local_exponent_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -836,6 +1267,7 @@ interface real(8), intent(out) :: dset(*) end function trexio_read_ecp_non_local_exponent_64 end interface + interface integer function trexio_read_ecp_non_local_coef_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -843,6 +1275,7 @@ interface real(8), intent(out) :: dset(*) end function trexio_read_ecp_non_local_coef_64 end interface + interface integer function trexio_read_ecp_non_local_power_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -850,6 +1283,7 @@ interface integer(8), intent(out) :: dset(*) end function trexio_read_ecp_non_local_power_64 end interface + interface integer function trexio_read_basis_nucleus_index_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -857,6 +1291,7 @@ interface integer(8), intent(out) :: dset(*) end function trexio_read_basis_nucleus_index_64 end interface + interface integer function trexio_read_basis_nucleus_shell_num_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -864,6 +1299,7 @@ interface integer(8), intent(out) :: dset(*) end function trexio_read_basis_nucleus_shell_num_64 end interface + interface integer function trexio_read_basis_shell_ang_mom_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -871,6 +1307,7 @@ interface integer(8), intent(out) :: dset(*) end function trexio_read_basis_shell_ang_mom_64 end interface + interface integer function trexio_read_basis_shell_prim_num_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -878,6 +1315,7 @@ 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 @@ -885,6 +1323,7 @@ interface real(8), intent(out) :: dset(*) end function trexio_read_basis_shell_factor_64 end interface + interface integer function trexio_read_basis_shell_prim_index_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -892,6 +1331,7 @@ interface integer(8), intent(out) :: dset(*) end function trexio_read_basis_shell_prim_index_64 end interface + interface integer function trexio_read_basis_exponent_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -899,6 +1339,7 @@ interface real(8), intent(out) :: dset(*) end function trexio_read_basis_exponent_64 end interface + interface integer function trexio_read_basis_coefficient_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -906,6 +1347,7 @@ 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 @@ -913,6 +1355,7 @@ interface 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 @@ -920,6 +1363,7 @@ interface integer(8), intent(out) :: dset(*) end function trexio_read_ao_shell_64 end interface + interface integer function trexio_read_ao_normalization_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -927,6 +1371,7 @@ interface real(8), intent(out) :: dset(*) end function trexio_read_ao_normalization_64 end interface + interface integer function trexio_read_ao_1e_int_overlap_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -934,6 +1379,7 @@ interface real(8), intent(out) :: dset(*) end function trexio_read_ao_1e_int_overlap_64 end interface + interface integer function trexio_read_ao_1e_int_kinetic_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -941,6 +1387,7 @@ interface real(8), intent(out) :: dset(*) end function trexio_read_ao_1e_int_kinetic_64 end interface + interface integer function trexio_read_ao_1e_int_potential_n_e_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -948,6 +1395,7 @@ interface real(8), intent(out) :: dset(*) end function trexio_read_ao_1e_int_potential_n_e_64 end interface + interface integer function trexio_read_ao_1e_int_ecp_local_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -955,6 +1403,7 @@ interface real(8), intent(out) :: dset(*) end function trexio_read_ao_1e_int_ecp_local_64 end interface + interface integer function trexio_read_ao_1e_int_ecp_non_local_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -962,6 +1411,7 @@ interface real(8), intent(out) :: dset(*) end function trexio_read_ao_1e_int_ecp_non_local_64 end interface + interface integer function trexio_read_ao_1e_int_core_hamiltonian_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -969,6 +1419,7 @@ interface real(8), intent(out) :: dset(*) end function trexio_read_ao_1e_int_core_hamiltonian_64 end interface + interface integer function trexio_read_ao_2e_int_eri_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -976,6 +1427,7 @@ interface real(8), intent(out) :: dset(*) end function trexio_read_ao_2e_int_eri_64 end interface + interface integer function trexio_read_ao_2e_int_eri_lr_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -983,6 +1435,7 @@ interface real(8), intent(out) :: dset(*) 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 @@ -990,6 +1443,7 @@ interface 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) use, intrinsic :: iso_c_binding @@ -997,6 +1451,7 @@ 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 @@ -1004,6 +1459,7 @@ interface 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 @@ -1011,6 +1467,7 @@ interface real(8), intent(out) :: dset(*) end function trexio_read_mo_1e_int_kinetic_64 end interface + interface integer function trexio_read_mo_1e_int_potential_n_e_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -1018,6 +1475,7 @@ interface real(8), intent(out) :: dset(*) end function trexio_read_mo_1e_int_potential_n_e_64 end interface + interface integer function trexio_read_mo_1e_int_ecp_local_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -1025,6 +1483,7 @@ interface real(8), intent(out) :: dset(*) end function trexio_read_mo_1e_int_ecp_local_64 end interface + interface integer function trexio_read_mo_1e_int_ecp_non_local_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -1032,6 +1491,7 @@ interface real(8), intent(out) :: dset(*) end function trexio_read_mo_1e_int_ecp_non_local_64 end interface + interface integer function trexio_read_mo_1e_int_core_hamiltonian_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -1039,6 +1499,7 @@ interface real(8), intent(out) :: dset(*) end function trexio_read_mo_1e_int_core_hamiltonian_64 end interface + interface integer function trexio_read_mo_2e_int_eri_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -1046,6 +1507,7 @@ 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 @@ -1053,6 +1515,7 @@ interface 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 @@ -1060,6 +1523,7 @@ interface real(8), intent(out) :: dset(*) end function trexio_read_nucleus_charge end interface + interface integer function trexio_read_nucleus_coord (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -1067,6 +1531,7 @@ interface real(8), intent(out) :: dset(*) end function trexio_read_nucleus_coord end interface + interface integer function trexio_read_ecp_lmax_plus_1 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -1074,6 +1539,7 @@ interface 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 @@ -1081,6 +1547,7 @@ interface 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 @@ -1088,6 +1555,7 @@ interface integer(4), intent(out) :: dset(*) end function trexio_read_ecp_local_n end interface + interface integer function trexio_read_ecp_local_exponent (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -1095,6 +1563,7 @@ interface real(8), intent(out) :: dset(*) end function trexio_read_ecp_local_exponent end interface + interface integer function trexio_read_ecp_local_coef (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -1102,6 +1571,7 @@ interface real(8), intent(out) :: dset(*) end function trexio_read_ecp_local_coef end interface + interface integer function trexio_read_ecp_local_power (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -1109,6 +1579,7 @@ interface 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 @@ -1116,6 +1587,7 @@ interface integer(4), intent(out) :: dset(*) end function trexio_read_ecp_non_local_n end interface + interface integer function trexio_read_ecp_non_local_exponent (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -1123,6 +1595,7 @@ interface real(8), intent(out) :: dset(*) end function trexio_read_ecp_non_local_exponent end interface + interface integer function trexio_read_ecp_non_local_coef (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -1130,6 +1603,7 @@ interface real(8), intent(out) :: dset(*) end function trexio_read_ecp_non_local_coef end interface + interface integer function trexio_read_ecp_non_local_power (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -1137,6 +1611,7 @@ interface integer(4), intent(out) :: dset(*) end function trexio_read_ecp_non_local_power end interface + interface integer function trexio_read_basis_nucleus_index (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -1144,6 +1619,7 @@ interface integer(4), intent(out) :: dset(*) end function trexio_read_basis_nucleus_index end interface + interface integer function trexio_read_basis_nucleus_shell_num (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -1151,6 +1627,7 @@ interface integer(4), intent(out) :: dset(*) end function trexio_read_basis_nucleus_shell_num end interface + interface integer function trexio_read_basis_shell_ang_mom (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -1158,6 +1635,7 @@ interface 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 @@ -1165,6 +1643,7 @@ interface 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 @@ -1172,6 +1651,7 @@ interface real(8), intent(out) :: dset(*) end function trexio_read_basis_shell_factor end interface + interface integer function trexio_read_basis_shell_prim_index (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -1179,6 +1659,7 @@ interface integer(4), intent(out) :: dset(*) end function trexio_read_basis_shell_prim_index end interface + interface integer function trexio_read_basis_exponent (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -1186,6 +1667,7 @@ interface real(8), intent(out) :: dset(*) end function trexio_read_basis_exponent end interface + interface integer function trexio_read_basis_coefficient (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -1193,6 +1675,7 @@ 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 @@ -1200,6 +1683,7 @@ interface 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 @@ -1207,6 +1691,7 @@ interface integer(4), intent(out) :: dset(*) end function trexio_read_ao_shell end interface + interface integer function trexio_read_ao_normalization (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -1214,6 +1699,7 @@ interface real(8), intent(out) :: dset(*) end function trexio_read_ao_normalization end interface + interface integer function trexio_read_ao_1e_int_overlap (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -1221,6 +1707,7 @@ interface real(8), intent(out) :: dset(*) end function trexio_read_ao_1e_int_overlap end interface + interface integer function trexio_read_ao_1e_int_kinetic (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -1228,6 +1715,7 @@ interface real(8), intent(out) :: dset(*) end function trexio_read_ao_1e_int_kinetic end interface + interface integer function trexio_read_ao_1e_int_potential_n_e (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -1235,6 +1723,7 @@ interface real(8), intent(out) :: dset(*) end function trexio_read_ao_1e_int_potential_n_e end interface + interface integer function trexio_read_ao_1e_int_ecp_local (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -1242,6 +1731,7 @@ interface real(8), intent(out) :: dset(*) end function trexio_read_ao_1e_int_ecp_local end interface + interface integer function trexio_read_ao_1e_int_ecp_non_local (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -1249,6 +1739,7 @@ interface real(8), intent(out) :: dset(*) end function trexio_read_ao_1e_int_ecp_non_local end interface + interface integer function trexio_read_ao_1e_int_core_hamiltonian (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -1256,6 +1747,7 @@ interface real(8), intent(out) :: dset(*) end function trexio_read_ao_1e_int_core_hamiltonian end interface + interface integer function trexio_read_ao_2e_int_eri (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -1263,6 +1755,7 @@ interface real(8), intent(out) :: dset(*) end function trexio_read_ao_2e_int_eri end interface + interface integer function trexio_read_ao_2e_int_eri_lr (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -1270,6 +1763,7 @@ interface real(8), intent(out) :: dset(*) 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 @@ -1277,6 +1771,7 @@ interface 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) use, intrinsic :: iso_c_binding @@ -1284,6 +1779,7 @@ 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 @@ -1291,6 +1787,7 @@ interface 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 @@ -1298,6 +1795,7 @@ interface real(8), intent(out) :: dset(*) end function trexio_read_mo_1e_int_kinetic end interface + interface integer function trexio_read_mo_1e_int_potential_n_e (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -1305,6 +1803,7 @@ interface real(8), intent(out) :: dset(*) end function trexio_read_mo_1e_int_potential_n_e end interface + interface integer function trexio_read_mo_1e_int_ecp_local (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -1312,6 +1811,7 @@ interface real(8), intent(out) :: dset(*) end function trexio_read_mo_1e_int_ecp_local end interface + interface integer function trexio_read_mo_1e_int_ecp_non_local (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -1319,6 +1819,7 @@ interface real(8), intent(out) :: dset(*) end function trexio_read_mo_1e_int_ecp_non_local end interface + interface integer function trexio_read_mo_1e_int_core_hamiltonian (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -1326,6 +1827,7 @@ interface real(8), intent(out) :: dset(*) end function trexio_read_mo_1e_int_core_hamiltonian end interface + interface integer function trexio_read_mo_2e_int_eri (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -1333,6 +1835,7 @@ 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 @@ -1340,6 +1843,7 @@ interface real(8), intent(out) :: dset(*) end function trexio_read_mo_2e_int_eri_lr end interface + interface integer function trexio_read_metadata_code_low (trex_file, dset, max_str_len) bind(C) use, intrinsic :: iso_c_binding @@ -1348,6 +1852,7 @@ interface integer(4), intent(in), value :: max_str_len end function trexio_read_metadata_code_low end interface + interface integer function trexio_read_metadata_author_low (trex_file, dset, max_str_len) bind(C) use, intrinsic :: iso_c_binding @@ -1356,6 +1861,7 @@ interface integer(4), intent(in), value :: max_str_len end function trexio_read_metadata_author_low end interface + interface integer function trexio_read_nucleus_label_low (trex_file, dset, max_str_len) bind(C) use, intrinsic :: iso_c_binding @@ -1364,6 +1870,7 @@ interface integer(4), intent(in), value :: max_str_len end function trexio_read_nucleus_label_low end interface + interface integer function trexio_read_mo_class_low (trex_file, dset, max_str_len) bind(C) use, intrinsic :: iso_c_binding @@ -1372,6 +1879,7 @@ interface integer(4), intent(in), value :: max_str_len end function trexio_read_mo_class_low end interface + interface integer function trexio_read_mo_symmetry_low (trex_file, dset, max_str_len) bind(C) use, intrinsic :: iso_c_binding @@ -1380,258 +1888,305 @@ interface integer(4), intent(in), value :: max_str_len end function trexio_read_mo_symmetry_low end interface + interface - integer function trexio_read_metadata_code_num_32 (trex_file, num) bind(C) + integer function trexio_write_metadata_code_num_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_metadata_code_num_32 + integer(4), intent(in), value :: num + end function trexio_write_metadata_code_num_32 end interface + interface - integer function trexio_read_metadata_author_num_32 (trex_file, num) bind(C) + integer function trexio_write_metadata_author_num_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_metadata_author_num_32 + integer(4), intent(in), value :: num + end function trexio_write_metadata_author_num_32 end interface + interface - integer function trexio_read_electron_up_num_32 (trex_file, num) bind(C) + integer function trexio_write_electron_up_num_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_electron_up_num_32 + integer(4), intent(in), value :: num + end function trexio_write_electron_up_num_32 end interface + interface - integer function trexio_read_electron_dn_num_32 (trex_file, num) bind(C) + integer function trexio_write_electron_dn_num_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_electron_dn_num_32 + integer(4), intent(in), value :: num + end function trexio_write_electron_dn_num_32 end interface + interface - integer function trexio_read_nucleus_num_32 (trex_file, num) bind(C) + integer function trexio_write_nucleus_num_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_nucleus_num_32 + integer(4), intent(in), value :: num + end function trexio_write_nucleus_num_32 end interface + interface - integer function trexio_read_ecp_local_num_n_max_32 (trex_file, num) bind(C) + integer function trexio_write_ecp_local_num_n_max_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_ecp_local_num_n_max_32 + integer(4), intent(in), value :: num + end function trexio_write_ecp_local_num_n_max_32 end interface + interface - integer function trexio_read_ecp_non_local_num_n_max_32 (trex_file, num) bind(C) + integer function trexio_write_ecp_non_local_num_n_max_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_ecp_non_local_num_n_max_32 + integer(4), intent(in), value :: num + end function trexio_write_ecp_non_local_num_n_max_32 end interface + interface - integer function trexio_read_basis_num_32 (trex_file, num) bind(C) + integer function trexio_write_basis_num_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_basis_num_32 + integer(4), intent(in), value :: num + end function trexio_write_basis_num_32 end interface + interface - integer function trexio_read_basis_prim_num_32 (trex_file, num) bind(C) + integer function trexio_write_basis_prim_num_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_basis_prim_num_32 + integer(4), intent(in), value :: num + end function trexio_write_basis_prim_num_32 end interface + interface - integer function trexio_read_ao_cartesian_32 (trex_file, num) bind(C) + 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(out) :: num - end function trexio_read_ao_cartesian_32 + integer(4), intent(in), value :: num + end function trexio_write_ao_cartesian_32 end interface + interface - integer function trexio_read_ao_num_32 (trex_file, num) bind(C) + integer function trexio_write_ao_num_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_num_32 + integer(4), intent(in), value :: num + end function trexio_write_ao_num_32 end interface + interface - integer function trexio_read_mo_num_32 (trex_file, num) bind(C) + integer function trexio_write_mo_num_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_mo_num_32 + integer(4), intent(in), value :: num + end function trexio_write_mo_num_32 end interface + interface - integer function trexio_read_metadata_code_num_64 (trex_file, num) bind(C) + integer function trexio_write_metadata_code_num_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_metadata_code_num_64 + integer(8), intent(in), value :: num + end function trexio_write_metadata_code_num_64 end interface + interface - integer function trexio_read_metadata_author_num_64 (trex_file, num) bind(C) + integer function trexio_write_metadata_author_num_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_metadata_author_num_64 + integer(8), intent(in), value :: num + end function trexio_write_metadata_author_num_64 end interface + interface - integer function trexio_read_electron_up_num_64 (trex_file, num) bind(C) + integer function trexio_write_electron_up_num_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_electron_up_num_64 + integer(8), intent(in), value :: num + end function trexio_write_electron_up_num_64 end interface + interface - integer function trexio_read_electron_dn_num_64 (trex_file, num) bind(C) + integer function trexio_write_electron_dn_num_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_electron_dn_num_64 + integer(8), intent(in), value :: num + end function trexio_write_electron_dn_num_64 end interface + interface - integer function trexio_read_nucleus_num_64 (trex_file, num) bind(C) + integer function trexio_write_nucleus_num_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_nucleus_num_64 + integer(8), intent(in), value :: num + end function trexio_write_nucleus_num_64 end interface + interface - integer function trexio_read_ecp_local_num_n_max_64 (trex_file, num) bind(C) + integer function trexio_write_ecp_local_num_n_max_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_ecp_local_num_n_max_64 + integer(8), intent(in), value :: num + end function trexio_write_ecp_local_num_n_max_64 end interface + interface - integer function trexio_read_ecp_non_local_num_n_max_64 (trex_file, num) bind(C) + integer function trexio_write_ecp_non_local_num_n_max_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_ecp_non_local_num_n_max_64 + integer(8), intent(in), value :: num + end function trexio_write_ecp_non_local_num_n_max_64 end interface + interface - integer function trexio_read_basis_num_64 (trex_file, num) bind(C) + integer function trexio_write_basis_num_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_basis_num_64 + integer(8), intent(in), value :: num + end function trexio_write_basis_num_64 end interface + interface - integer function trexio_read_basis_prim_num_64 (trex_file, num) bind(C) + integer function trexio_write_basis_prim_num_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_basis_prim_num_64 + integer(8), intent(in), value :: num + end function trexio_write_basis_prim_num_64 end interface + interface - integer function trexio_read_ao_cartesian_64 (trex_file, num) bind(C) + 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(out) :: num - end function trexio_read_ao_cartesian_64 + integer(8), intent(in), value :: num + end function trexio_write_ao_cartesian_64 end interface + interface - integer function trexio_read_ao_num_64 (trex_file, num) bind(C) + integer function trexio_write_ao_num_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_num_64 + integer(8), intent(in), value :: num + end function trexio_write_ao_num_64 end interface + interface - integer function trexio_read_mo_num_64 (trex_file, num) bind(C) + integer function trexio_write_mo_num_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_mo_num_64 + integer(8), intent(in), value :: num + end function trexio_write_mo_num_64 end interface + interface - integer function trexio_read_metadata_code_num (trex_file, num) bind(C) + integer function trexio_write_metadata_code_num (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_metadata_code_num + integer(4), intent(in), value :: num + end function trexio_write_metadata_code_num end interface + interface - integer function trexio_read_metadata_author_num (trex_file, num) bind(C) + integer function trexio_write_metadata_author_num (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_metadata_author_num + integer(4), intent(in), value :: num + end function trexio_write_metadata_author_num end interface + interface - integer function trexio_read_electron_up_num (trex_file, num) bind(C) + integer function trexio_write_electron_up_num (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_electron_up_num + integer(4), intent(in), value :: num + end function trexio_write_electron_up_num end interface + interface - integer function trexio_read_electron_dn_num (trex_file, num) bind(C) + integer function trexio_write_electron_dn_num (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_electron_dn_num + integer(4), intent(in), value :: num + end function trexio_write_electron_dn_num end interface + interface - integer function trexio_read_nucleus_num (trex_file, num) bind(C) + integer function trexio_write_nucleus_num (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_nucleus_num + integer(4), intent(in), value :: num + end function trexio_write_nucleus_num end interface + interface - integer function trexio_read_ecp_local_num_n_max (trex_file, num) bind(C) + integer function trexio_write_ecp_local_num_n_max (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_ecp_local_num_n_max + integer(4), intent(in), value :: num + end function trexio_write_ecp_local_num_n_max end interface + interface - integer function trexio_read_ecp_non_local_num_n_max (trex_file, num) bind(C) + integer function trexio_write_ecp_non_local_num_n_max (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_ecp_non_local_num_n_max + integer(4), intent(in), value :: num + end function trexio_write_ecp_non_local_num_n_max end interface + interface - integer function trexio_read_basis_num (trex_file, num) bind(C) + integer function trexio_write_basis_num (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_basis_num + integer(4), intent(in), value :: num + end function trexio_write_basis_num end interface + interface - integer function trexio_read_basis_prim_num (trex_file, num) bind(C) + integer function trexio_write_basis_prim_num (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_basis_prim_num + integer(4), intent(in), value :: num + end function trexio_write_basis_prim_num end interface + interface - integer function trexio_read_ao_cartesian (trex_file, num) bind(C) + 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(out) :: num - end function trexio_read_ao_cartesian + integer(4), intent(in), value :: num + end function trexio_write_ao_cartesian end interface + interface - integer function trexio_read_ao_num (trex_file, num) bind(C) + integer function trexio_write_ao_num (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_num + integer(4), intent(in), value :: num + end function trexio_write_ao_num end interface + interface - integer function trexio_read_mo_num (trex_file, num) bind(C) + integer function trexio_write_mo_num (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_mo_num + integer(4), intent(in), value :: num + end function trexio_write_mo_num end interface + +interface + integer function trexio_write_metadata_package_version_c (trex_file, str, max_str_len) & + bind(C, name="trexio_write_metadata_package_version") + use, intrinsic :: iso_c_binding + integer(8), intent(in), value :: trex_file + character, intent(in) :: str(*) + integer(4), intent(in), value :: max_str_len + end function trexio_write_metadata_package_version_c +end interface + interface integer function trexio_write_metadata_description_c (trex_file, str, max_str_len) & bind(C, name="trexio_write_metadata_description") @@ -1641,6 +2196,7 @@ interface integer(4), intent(in), value :: max_str_len end function trexio_write_metadata_description_c end interface + interface integer function trexio_write_nucleus_point_group_c (trex_file, str, max_str_len) & bind(C, name="trexio_write_nucleus_point_group") @@ -1650,6 +2206,7 @@ interface integer(4), intent(in), value :: max_str_len end function trexio_write_nucleus_point_group_c end interface + interface integer function trexio_write_basis_type_c (trex_file, str, max_str_len) & bind(C, name="trexio_write_basis_type") @@ -1659,6 +2216,7 @@ interface integer(4), intent(in), value :: max_str_len end function trexio_write_basis_type_c end interface + interface integer function trexio_write_mo_type_c (trex_file, str, max_str_len) & bind(C, name="trexio_write_mo_type") @@ -1668,6 +2226,7 @@ interface integer(4), intent(in), value :: max_str_len end function trexio_write_mo_type_c end interface + interface integer function trexio_write_nucleus_charge_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -1675,6 +2234,7 @@ interface real(4), intent(in) :: dset(*) end function trexio_write_nucleus_charge_32 end interface + interface integer function trexio_write_nucleus_coord_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -1682,6 +2242,7 @@ interface real(4), intent(in) :: dset(*) end function trexio_write_nucleus_coord_32 end interface + interface integer function trexio_write_ecp_lmax_plus_1_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -1689,6 +2250,7 @@ interface integer(4), intent(in) :: dset(*) end function trexio_write_ecp_lmax_plus_1_32 end interface + interface integer function trexio_write_ecp_z_core_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -1696,6 +2258,7 @@ interface real(4), intent(in) :: dset(*) end function trexio_write_ecp_z_core_32 end interface + interface integer function trexio_write_ecp_local_n_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -1703,6 +2266,7 @@ interface integer(4), intent(in) :: dset(*) end function trexio_write_ecp_local_n_32 end interface + interface integer function trexio_write_ecp_local_exponent_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -1710,6 +2274,7 @@ interface real(4), intent(in) :: dset(*) end function trexio_write_ecp_local_exponent_32 end interface + interface integer function trexio_write_ecp_local_coef_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -1717,6 +2282,7 @@ interface real(4), intent(in) :: dset(*) end function trexio_write_ecp_local_coef_32 end interface + interface integer function trexio_write_ecp_local_power_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -1724,6 +2290,7 @@ interface integer(4), intent(in) :: dset(*) end function trexio_write_ecp_local_power_32 end interface + interface integer function trexio_write_ecp_non_local_n_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -1731,6 +2298,7 @@ interface integer(4), intent(in) :: dset(*) end function trexio_write_ecp_non_local_n_32 end interface + interface integer function trexio_write_ecp_non_local_exponent_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -1738,6 +2306,7 @@ interface real(4), intent(in) :: dset(*) end function trexio_write_ecp_non_local_exponent_32 end interface + interface integer function trexio_write_ecp_non_local_coef_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -1745,6 +2314,7 @@ interface real(4), intent(in) :: dset(*) end function trexio_write_ecp_non_local_coef_32 end interface + interface integer function trexio_write_ecp_non_local_power_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -1752,6 +2322,7 @@ interface integer(4), intent(in) :: dset(*) end function trexio_write_ecp_non_local_power_32 end interface + interface integer function trexio_write_basis_nucleus_index_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -1759,6 +2330,7 @@ interface integer(4), intent(in) :: dset(*) end function trexio_write_basis_nucleus_index_32 end interface + interface integer function trexio_write_basis_nucleus_shell_num_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -1766,6 +2338,7 @@ interface integer(4), intent(in) :: dset(*) end function trexio_write_basis_nucleus_shell_num_32 end interface + interface integer function trexio_write_basis_shell_ang_mom_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -1773,6 +2346,7 @@ interface integer(4), intent(in) :: dset(*) end function trexio_write_basis_shell_ang_mom_32 end interface + interface integer function trexio_write_basis_shell_prim_num_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -1780,6 +2354,7 @@ 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 @@ -1787,6 +2362,7 @@ interface real(4), intent(in) :: dset(*) end function trexio_write_basis_shell_factor_32 end interface + interface integer function trexio_write_basis_shell_prim_index_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -1794,6 +2370,7 @@ interface integer(4), intent(in) :: dset(*) end function trexio_write_basis_shell_prim_index_32 end interface + interface integer function trexio_write_basis_exponent_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -1801,6 +2378,7 @@ interface real(4), intent(in) :: dset(*) end function trexio_write_basis_exponent_32 end interface + interface integer function trexio_write_basis_coefficient_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -1808,6 +2386,7 @@ 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 @@ -1815,6 +2394,7 @@ interface 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 @@ -1822,6 +2402,7 @@ interface integer(4), intent(in) :: dset(*) end function trexio_write_ao_shell_32 end interface + interface integer function trexio_write_ao_normalization_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -1829,6 +2410,7 @@ interface real(4), intent(in) :: dset(*) end function trexio_write_ao_normalization_32 end interface + interface integer function trexio_write_ao_1e_int_overlap_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -1836,6 +2418,7 @@ interface real(4), intent(in) :: dset(*) end function trexio_write_ao_1e_int_overlap_32 end interface + interface integer function trexio_write_ao_1e_int_kinetic_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -1843,6 +2426,7 @@ interface real(4), intent(in) :: dset(*) end function trexio_write_ao_1e_int_kinetic_32 end interface + interface integer function trexio_write_ao_1e_int_potential_n_e_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -1850,6 +2434,7 @@ interface real(4), intent(in) :: dset(*) end function trexio_write_ao_1e_int_potential_n_e_32 end interface + interface integer function trexio_write_ao_1e_int_ecp_local_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -1857,6 +2442,7 @@ interface real(4), intent(in) :: dset(*) end function trexio_write_ao_1e_int_ecp_local_32 end interface + interface integer function trexio_write_ao_1e_int_ecp_non_local_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -1864,6 +2450,7 @@ interface real(4), intent(in) :: dset(*) end function trexio_write_ao_1e_int_ecp_non_local_32 end interface + interface integer function trexio_write_ao_1e_int_core_hamiltonian_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -1871,6 +2458,7 @@ interface real(4), intent(in) :: dset(*) end function trexio_write_ao_1e_int_core_hamiltonian_32 end interface + interface integer function trexio_write_ao_2e_int_eri_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -1878,6 +2466,7 @@ interface real(4), intent(in) :: dset(*) end function trexio_write_ao_2e_int_eri_32 end interface + interface integer function trexio_write_ao_2e_int_eri_lr_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -1885,6 +2474,7 @@ interface real(4), intent(in) :: dset(*) 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 @@ -1892,6 +2482,7 @@ interface 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) use, intrinsic :: iso_c_binding @@ -1899,6 +2490,7 @@ 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 @@ -1906,6 +2498,7 @@ interface 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 @@ -1913,6 +2506,7 @@ interface real(4), intent(in) :: dset(*) end function trexio_write_mo_1e_int_kinetic_32 end interface + interface integer function trexio_write_mo_1e_int_potential_n_e_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -1920,6 +2514,7 @@ interface real(4), intent(in) :: dset(*) end function trexio_write_mo_1e_int_potential_n_e_32 end interface + interface integer function trexio_write_mo_1e_int_ecp_local_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -1927,6 +2522,7 @@ interface real(4), intent(in) :: dset(*) end function trexio_write_mo_1e_int_ecp_local_32 end interface + interface integer function trexio_write_mo_1e_int_ecp_non_local_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -1934,6 +2530,7 @@ interface real(4), intent(in) :: dset(*) end function trexio_write_mo_1e_int_ecp_non_local_32 end interface + interface integer function trexio_write_mo_1e_int_core_hamiltonian_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -1941,6 +2538,7 @@ interface real(4), intent(in) :: dset(*) end function trexio_write_mo_1e_int_core_hamiltonian_32 end interface + interface integer function trexio_write_mo_2e_int_eri_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -1948,6 +2546,7 @@ 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 @@ -1955,6 +2554,7 @@ interface 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 @@ -1962,6 +2562,7 @@ interface real(8), intent(in) :: dset(*) end function trexio_write_nucleus_charge_64 end interface + interface integer function trexio_write_nucleus_coord_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -1969,6 +2570,7 @@ interface real(8), intent(in) :: dset(*) end function trexio_write_nucleus_coord_64 end interface + interface integer function trexio_write_ecp_lmax_plus_1_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -1976,6 +2578,7 @@ interface integer(8), intent(in) :: dset(*) end function trexio_write_ecp_lmax_plus_1_64 end interface + interface integer function trexio_write_ecp_z_core_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -1983,6 +2586,7 @@ interface real(8), intent(in) :: dset(*) end function trexio_write_ecp_z_core_64 end interface + interface integer function trexio_write_ecp_local_n_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -1990,6 +2594,7 @@ interface integer(8), intent(in) :: dset(*) end function trexio_write_ecp_local_n_64 end interface + interface integer function trexio_write_ecp_local_exponent_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -1997,6 +2602,7 @@ interface real(8), intent(in) :: dset(*) end function trexio_write_ecp_local_exponent_64 end interface + interface integer function trexio_write_ecp_local_coef_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -2004,6 +2610,7 @@ interface real(8), intent(in) :: dset(*) end function trexio_write_ecp_local_coef_64 end interface + interface integer function trexio_write_ecp_local_power_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -2011,6 +2618,7 @@ interface integer(8), intent(in) :: dset(*) end function trexio_write_ecp_local_power_64 end interface + interface integer function trexio_write_ecp_non_local_n_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -2018,6 +2626,7 @@ interface integer(8), intent(in) :: dset(*) end function trexio_write_ecp_non_local_n_64 end interface + interface integer function trexio_write_ecp_non_local_exponent_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -2025,6 +2634,7 @@ interface real(8), intent(in) :: dset(*) end function trexio_write_ecp_non_local_exponent_64 end interface + interface integer function trexio_write_ecp_non_local_coef_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -2032,6 +2642,7 @@ interface real(8), intent(in) :: dset(*) end function trexio_write_ecp_non_local_coef_64 end interface + interface integer function trexio_write_ecp_non_local_power_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -2039,6 +2650,7 @@ interface integer(8), intent(in) :: dset(*) end function trexio_write_ecp_non_local_power_64 end interface + interface integer function trexio_write_basis_nucleus_index_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -2046,6 +2658,7 @@ interface integer(8), intent(in) :: dset(*) end function trexio_write_basis_nucleus_index_64 end interface + interface integer function trexio_write_basis_nucleus_shell_num_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -2053,6 +2666,7 @@ interface integer(8), intent(in) :: dset(*) end function trexio_write_basis_nucleus_shell_num_64 end interface + interface integer function trexio_write_basis_shell_ang_mom_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -2060,6 +2674,7 @@ interface integer(8), intent(in) :: dset(*) end function trexio_write_basis_shell_ang_mom_64 end interface + interface integer function trexio_write_basis_shell_prim_num_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -2067,6 +2682,7 @@ 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 @@ -2074,6 +2690,7 @@ interface real(8), intent(in) :: dset(*) end function trexio_write_basis_shell_factor_64 end interface + interface integer function trexio_write_basis_shell_prim_index_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -2081,6 +2698,7 @@ interface integer(8), intent(in) :: dset(*) end function trexio_write_basis_shell_prim_index_64 end interface + interface integer function trexio_write_basis_exponent_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -2088,6 +2706,7 @@ interface real(8), intent(in) :: dset(*) end function trexio_write_basis_exponent_64 end interface + interface integer function trexio_write_basis_coefficient_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -2095,6 +2714,7 @@ 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 @@ -2102,6 +2722,7 @@ interface 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 @@ -2109,6 +2730,7 @@ interface integer(8), intent(in) :: dset(*) end function trexio_write_ao_shell_64 end interface + interface integer function trexio_write_ao_normalization_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -2116,6 +2738,7 @@ interface real(8), intent(in) :: dset(*) end function trexio_write_ao_normalization_64 end interface + interface integer function trexio_write_ao_1e_int_overlap_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -2123,6 +2746,7 @@ interface real(8), intent(in) :: dset(*) end function trexio_write_ao_1e_int_overlap_64 end interface + interface integer function trexio_write_ao_1e_int_kinetic_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -2130,6 +2754,7 @@ interface real(8), intent(in) :: dset(*) end function trexio_write_ao_1e_int_kinetic_64 end interface + interface integer function trexio_write_ao_1e_int_potential_n_e_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -2137,6 +2762,7 @@ interface real(8), intent(in) :: dset(*) end function trexio_write_ao_1e_int_potential_n_e_64 end interface + interface integer function trexio_write_ao_1e_int_ecp_local_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -2144,6 +2770,7 @@ interface real(8), intent(in) :: dset(*) end function trexio_write_ao_1e_int_ecp_local_64 end interface + interface integer function trexio_write_ao_1e_int_ecp_non_local_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -2151,6 +2778,7 @@ interface real(8), intent(in) :: dset(*) end function trexio_write_ao_1e_int_ecp_non_local_64 end interface + interface integer function trexio_write_ao_1e_int_core_hamiltonian_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -2158,6 +2786,7 @@ interface real(8), intent(in) :: dset(*) end function trexio_write_ao_1e_int_core_hamiltonian_64 end interface + interface integer function trexio_write_ao_2e_int_eri_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -2165,6 +2794,7 @@ interface real(8), intent(in) :: dset(*) end function trexio_write_ao_2e_int_eri_64 end interface + interface integer function trexio_write_ao_2e_int_eri_lr_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -2172,6 +2802,7 @@ interface real(8), intent(in) :: dset(*) 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 @@ -2179,6 +2810,7 @@ interface 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) use, intrinsic :: iso_c_binding @@ -2186,6 +2818,7 @@ 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 @@ -2193,6 +2826,7 @@ interface 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 @@ -2200,6 +2834,7 @@ interface real(8), intent(in) :: dset(*) end function trexio_write_mo_1e_int_kinetic_64 end interface + interface integer function trexio_write_mo_1e_int_potential_n_e_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -2207,6 +2842,7 @@ interface real(8), intent(in) :: dset(*) end function trexio_write_mo_1e_int_potential_n_e_64 end interface + interface integer function trexio_write_mo_1e_int_ecp_local_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -2214,6 +2850,7 @@ interface real(8), intent(in) :: dset(*) end function trexio_write_mo_1e_int_ecp_local_64 end interface + interface integer function trexio_write_mo_1e_int_ecp_non_local_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -2221,6 +2858,7 @@ interface real(8), intent(in) :: dset(*) end function trexio_write_mo_1e_int_ecp_non_local_64 end interface + interface integer function trexio_write_mo_1e_int_core_hamiltonian_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -2228,6 +2866,7 @@ interface real(8), intent(in) :: dset(*) end function trexio_write_mo_1e_int_core_hamiltonian_64 end interface + interface integer function trexio_write_mo_2e_int_eri_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -2235,6 +2874,7 @@ 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 @@ -2242,6 +2882,7 @@ interface 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 @@ -2249,6 +2890,7 @@ interface real(8), intent(in) :: dset(*) end function trexio_write_nucleus_charge end interface + interface integer function trexio_write_nucleus_coord (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -2256,6 +2898,7 @@ interface real(8), intent(in) :: dset(*) end function trexio_write_nucleus_coord end interface + interface integer function trexio_write_ecp_lmax_plus_1 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -2263,6 +2906,7 @@ interface 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 @@ -2270,6 +2914,7 @@ interface 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 @@ -2277,6 +2922,7 @@ interface integer(4), intent(in) :: dset(*) end function trexio_write_ecp_local_n end interface + interface integer function trexio_write_ecp_local_exponent (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -2284,6 +2930,7 @@ interface real(8), intent(in) :: dset(*) end function trexio_write_ecp_local_exponent end interface + interface integer function trexio_write_ecp_local_coef (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -2291,6 +2938,7 @@ interface real(8), intent(in) :: dset(*) end function trexio_write_ecp_local_coef end interface + interface integer function trexio_write_ecp_local_power (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -2298,6 +2946,7 @@ interface 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 @@ -2305,6 +2954,7 @@ interface integer(4), intent(in) :: dset(*) end function trexio_write_ecp_non_local_n end interface + interface integer function trexio_write_ecp_non_local_exponent (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -2312,6 +2962,7 @@ interface real(8), intent(in) :: dset(*) end function trexio_write_ecp_non_local_exponent end interface + interface integer function trexio_write_ecp_non_local_coef (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -2319,6 +2970,7 @@ interface real(8), intent(in) :: dset(*) end function trexio_write_ecp_non_local_coef end interface + interface integer function trexio_write_ecp_non_local_power (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -2326,6 +2978,7 @@ interface integer(4), intent(in) :: dset(*) end function trexio_write_ecp_non_local_power end interface + interface integer function trexio_write_basis_nucleus_index (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -2333,6 +2986,7 @@ interface integer(4), intent(in) :: dset(*) end function trexio_write_basis_nucleus_index end interface + interface integer function trexio_write_basis_nucleus_shell_num (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -2340,6 +2994,7 @@ interface integer(4), intent(in) :: dset(*) end function trexio_write_basis_nucleus_shell_num end interface + interface integer function trexio_write_basis_shell_ang_mom (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -2347,6 +3002,7 @@ interface 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 @@ -2354,6 +3010,7 @@ interface 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 @@ -2361,6 +3018,7 @@ interface real(8), intent(in) :: dset(*) end function trexio_write_basis_shell_factor end interface + interface integer function trexio_write_basis_shell_prim_index (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -2368,6 +3026,7 @@ interface integer(4), intent(in) :: dset(*) end function trexio_write_basis_shell_prim_index end interface + interface integer function trexio_write_basis_exponent (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -2375,6 +3034,7 @@ interface real(8), intent(in) :: dset(*) end function trexio_write_basis_exponent end interface + interface integer function trexio_write_basis_coefficient (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -2382,6 +3042,7 @@ 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 @@ -2389,6 +3050,7 @@ interface 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 @@ -2396,6 +3058,7 @@ interface integer(4), intent(in) :: dset(*) end function trexio_write_ao_shell end interface + interface integer function trexio_write_ao_normalization (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -2403,6 +3066,7 @@ interface real(8), intent(in) :: dset(*) end function trexio_write_ao_normalization end interface + interface integer function trexio_write_ao_1e_int_overlap (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -2410,6 +3074,7 @@ interface real(8), intent(in) :: dset(*) end function trexio_write_ao_1e_int_overlap end interface + interface integer function trexio_write_ao_1e_int_kinetic (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -2417,6 +3082,7 @@ interface real(8), intent(in) :: dset(*) end function trexio_write_ao_1e_int_kinetic end interface + interface integer function trexio_write_ao_1e_int_potential_n_e (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -2424,6 +3090,7 @@ interface real(8), intent(in) :: dset(*) end function trexio_write_ao_1e_int_potential_n_e end interface + interface integer function trexio_write_ao_1e_int_ecp_local (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -2431,6 +3098,7 @@ interface real(8), intent(in) :: dset(*) end function trexio_write_ao_1e_int_ecp_local end interface + interface integer function trexio_write_ao_1e_int_ecp_non_local (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -2438,6 +3106,7 @@ interface real(8), intent(in) :: dset(*) end function trexio_write_ao_1e_int_ecp_non_local end interface + interface integer function trexio_write_ao_1e_int_core_hamiltonian (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -2445,6 +3114,7 @@ interface real(8), intent(in) :: dset(*) end function trexio_write_ao_1e_int_core_hamiltonian end interface + interface integer function trexio_write_ao_2e_int_eri (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -2452,6 +3122,7 @@ interface real(8), intent(in) :: dset(*) end function trexio_write_ao_2e_int_eri end interface + interface integer function trexio_write_ao_2e_int_eri_lr (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -2459,6 +3130,7 @@ interface real(8), intent(in) :: dset(*) 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 @@ -2466,6 +3138,7 @@ interface 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) use, intrinsic :: iso_c_binding @@ -2473,6 +3146,7 @@ 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 @@ -2480,6 +3154,7 @@ interface 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 @@ -2487,6 +3162,7 @@ interface real(8), intent(in) :: dset(*) end function trexio_write_mo_1e_int_kinetic end interface + interface integer function trexio_write_mo_1e_int_potential_n_e (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -2494,6 +3170,7 @@ interface real(8), intent(in) :: dset(*) end function trexio_write_mo_1e_int_potential_n_e end interface + interface integer function trexio_write_mo_1e_int_ecp_local (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -2501,6 +3178,7 @@ interface real(8), intent(in) :: dset(*) end function trexio_write_mo_1e_int_ecp_local end interface + interface integer function trexio_write_mo_1e_int_ecp_non_local (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -2508,6 +3186,7 @@ interface real(8), intent(in) :: dset(*) end function trexio_write_mo_1e_int_ecp_non_local end interface + interface integer function trexio_write_mo_1e_int_core_hamiltonian (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -2515,6 +3194,7 @@ interface real(8), intent(in) :: dset(*) end function trexio_write_mo_1e_int_core_hamiltonian end interface + interface integer function trexio_write_mo_2e_int_eri (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -2522,6 +3202,7 @@ 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 @@ -2529,6 +3210,7 @@ interface real(8), intent(in) :: dset(*) end function trexio_write_mo_2e_int_eri_lr end interface + interface integer function trexio_write_metadata_code_low (trex_file, dset, max_str_len) bind(C) use, intrinsic :: iso_c_binding @@ -2537,6 +3219,7 @@ interface integer(4), intent(in), value :: max_str_len end function trexio_write_metadata_code_low end interface + interface integer function trexio_write_metadata_author_low (trex_file, dset, max_str_len) bind(C) use, intrinsic :: iso_c_binding @@ -2545,6 +3228,7 @@ interface integer(4), intent(in), value :: max_str_len end function trexio_write_metadata_author_low end interface + interface integer function trexio_write_nucleus_label_low (trex_file, dset, max_str_len) bind(C) use, intrinsic :: iso_c_binding @@ -2553,6 +3237,7 @@ interface integer(4), intent(in), value :: max_str_len end function trexio_write_nucleus_label_low end interface + interface integer function trexio_write_mo_class_low (trex_file, dset, max_str_len) bind(C) use, intrinsic :: iso_c_binding @@ -2561,6 +3246,7 @@ interface integer(4), intent(in), value :: max_str_len end function trexio_write_mo_class_low end interface + interface integer function trexio_write_mo_symmetry_low (trex_file, dset, max_str_len) bind(C) use, intrinsic :: iso_c_binding @@ -2569,271 +3255,21 @@ interface integer(4), intent(in), value :: max_str_len end function trexio_write_mo_symmetry_low end interface -interface - integer function trexio_write_metadata_code_num_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_metadata_code_num_32 -end interface -interface - integer function trexio_write_metadata_author_num_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_metadata_author_num_32 -end interface -interface - integer function trexio_write_electron_up_num_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_electron_up_num_32 -end interface -interface - integer function trexio_write_electron_dn_num_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_electron_dn_num_32 -end interface -interface - integer function trexio_write_nucleus_num_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_nucleus_num_32 -end interface -interface - integer function trexio_write_ecp_local_num_n_max_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_ecp_local_num_n_max_32 -end interface -interface - integer function trexio_write_ecp_non_local_num_n_max_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_ecp_non_local_num_n_max_32 -end interface -interface - integer function trexio_write_basis_num_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_basis_num_32 -end interface -interface - integer function trexio_write_basis_prim_num_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_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 - integer(8), intent(in), value :: trex_file - integer(4), intent(in), value :: num - end function trexio_write_ao_num_32 -end interface -interface - integer function trexio_write_mo_num_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_mo_num_32 -end interface -interface - integer function trexio_write_metadata_code_num_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_metadata_code_num_64 -end interface -interface - integer function trexio_write_metadata_author_num_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_metadata_author_num_64 -end interface -interface - integer function trexio_write_electron_up_num_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_electron_up_num_64 -end interface -interface - integer function trexio_write_electron_dn_num_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_electron_dn_num_64 -end interface -interface - integer function trexio_write_nucleus_num_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_nucleus_num_64 -end interface -interface - integer function trexio_write_ecp_local_num_n_max_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_ecp_local_num_n_max_64 -end interface -interface - integer function trexio_write_ecp_non_local_num_n_max_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_ecp_non_local_num_n_max_64 -end interface -interface - integer function trexio_write_basis_num_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_basis_num_64 -end interface -interface - integer function trexio_write_basis_prim_num_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_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 - integer(8), intent(in), value :: trex_file - integer(8), intent(in), value :: num - end function trexio_write_ao_num_64 -end interface -interface - integer function trexio_write_mo_num_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_mo_num_64 -end interface -interface - integer function trexio_write_metadata_code_num (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_metadata_code_num -end interface -interface - integer function trexio_write_metadata_author_num (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_metadata_author_num -end interface -interface - integer function trexio_write_electron_up_num (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_electron_up_num -end interface -interface - integer function trexio_write_electron_dn_num (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_electron_dn_num -end interface -interface - integer function trexio_write_nucleus_num (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_nucleus_num -end interface -interface - integer function trexio_write_ecp_local_num_n_max (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_ecp_local_num_n_max -end interface -interface - integer function trexio_write_ecp_non_local_num_n_max (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_ecp_non_local_num_n_max -end interface -interface - integer function trexio_write_basis_num (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_basis_num -end interface -interface - integer function trexio_write_basis_prim_num (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_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 - integer(8), intent(in), value :: trex_file - integer(4), intent(in), value :: num - end function trexio_write_ao_num -end interface -interface - integer function trexio_write_mo_num (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_mo_num -end interface + contains - integer(8) function trexio_open (filename, mode, backend) + integer(8) function trexio_open (filename, mode, backend, rc_open) use, intrinsic :: iso_c_binding, only : c_null_char implicit none character(len=*), intent(in) :: filename character, intent(in), value :: mode integer(trexio_backend), intent(in), value :: backend + integer(trexio_exit_code), intent(out) :: rc_open character(len=len_trim(filename)+1) :: filename_c - integer :: rc + integer(trexio_exit_code) :: rc filename_c = trim(filename) // c_null_char - trexio_open = trexio_open_c(filename_c, mode, backend) - if (trexio_open == 0_8) then + trexio_open = trexio_open_c(filename_c, mode, backend, rc_open) + if (trexio_open == 0_8 .or. rc_open /= TREXIO_SUCCESS) then return endif rc = trexio_set_one_based(trexio_open) @@ -2912,6 +3348,16 @@ subroutine trexio_assert(trexio_rc, check_rc, success_message) endif end subroutine trexio_assert +integer function trexio_read_metadata_package_version (trex_file, str, max_str_len) + implicit none + integer(8), intent(in), value :: trex_file + integer(4), intent(in), value :: max_str_len + character, intent(out) :: str(*) + + trexio_read_metadata_package_version = trexio_read_metadata_package_version_c(trex_file, str, max_str_len) + +end function trexio_read_metadata_package_version + integer function trexio_read_metadata_description (trex_file, str, max_str_len) implicit none integer(8), intent(in), value :: trex_file @@ -2921,6 +3367,7 @@ integer function trexio_read_metadata_description (trex_file, str, max_str_len) trexio_read_metadata_description = trexio_read_metadata_description_c(trex_file, str, max_str_len) end function trexio_read_metadata_description + integer function trexio_read_nucleus_point_group (trex_file, str, max_str_len) implicit none integer(8), intent(in), value :: trex_file @@ -2930,6 +3377,7 @@ integer function trexio_read_nucleus_point_group (trex_file, str, max_str_len) trexio_read_nucleus_point_group = trexio_read_nucleus_point_group_c(trex_file, str, max_str_len) end function trexio_read_nucleus_point_group + integer function trexio_read_basis_type (trex_file, str, max_str_len) implicit none integer(8), intent(in), value :: trex_file @@ -2939,6 +3387,7 @@ integer function trexio_read_basis_type (trex_file, str, max_str_len) trexio_read_basis_type = trexio_read_basis_type_c(trex_file, str, max_str_len) end function trexio_read_basis_type + integer function trexio_read_mo_type (trex_file, str, max_str_len) implicit none integer(8), intent(in), value :: trex_file @@ -2948,6 +3397,7 @@ integer function trexio_read_mo_type (trex_file, str, max_str_len) trexio_read_mo_type = trexio_read_mo_type_c(trex_file, str, max_str_len) end function trexio_read_mo_type + integer function trexio_read_metadata_code (trex_file, dset, max_str_len) implicit none integer(8), intent(in), value :: trex_file @@ -2974,6 +3424,7 @@ integer function trexio_read_metadata_code (trex_file, dset, max_str_len) endif end function trexio_read_metadata_code + integer function trexio_read_metadata_author (trex_file, dset, max_str_len) implicit none integer(8), intent(in), value :: trex_file @@ -3000,6 +3451,7 @@ integer function trexio_read_metadata_author (trex_file, dset, max_str_len) endif end function trexio_read_metadata_author + integer function trexio_read_nucleus_label (trex_file, dset, max_str_len) implicit none integer(8), intent(in), value :: trex_file @@ -3026,6 +3478,7 @@ integer function trexio_read_nucleus_label (trex_file, dset, max_str_len) endif end function trexio_read_nucleus_label + integer function trexio_read_mo_class (trex_file, dset, max_str_len) implicit none integer(8), intent(in), value :: trex_file @@ -3052,6 +3505,7 @@ integer function trexio_read_mo_class (trex_file, dset, max_str_len) endif end function trexio_read_mo_class + integer function trexio_read_mo_symmetry (trex_file, dset, max_str_len) implicit none integer(8), intent(in), value :: trex_file @@ -3078,6 +3532,22 @@ integer function trexio_read_mo_symmetry (trex_file, dset, max_str_len) endif end function trexio_read_mo_symmetry + +integer function trexio_write_metadata_package_version (trex_file, str, max_str_len) + use, intrinsic :: iso_c_binding, only : c_null_char + implicit none + integer(8), intent(in), value :: trex_file + integer(4), intent(in), value :: max_str_len + character(len=*), intent(in) :: str + + character(len=len_trim(str)+1) :: str_c + + str_c = trim(str) // c_null_char + + trexio_write_metadata_package_version = trexio_write_metadata_package_version_c(trex_file, str_c, max_str_len) + +end function trexio_write_metadata_package_version + integer function trexio_write_metadata_description (trex_file, str, max_str_len) use, intrinsic :: iso_c_binding, only : c_null_char implicit none @@ -3092,6 +3562,7 @@ integer function trexio_write_metadata_description (trex_file, str, max_str_len) trexio_write_metadata_description = trexio_write_metadata_description_c(trex_file, str_c, max_str_len) end function trexio_write_metadata_description + integer function trexio_write_nucleus_point_group (trex_file, str, max_str_len) use, intrinsic :: iso_c_binding, only : c_null_char implicit none @@ -3106,6 +3577,7 @@ integer function trexio_write_nucleus_point_group (trex_file, str, max_str_len) trexio_write_nucleus_point_group = trexio_write_nucleus_point_group_c(trex_file, str_c, max_str_len) end function trexio_write_nucleus_point_group + integer function trexio_write_basis_type (trex_file, str, max_str_len) use, intrinsic :: iso_c_binding, only : c_null_char implicit none @@ -3120,6 +3592,7 @@ integer function trexio_write_basis_type (trex_file, str, max_str_len) trexio_write_basis_type = trexio_write_basis_type_c(trex_file, str_c, max_str_len) end function trexio_write_basis_type + integer function trexio_write_mo_type (trex_file, str, max_str_len) use, intrinsic :: iso_c_binding, only : c_null_char implicit none @@ -3134,6 +3607,7 @@ integer function trexio_write_mo_type (trex_file, str, max_str_len) trexio_write_mo_type = trexio_write_mo_type_c(trex_file, str_c, max_str_len) end function trexio_write_mo_type + integer function trexio_write_metadata_code (trex_file, dset, max_str_len) implicit none integer(8), intent(in), value :: trex_file @@ -3153,6 +3627,7 @@ integer function trexio_write_metadata_code (trex_file, dset, max_str_len) endif end function trexio_write_metadata_code + integer function trexio_write_metadata_author (trex_file, dset, max_str_len) implicit none integer(8), intent(in), value :: trex_file @@ -3172,6 +3647,7 @@ integer function trexio_write_metadata_author (trex_file, dset, max_str_len) endif end function trexio_write_metadata_author + integer function trexio_write_nucleus_label (trex_file, dset, max_str_len) implicit none integer(8), intent(in), value :: trex_file @@ -3191,6 +3667,7 @@ integer function trexio_write_nucleus_label (trex_file, dset, max_str_len) endif end function trexio_write_nucleus_label + integer function trexio_write_mo_class (trex_file, dset, max_str_len) implicit none integer(8), intent(in), value :: trex_file @@ -3210,6 +3687,7 @@ integer function trexio_write_mo_class (trex_file, dset, max_str_len) endif end function trexio_write_mo_class + integer function trexio_write_mo_symmetry (trex_file, dset, max_str_len) implicit none integer(8), intent(in), value :: trex_file @@ -3229,4 +3707,5 @@ integer function trexio_write_mo_symmetry (trex_file, dset, max_str_len) endif end function trexio_write_mo_symmetry + end module trexio diff --git a/stable/champ/NEED b/stable/champ/NEED index e4a8008..19fd652 100644 --- a/stable/champ/NEED +++ b/stable/champ/NEED @@ -1 +1 @@ -determinants fci +determinants fci csf diff --git a/stable/champ/save_for_champ.irp.f b/stable/champ/save_for_champ.irp.f index 7e88e71..58a22ca 100644 --- a/stable/champ/save_for_champ.irp.f +++ b/stable/champ/save_for_champ.irp.f @@ -23,6 +23,7 @@ program qmcpack call system('rm '//trim(ezfio_filename)//'/mo_basis/ao_md5') call system('$QP_ROOT/src/champ/qp_convert.py '//trim(ezfio_filename)) + call write_champ_csf() ! integer :: iunit ! integer, external :: getUnitAndOpen ! iunit = getUnitAndOpen(trim(ezfio_filename)//'.H','w') diff --git a/stable/champ/write_champ_csf.irp.f b/stable/champ/write_champ_csf.irp.f new file mode 100644 index 0000000..580436f --- /dev/null +++ b/stable/champ/write_champ_csf.irp.f @@ -0,0 +1,81 @@ +subroutine write_champ_csf + implicit none + + integer, parameter :: iunit=12, istate=1 + character*(2048) :: format + integer :: i, n_elements, j, k + integer, allocatable :: list(:,:) + + integer :: startdet, enddet + integer :: ndetI, bfIcfg, s + double precision :: phasedet + integer :: idx + + + write(iunit, '(A, X, I4, X, A, X, I4)') '&electrons nelec', elec_num, 'nup', elec_alpha_num + + + ! Determinants + write(iunit, '(A, I10)') 'determinants', N_det + + write(format,*) '(', N_det, '(F12.8, X))' + write(iunit, format) psi_coef(1:N_det,istate) + + write(format,*) '( ', elec_alpha_num, '(I4,X), 2X, ', elec_beta_num, '(I4,X))' + allocate ( list(bit_kind_size,2) ) + do i=1, N_det + call bitstring_to_list( psi_det(1,1,i), list(1,1), n_elements, N_int) + call bitstring_to_list( psi_det(1,2,i), list(1,2), n_elements, N_int) + write(iunit,format) list(1:elec_alpha_num,1), list(1:elec_beta_num,2) + end do + write(iunit, '(A)') 'end' + + ! CSF + write(iunit, '(A, I10, X, I3)') 'csf', N_csf, N_states + + write(format,*) '(', N_csf, '(F12.8, X))' + do i=1,N_states + write(iunit, format) psi_csf_coef(1:N_csf,i) + end do + + write(iunit, '(A)') 'end' + + ! CSF map + phasedet = 1.0d0 + + ndetI = 0 + do i=1,N_configuration + startdet = psi_configuration_to_psi_det(1,i) + enddet = psi_configuration_to_psi_det(2,i) + ndetI += enddet-startdet+1 + end do + + write(iunit, '(A)') 'csfmap' + write(iunit, '(I10, I10, I10)') n_csf, n_det, ndetI + + do i=1,N_configuration + startdet = psi_configuration_to_psi_det(1,i) + enddet = psi_configuration_to_psi_det(2,i) + ndetI = enddet-startdet+1 + + s = 0 + do k=1,N_int + if (psi_configuration(k,1,i) == 0_bit_kind) cycle + s = s + popcnt(psi_configuration(k,1,i)) + enddo + bfIcfg = max(1,nint((binom(s,(s+1)/2)-binom(s,((s+1)/2)+1)))) + + do k=1,bfIcfg + write(iunit, '(I4)') ndetI + do j = startdet, enddet + idx = psi_configuration_to_psi_det_data(j) + call get_phase_qp_to_cfg(psi_det(1,1,idx), psi_det(1,2,idx), phasedet) + write(iunit, '(I10, F18.12)') idx, DetToCSFTransformationMatrix(s,k,j-startdet+1)*phasedet + end do + end do + + end do + + write(iunit, '(A)') 'end' + +end