#!/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-harmonic approximation. Part II."

# 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" ; do
    if test ! -d $DIR ; then
        mkdir $DIR
    fi
done
cd $EXAMPLE_DIR/results

# 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"

$ECHO " This is the thermo mur_lc_t calculation for Si"
$ECHO " when the files of the elastic constants computed"
$ECHO " within the quasi-harmonic approximation are present"
$ECHO " in the directory anhar_files."
$ECHO " Quasi-harmonic isothermal and adiabatic elastic constants and"
$ECHO " bulk modulus are in output_anhar.el_cons.ps."
$ECHO " Quasi-harmonic isothermal and adiabatic elastic compliances and"
$ECHO " compressibility are in output_anhar.el_comp.ps."
$ECHO " Thermal stresses are in output_tstress.ps."
$ECHO " Generalized average Gruneisen parameter is in output_anhar.ggamma.ps."
$ECHO " The other quantities are analogous to those presented in example09"
$ECHO " but anharmonic quantities are also derived from Gruneisen parameters"
$ECHO " with a bulk modulus obtained from elastic compliances."
$ECHO " Running..."

cat > thermo_control << EOF
 &INPUT_THERMO
  what='mur_lc_t',
  deltat=3.,
  lmurn=.FALSE.
 /
EOF

cp ../results_elct/si.elastic_qha.in ./si.mur_lc_t.in
cp ../results_elct/ph_control .
cp -R ../results_elct/anhar_files/ .

$THERMO_PW_COMMAND < si.mur_lc_t.in > si.mur_lc_t.out
check_failure $?
$ECHO " done"
$ECHO
$ECHO "$EXAMPLE_DIR: done"
