[Thermo_pw-forum] Error in using tmax variable in thermo_pw

Andrea Dal Corso dalcorso at sissa.it
Fri Aug 21 16:31:15 CEST 2020


The problem is due to the fact that you have already the
thermodynamic quantities on file calculated up to 800 K.

In order to change temperature you have two options:

To restart a new calculation from scratch with a new tmax, removing the
results_elct directory completely,

or 

remove the results_elct/therm_files directory and run with the new
temperature. 
In this case you do not need to recompute the elastic constants.

HTH,

Andrea


On Thu, 2020-08-20 at 23:42 +0530, Pooja Vyas wrote:
> Dear users,
> I'm computing example22 of thermo_pw. The default values of tmin and
> tmax
> are 1 and 800 K respectively. But, if I try computing the same
> example with
> T=3000 K, it shows me an error. My input and error are as follows:
> 
> *Input:*
> #!/bin/sh
> 
> # run from directory where this script is
> cd `echo $0 | sed 's/\(.*\)\/.*/\1/'` # extract pathname
> EXAMPLE_DIR=`pwd`
> 
> # check whether echo has the -e option
> if test "`echo -e`" = "-e" ; then ECHO=echo ; else ECHO="echo -e" ;
> fi
> 
> $ECHO
> $ECHO "$EXAMPLE_DIR : starting"
> $ECHO
> $ECHO "This example shows how to use thermo_pw.x to calculate"
> $ECHO "the elastic constants of Silicon as a function of temperature"
> $ECHO "within the quasi-static approximation."
> 
> # set the needed environment variables
> . ../../../environment_variables
> 
> # required executables and pseudopotentials
> BIN_LIST="thermo_pw.x"
> PSEUDO_LIST="Si.pz-vbc.UPF"
> 
> $ECHO
> $ECHO "  executables directory: $BIN_DIR"
> $ECHO "  pseudo directory:      $PSEUDO_DIR"
> $ECHO "  temporary directory:   $TMP_DIR"
> $ECHO "  checking that needed directories and files exist...\c"
> 
> # check for directories
> for DIR in "$BIN_DIR" "$PSEUDO_DIR" ; do
>     if test ! -d $DIR ; then
>         $ECHO
>         $ECHO "ERROR: $DIR not existent or not a directory"
>         $ECHO "Aborting"
>         exit 1
>     fi
> done
> for DIR in "$TMP_DIR" "$EXAMPLE_DIR/results_elct1" ; do
>     if test ! -d $DIR ; then
>         mkdir $DIR
>     fi
> done
> cd $EXAMPLE_DIR/results_elct1
> 
> # check for executables
> for FILE in $BIN_LIST ; do
>     if test ! -x $BIN_DIR/$FILE ; then
>         $ECHO
>         $ECHO "ERROR: $BIN_DIR/$FILE not existent or not executable"
>         $ECHO "Aborting"
>         exit 1
>     fi
> done
> 
> # check for pseudopotentials
> for FILE in $PSEUDO_LIST ; do
>     if test ! -r $PSEUDO_DIR/$FILE ; then
>        $ECHO
>        $ECHO "Downloading $FILE to $PSEUDO_DIR...\c"
>             $WGET $PSEUDO_DIR/$FILE $NETWORK_PSEUDO/$FILE 2>
> /dev/null
>     fi
>     if test $? != 0; then
>         $ECHO
>         $ECHO "ERROR: $PSEUDO_DIR/$FILE not existent or not readable"
>         $ECHO "Aborting"
>         exit 1
>     fi
> done
> $ECHO " done"
> 
> # how to run executables
> THERMO_PW_COMMAND="$PARA_IMAGE_PREFIX $BIN_DIR/thermo_pw.x
> $PARA_IMAGE_POSTFIX"
> $ECHO
> $ECHO "  running thermo_pw.x as: $THERMO_PW_COMMAND"
> $ECHO
> 
> $ECHO "  cleaning $TMP_DIR...\c"
> rm -rf $TMP_DIR/g*/silicon*
> rm -rf $TMP_DIR/g*/_ph*/silicon*
> $ECHO " done"
> 
> cat > thermo_control << EOF
>  &INPUT_THERMO
>   what='elastic_constants_t',
>   frozen_ions=.FALSE.
>   lmurn=.FALSE.
>   tmin=1.,
>   tmax=3000,
>   deltat=3.,
>  /
> EOF
> 
> cat > si.elastic_t.in << EOF
>  &control
>     calculation = 'scf'
>     restart_mode='from_scratch',
>     prefix='silicon',
>     pseudo_dir = '$PSEUDO_DIR/',
>     outdir='$TMP_DIR/'
>     forc_conv_thr=1.d-5
>  /
>  &system
>     ibrav=  2,
>     celldm(1) =10.20,
>     nat= 2,
>     ntyp= 1,
>     ecutwfc=24.0,
>  /
>  &electrons
>     conv_thr =  1.0d-8
>  /
> ATOMIC_SPECIES
>  Si  28.086  Si.pz-vbc.UPF
> ATOMIC_POSITIONS (alat)
>  Si 0.00 0.00 0.00
>  Si 0.25 0.25 0.25
> K_POINTS AUTOMATIC
> 4 4 4 1 1 1
> EOF
> 
> $ECHO "  Running the thermo elastic_constants_t calculation "
> $ECHO "  to calculate the elastic constants of silicon at "
> $ECHO "  several lattice constant. The results are in si.elastic.out
> "
> $ECHO "  and in the directory elastic_constants... \c "
> 
> $THERMO_PW_COMMAND < si.elastic_t.in > si.elastic_t.out
> check_failure $?
> $ECHO " done"
> $ECHO ""
> 
> $ECHO
> $ECHO "$EXAMPLE_DIR : done"
> 
> *Error:*
> /home/pooja/qe6.5/thermo_pw/examples/example22 : starting
> 
> This example shows how to use thermo_pw.x to calculate
> the elastic constants of Silicon as a function of temperature
> within the quasi-static approximation.
> 
>   executables directory: /home/pooja/qe6.5/bin
>   pseudo directory:      /home/pooja/qe6.5/pseudo
>   temporary directory:   /home/pooja/qe6.5/tempdir
>   checking that needed directories and files exist... done
> 
>   running thermo_pw.x as: mpirun -np 2
> /home/pooja/qe6.5/bin/thermo_pw.x
> -ni 2  -nk 1 -nd 1 -nb 1 -nt 1
> 
>   cleaning /home/pooja/qe6.5/tempdir... done
>   Running the thermo elastic_constants_t calculation
>   to calculate the elastic constants of silicon at
>   several lattice constant. The results are in si.elastic.out
>   and in the directory elastic_constants... At line 369 of file
> write_thermo.f90 (unit = 99, file =
> 'therm_files/output_therm.dat_debye.g1')
> Fortran runtime error: End of file
> 
> Error termination. Backtrace:
> #0  0x7f3d029ffcd1 in ???
> #1  0x7f3d02a00819 in ???
> #2  0x7f3d02a014ef in ???
> #3  0x7f3d02c41b3b in ???
> #4  0x7f3d02c42142 in ???
> #5  0x7f3d02c3f256 in ???
> #6  0x7f3d02c43048 in ???
> #7  0x7f3d02c448db in ???
> #8  0x560e1e0c8f93 in read_thermo_
> at /home/pooja/q-e-qe-6.5/thermo_pw/src/write_thermo.f90:367
> #9  0x560e1e0cb79d in write_thermo_debye_
> at /home/pooja/q-e-qe-6.5/thermo_pw/src/write_thermo.f90:213
> #10  0x560e1e034bee in manage_elastic_cons_
> at /home/pooja/q-e-qe-6.5/thermo_pw/src/manage_elastic_cons.f90:108
> #11  0x560e1e0291e6 in thermo_pw
> at /home/pooja/q-e-qe-6.5/thermo_pw/src/thermo_pw.f90:154
> #12  0x560e1e028b5e in main
> at /home/pooja/q-e-qe-6.5/thermo_pw/src/thermo_pw.f90:30
> -------------------------------------------------------------------
> -------
> Primary job  terminated normally, but 1 process returned
> a non-zero exit code. Per user-direction, the job has been aborted.
> -------------------------------------------------------------------
> -------
> -------------------------------------------------------------------
> -------
> mpirun detected that one or more processes exited with non-zero
> status,
> thus causing
> the job to be terminated. The first process to do so was:
> 
>   Process name: [[5354,1],0]
>   Exit code:    2
> -------------------------------------------------------------------
> -------
> Error condition encountered during test: exit status = 2
> Aborting
> 
> 
> How do I solve this error?
> Any kind of help is appreciated.
> Thanks & Regards.
> _______________________________________________
> Thermo_pw-forum mailing list
> Thermo_pw-forum at lists.quantum-espresso.org
> https://lists.quantum-espresso.org/mailman/listinfo/thermo_pw-forum
-- 
Andrea Dal Corso                    Tel. 0039-040-3787428
SISSA, Via Bonomea 265              Fax. 0039-040-3787249
I-34136 Trieste (Italy)             e-mail: dalcorso at sissa.it



More information about the Thermo_pw-forum mailing list