mirror of
https://github.com/QuantumPackage/qp2.git
synced 2024-12-22 12:23:43 +01: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
8e8d2ca229
commit
d98bda5b11
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
|
||||
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
|
||||
|
||||
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)
|
||||
|
||||
call ezfio_set_determinants_N_int(N_int)
|
||||
|
Loading…
Reference in New Issue
Block a user