diff --git a/configure b/configure index e2b8ee51..29c5f4da 100755 --- a/configure +++ b/configure @@ -19,7 +19,7 @@ unset CCXX BATS_URL="https://github.com/bats-core/bats-core/archive/v1.1.0.tar.gz" BUBBLE_URL="https://github.com/projectatomic/bubblewrap/releases/download/v0.3.3/bubblewrap-0.3.3.tar.xz" DOCOPT_URL="https://github.com/docopt/docopt/archive/0.6.2.tar.gz" -EZFIO_URL="https://gitlab.com/scemama/EZFIO/-/archive/v1.4.0/EZFIO-v1.4.0.tar.gz" +EZFIO_URL="https://gitlab.com/scemama/EZFIO/-/archive/v1.6.0/EZFIO-v1.6.0.tar.gz" F77ZMQ_URL="https://github.com/scemama/f77_zmq/archive/v4.2.5.tar.gz" GMP_URL="ftp://ftp.gnu.org/gnu/gmp/gmp-6.1.2.tar.bz2" IRPF90_URL="https://gitlab.com/scemama/irpf90/-/archive/v1.7.6/irpf90-v1.7.6.tar.gz" diff --git a/src/mo_basis/EZFIO.cfg b/src/mo_basis/EZFIO.cfg index 126705bf..a055aad3 100644 --- a/src/mo_basis/EZFIO.cfg +++ b/src/mo_basis/EZFIO.cfg @@ -23,7 +23,7 @@ size: (mo_basis.mo_num) [mo_class] type: MO_class doc: [ Core | Inactive | Active | Virtual | Deleted ], as defined by :ref:`qp_set_mo_class` -interface: ezfio, provider +interface: ezfio size: (mo_basis.mo_num) [ao_md5] diff --git a/src/mo_basis/mo_class.irp.f b/src/mo_basis/mo_class.irp.f new file mode 100644 index 00000000..95fbb443 --- /dev/null +++ b/src/mo_basis/mo_class.irp.f @@ -0,0 +1,40 @@ +! DO NOT MODIFY BY HAND +! Created by $QP_ROOT/scripts/ezfio_interface/ei_handler.py +! from file /home/eginer/programs/qp2/src/mo_basis/EZFIO.cfg + + +BEGIN_PROVIDER [ character*(32), mo_class , (mo_num) ] + implicit none + BEGIN_DOC +! [ Core | Inactive | Active | Virtual | Deleted ], as defined by :ref:`qp_set_mo_class` + END_DOC + + logical :: has + PROVIDE ezfio_filename + if (mpi_master) then + if (size(mo_class) == 0) return + + call ezfio_has_mo_basis_mo_class(has) + if (has) then + write(6,'(A)') '.. >>>>> [ IO READ: mo_class ] <<<<< ..' + call ezfio_get_mo_basis_mo_class(mo_class) + else + mo_class(:) = 'Active' + endif + endif + IRP_IF MPI_DEBUG + print *, irp_here, mpi_rank + call MPI_BARRIER(MPI_COMM_WORLD, ierr) + IRP_ENDIF + IRP_IF MPI + include 'mpif.h' + integer :: ierr + call MPI_BCAST( mo_class, (mo_num)*32, MPI_CHARACTER, 0, MPI_COMM_WORLD, ierr) + if (ierr /= MPI_SUCCESS) then + stop 'Unable to read mo_class with MPI' + endif + IRP_ENDIF + + call write_time(6) + +END_PROVIDER diff --git a/src/mo_basis/utils.irp.f b/src/mo_basis/utils.irp.f index 64ab3499..12c6c79d 100644 --- a/src/mo_basis/utils.irp.f +++ b/src/mo_basis/utils.irp.f @@ -16,6 +16,7 @@ subroutine save_mos enddo call ezfio_set_mo_basis_mo_coef(buffer) call ezfio_set_mo_basis_mo_occ(mo_occ) + call ezfio_set_mo_basis_mo_class(mo_class) deallocate (buffer) end @@ -61,6 +62,7 @@ subroutine save_mos_truncated(n) enddo call ezfio_set_mo_basis_mo_coef(buffer) call ezfio_set_mo_basis_mo_occ(mo_occ) + call ezfio_set_mo_basis_mo_class(mo_class) deallocate (buffer) end