mirror of
https://github.com/QuantumPackage/qp2.git
synced 2024-08-24 21:21:47 +02:00
save determinants directory when save_wavefunction_general_complex is called
added option to turn this on or off determinants/backup_determinants_dir (default True) tars the determinants directory and moves the tar to ezfio/save/determinants/determinants.nstate.ndet.tar gzip doesn't save any significant space (the large parts are already gzipped) saves one backup per nstate,ndet pair
This commit is contained in:
parent
4842d55a63
commit
f2b81c8f97
41
scripts/save_current_dets.sh
Executable file
41
scripts/save_current_dets.sh
Executable file
@ -0,0 +1,41 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# This script is used by the determinants module, and should not be used by users.
|
||||||
|
# It copies the EZFIO/determinants directory to EZFIO/save/determinants/determinants.n_det
|
||||||
|
|
||||||
|
|
||||||
|
if [[ -z ${QP_ROOT} ]] ; then
|
||||||
|
print "The QP_ROOT environment variable is not set."
|
||||||
|
print "Please reload the quantum_package.rc file."
|
||||||
|
exit -1
|
||||||
|
fi
|
||||||
|
|
||||||
|
EZFIO="$1"
|
||||||
|
|
||||||
|
if [[ -z "${EZFIO}" ]] ; then
|
||||||
|
echo "Error in $0"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
NDET=$(head -1 "${EZFIO}/determinants/n_det" | xargs printf "%09d") #xargs trims the result
|
||||||
|
NSTATE=$(head -1 "${EZFIO}/determinants/n_states" | xargs) #xargs trims the result
|
||||||
|
DESTINATION="save/determinants/determinants.${NSTATE}.${NDET}.tar"
|
||||||
|
|
||||||
|
cd "${EZFIO}"
|
||||||
|
|
||||||
|
BACKUP="${DESTINATION}.old"
|
||||||
|
if [[ -f "${BACKUP}" ]] ; then
|
||||||
|
rm -f "${BACKUP}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ -f "${DESTINATION}" ]] ; then
|
||||||
|
mv "${DESTINATION}" "${BACKUP}"
|
||||||
|
fi
|
||||||
|
if [[ ! -d save/determinants ]] ; then
|
||||||
|
mkdir -p save/determinants
|
||||||
|
fi
|
||||||
|
|
||||||
|
tar cf ${DESTINATION} determinants
|
||||||
|
#tar cf dets_tmp.tar determinants
|
||||||
|
#mv --backup=t dets_tmp.tar ${DESTINATION}
|
||||||
|
|
||||||
|
|
@ -148,3 +148,8 @@ doc: If |true|, discard any Slater determinants with an interaction smaller than
|
|||||||
interface: ezfio,provider,ocaml
|
interface: ezfio,provider,ocaml
|
||||||
default: False
|
default: False
|
||||||
|
|
||||||
|
[backup_determinants_dir]
|
||||||
|
type: logical
|
||||||
|
doc: If |true|, make a copy of the existing determinants directory before saving a new wavefunction.
|
||||||
|
interface: ezfio,provider,ocaml
|
||||||
|
default: True
|
||||||
|
@ -205,6 +205,9 @@ subroutine save_wavefunction_general_complex(ndet,nstates,psidet,dim_psicoef,psi
|
|||||||
integer :: i,j,k, ndet_qp_edit
|
integer :: i,j,k, ndet_qp_edit
|
||||||
|
|
||||||
if (mpi_master) then
|
if (mpi_master) then
|
||||||
|
if (backup_determinants_dir) then
|
||||||
|
call system('$QP_ROOT/scripts/save_current_dets.sh '//trim(ezfio_filename))
|
||||||
|
endif
|
||||||
ndet_qp_edit = min(ndet,N_det_qp_edit)
|
ndet_qp_edit = min(ndet,N_det_qp_edit)
|
||||||
|
|
||||||
call ezfio_set_determinants_N_int(N_int)
|
call ezfio_set_determinants_N_int(N_int)
|
||||||
|
Loading…
Reference in New Issue
Block a user