From 6e4523524b2350d9df30d8a30d5e32989a821cb0 Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Fri, 27 Mar 2015 09:45:37 +0100 Subject: [PATCH 1/2] Fixed IRPF90 environment variable --- .travis.yml | 4 ++-- scripts/run_Makefile_global.sh | 2 ++ setup_environment.sh | 1 - 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/.travis.yml b/.travis.yml index 6b29a49e..0db0f5d1 100644 --- a/.travis.yml +++ b/.travis.yml @@ -2,10 +2,10 @@ sudo: true before_script: - sudo apt-get update - - sudo apt-get install gfortran liblapack-dev zip + - sudo apt-get install gfortran liblapack-dev script: - - ./setup_environment.sh --robot + - ./setup_environment.sh --robot - source ./quantum_package.rc - cp ./src/Makefile.config.gfortran ./src/Makefile.config - make build diff --git a/scripts/run_Makefile_global.sh b/scripts/run_Makefile_global.sh index 82dee8ab..fc9e168a 100755 --- a/scripts/run_Makefile_global.sh +++ b/scripts/run_Makefile_global.sh @@ -18,6 +18,8 @@ source ${QPACKAGE_ROOT}/scripts/qp_include.sh check_current_dir_is_src +IRPF90="${QPACKAGE_ROOT}/bin/irpf90 ${IRPF90_FLAGS}" + # Check if the user's config exists if [[ ! -f ${QPACKAGE_ROOT}/src/Makefile.config ]] diff --git a/setup_environment.sh b/setup_environment.sh index 24d3f844..a35746bc 100755 --- a/setup_environment.sh +++ b/setup_environment.sh @@ -41,7 +41,6 @@ then exit 1 fi - if [[ ! -x ${QPACKAGE_ROOT}/bin/irpman ]] then echo $RED "Error in IRPF90 installation" $BLACK From 3284b9d645b0df4b4721403b12fae4369b37646e Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Fri, 27 Mar 2015 13:32:43 +0100 Subject: [PATCH 2/2] Added spindeterminants EZFIO routines --- src/Dets/spindeterminants.ezfio_config | 10 ++++++ src/Dets/spindeterminants.irp.f | 44 ++++++++++++++++++++++++++ src/Makefile | 2 +- 3 files changed, 55 insertions(+), 1 deletion(-) create mode 100644 src/Dets/spindeterminants.ezfio_config create mode 100644 src/Dets/spindeterminants.irp.f diff --git a/src/Dets/spindeterminants.ezfio_config b/src/Dets/spindeterminants.ezfio_config new file mode 100644 index 00000000..e6a0ed9a --- /dev/null +++ b/src/Dets/spindeterminants.ezfio_config @@ -0,0 +1,10 @@ +spindeterminants + n_det_alpha integer + n_det_beta integer + n_int integer + bit_kind integer + n_states integer + psi_det_alpha integer*8 (spindeterminants_n_int*spindeterminants_bit_kind/8,spindeterminants_n_det_alpha) + psi_det_beta integer*8 (spindeterminants_n_int*spindeterminants_bit_kind/8,spindeterminants_n_det_beta) + psi_coef_matrix double precision (spindeterminants_n_det_alpha,spindeterminants_n_det_beta,spindeterminants_n_states) + diff --git a/src/Dets/spindeterminants.irp.f b/src/Dets/spindeterminants.irp.f new file mode 100644 index 00000000..236dc1fc --- /dev/null +++ b/src/Dets/spindeterminants.irp.f @@ -0,0 +1,44 @@ +subroutine write_spindeterminants + use bitmasks + implicit none + integer*8, allocatable :: tmpdet(:,:) + integer :: N_int2 + integer :: i,j,k + integer*8 :: det_8(100) + integer(bit_kind) :: det_bk((100*8)/bit_kind) + equivalence (det_8, det_bk) + + N_int2 = (N_int*bit_kind)/8 + call ezfio_set_spindeterminants_n_det_alpha(N_det_alpha_unique) + call ezfio_set_spindeterminants_n_det_beta(N_det_beta_unique) + call ezfio_set_spindeterminants_n_int(N_int) + call ezfio_set_spindeterminants_bit_kind(bit_kind) + call ezfio_set_spindeterminants_n_states(N_states) + + allocate(tmpdet(N_int2,N_det_alpha_unique)) + do i=1,N_det_alpha_unique + do k=1,N_int + det_bk(k) = psi_det_alpha_unique(k,i) + enddo + do k=1,N_int2 + tmpdet(k,i) = det_8(k) + enddo + enddo + call ezfio_set_spindeterminants_psi_det_alpha(psi_det_alpha_unique) + deallocate(tmpdet) + + allocate(tmpdet(N_int2,N_det_beta_unique)) + do i=1,N_det_beta_unique + do k=1,N_int + det_bk(k) = psi_det_beta_unique(k,i) + enddo + do k=1,N_int2 + tmpdet(k,i) = det_8(k) + enddo + enddo + call ezfio_set_spindeterminants_psi_det_beta(psi_det_beta_unique) + deallocate(tmpdet) + + call ezfio_set_spindeterminants_psi_coef_matrix(psi_svd_matrix) + +end diff --git a/src/Makefile b/src/Makefile index 298cc134..245868a8 100644 --- a/src/Makefile +++ b/src/Makefile @@ -21,7 +21,7 @@ $(ALL_MODULES): ezfio $(QPACKAGE_ROOT)/scripts/build_modules.sh $@ # Define the EZFIO rules -$(EZFIO): $(wildcard $(QPACKAGE_ROOT)/src/*.ezfio_config) $(wildcard $(QPACKAGE_ROOT)/src/*/EZFIO.cfg) +$(EZFIO): $(wildcard $(QPACKAGE_ROOT)/src/*/*.ezfio_config) $(wildcard $(QPACKAGE_ROOT)/src/*/EZFIO.cfg) $(QPACKAGE_ROOT)/scripts/prepare_ezfio.sh cd $(EZFIO_DIR);\ export FC="$(FC)" ; export FCFLAGS="$(FCFLAGS)" ; export IRPF90="$(IRPF90)" ;\