quantum-espresso/CPV/examples/example09/run_example

487 lines
14 KiB
Bash
Executable File

#!/bin/sh
###############################################################################
##
## HIGH VERBOSITY EXAMPLE
##
###############################################################################
# run from directory where this script is
cd `dirname $0`
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 cp.x to perform molecular dynamics"
$ECHO "in the presence of an electric field described through the"
$ECHO "modern theory of the polarization. The example shows how to"
$ECHO "calculate high-frequency and static dielectric constants and"
$ECHO "Born effective charges."
# set the needed environment variables
. ../../../environment_variables
# required executables and pseudopotentials
BIN_LIST="cp.x"
PSEUDO_LIST="O.pz-rrkjus.UPF Mg.pz-n-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
CP_COMMAND="$PARA_PREFIX $BIN_DIR/cp.x $PARA_POSTFIX"
$ECHO
$ECHO " running cp.x as: $CP_COMMAND"
$ECHO
# clean TMP_DIR
$ECHO " cleaning $TMP_DIR...\c"
rm -rf $TMP_DIR/cp*
$ECHO " done"
# molecular dynamics calculation
cat > mgo.cp.cg.in << EOF
&CONTROL
calculation = 'cp',
restart_mode = 'from_scratch',
nstep = 1,
iprint = 1,
isave = 1,
tstress = .TRUE.,
tprnfor = .TRUE.,
prefix = 'mgo',
tefield = .TRUE.
pseudo_dir = '$PSEUDO_DIR/',
outdir='$TMP_DIR/'
/
&SYSTEM
ibrav = 1,
celldm(1) = 15.912,
celldm(2) = 0.0,
celldm(3) = 0.0,
celldm(4) = 0.0,
celldm(5) = 0.0,
celldm(6) = 0.0,
nbnd=128,
nat =64,
ntyp =2,
ecutwfc = 20,
ecutrho = 160,
nr1b= 30, nr2b = 30, nr3b = 30,
nspin=1,
/
&ELECTRONS
emass = 1000.d0,
emass_cutoff = 4.d0,
orthogonalization = 'Gram-Schmidt',
startingwfc = 'random',
ampre = 0.02,
tcg = .true.,
passop=0.3,
maxiter = 250,
conv_thr=1.d-8
epol = 3
efield = 0.0
/
&IONS
ion_dynamics = 'none',
ion_damping = 0.,
ion_positions = 'from_input',
greasp=1.0,
ion_radius(1) = 0.8d0,
ion_temperature = 'not_controlled',
/
&CELL
cell_dynamics = 'none',
/
ATOMIC_SPECIES
O 12.01 O.pz-rrkjus.UPF
Mg 24.30 Mg.pz-n-vbc.UPF
ATOMIC_POSITIONS (bohr)
Mg 0.066300000 0.066300000 0.066300000
Mg 4.044300000 4.044300000 0.066300000
Mg 4.044300000 0.066300000 4.044300000
Mg 0.066300000 4.044300000 4.044300000
Mg 0.066300000 0.066300000 8.022300000
Mg 4.044300000 4.044300000 8.022300000
Mg 4.044300000 0.066300000 12.000300000
Mg 0.066300000 4.044300000 12.000300000
Mg 0.066300000 8.022300000 0.066300000
Mg 4.044300000 12.000300000 0.066300000
Mg 4.044300000 8.022300000 4.044300000
Mg 0.066300000 12.000300000 4.044300000
Mg 0.066300000 8.022300000 8.022300000
Mg 4.044300000 12.000300000 8.022300000
Mg 4.044300000 8.022300000 12.000300000
Mg 0.066300000 12.000300000 12.000300000
Mg 8.022300000 0.066300000 0.066300000
Mg 12.000300000 4.044300000 0.066300000
Mg 12.000300000 0.066300000 4.044300000
Mg 8.022300000 4.044300000 4.044300000
Mg 8.022300000 0.066300000 8.022300000
Mg 12.000300000 4.044300000 8.022300000
Mg 12.000300000 0.066300000 12.000300000
Mg 8.022300000 4.044300000 12.000300000
Mg 8.022300000 8.022300000 0.066300000
Mg 12.000300000 12.000300000 0.066300000
Mg 12.000300000 8.022300000 4.044300000
Mg 8.022300000 12.000300000 4.044300000
Mg 8.022300000 8.022300000 8.022300000
Mg 12.000300000 12.000300000 8.022300000
Mg 12.000300000 8.022300000 12.000300000
Mg 8.022300000 12.000300000 12.000300000
O 0.066300000 0.066300000 4.044300000
O 4.044300000 4.044300000 4.044300000
O 4.044300000 0.066300000 8.022300000
O 0.066300000 4.044300000 8.022300000
O 0.066300000 0.066300000 12.000300000
O 4.044300000 4.044300000 12.000300000
O 4.044300000 0.066300000 15.978300000
O 0.066300000 4.044300000 15.978300000
O 0.066300000 8.022300000 4.044300000
O 4.044300000 12.000300000 4.044300000
O 4.044300000 8.022300000 8.022300000
O 0.066300000 12.000300000 8.022300000
O 0.066300000 8.022300000 12.000300000
O 4.044300000 12.000300000 12.000300000
O 4.044300000 8.022300000 15.978300000
O 0.066300000 12.000300000 15.978300000
O 8.022300000 0.066300000 4.044300000
O 12.000300000 4.044300000 4.044300000
O 12.000300000 0.066300000 8.022300000
O 8.022300000 4.044300000 8.022300000
O 8.022300000 0.066300000 12.000300000
O 12.000300000 4.044300000 12.000300000
O 12.000300000 0.066300000 15.978300000
O 8.022300000 4.044300000 15.978300000
O 8.022300000 8.022300000 4.044300000
O 12.000300000 12.000300000 4.044300000
O 12.000300000 8.022300000 8.022300000
O 8.022300000 12.000300000 8.022300000
O 8.022300000 8.022300000 12.000300000
O 12.000300000 12.000300000 12.000300000
O 12.000300000 8.022300000 15.978300000
O 8.022300000 12.000300000 15.978300000
EOF
$ECHO " running the CG calculation for bulk MgO E_field=0. a.u. ...\c"
$CP_COMMAND < mgo.cp.cg.in > mgo.cp.cg.out
check_failure $?
$ECHO " done"
cat > mgo.cp.cg.efield.in << EOF
&CONTROL
calculation = 'cp',
restart_mode = 'restart',
nstep = 1,
iprint = 1,
isave = 1,
tstress = .FALSE.,
tprnfor = .TRUE.,
prefix = 'mgo',
tefield = .TRUE.
pseudo_dir = '$PSEUDO_DIR/',
outdir='$TMP_DIR/'
/
&SYSTEM
ibrav = 1,
celldm(1) = 15.912,
celldm(2) = 0.0,
celldm(3) = 0.0,
celldm(4) = 0.0,
celldm(5) = 0.0,
celldm(6) = 0.0,
nbnd=128,
nat =64,
ntyp =2,
ecutwfc = 20,
ecutrho = 160,
nr1b= 30, nr2b = 30, nr3b = 30,
nspin=1,
/
&ELECTRONS
emass = 1000.d0,
emass_cutoff = 4.d0,
orthogonalization = 'Gram-Schmidt',
startingwfc = 'random',
ampre = 0.02,
tcg = .true.,
passop=0.3,
maxiter = 250,
conv_thr=1.d-8
epol = 3
efield = 0.001
/
&IONS
ion_dynamics = 'none',
ion_damping = 0.,
ion_positions = 'from_input',
greasp=1.0,
ion_radius(1) = 0.8d0,
ion_temperature = 'not_controlled',
/
&CELL
cell_dynamics = 'none',
/
ATOMIC_SPECIES
O 12.01 O.pz-rrkjus.UPF
Mg 24.30 Mg.pz-n-vbc.UPF
ATOMIC_POSITIONS (bohr)
Mg 0.066300000 0.066300000 0.066300000
Mg 4.044300000 4.044300000 0.066300000
Mg 4.044300000 0.066300000 4.044300000
Mg 0.066300000 4.044300000 4.044300000
Mg 0.066300000 0.066300000 8.022300000
Mg 4.044300000 4.044300000 8.022300000
Mg 4.044300000 0.066300000 12.000300000
Mg 0.066300000 4.044300000 12.000300000
Mg 0.066300000 8.022300000 0.066300000
Mg 4.044300000 12.000300000 0.066300000
Mg 4.044300000 8.022300000 4.044300000
Mg 0.066300000 12.000300000 4.044300000
Mg 0.066300000 8.022300000 8.022300000
Mg 4.044300000 12.000300000 8.022300000
Mg 4.044300000 8.022300000 12.000300000
Mg 0.066300000 12.000300000 12.000300000
Mg 8.022300000 0.066300000 0.066300000
Mg 12.000300000 4.044300000 0.066300000
Mg 12.000300000 0.066300000 4.044300000
Mg 8.022300000 4.044300000 4.044300000
Mg 8.022300000 0.066300000 8.022300000
Mg 12.000300000 4.044300000 8.022300000
Mg 12.000300000 0.066300000 12.000300000
Mg 8.022300000 4.044300000 12.000300000
Mg 8.022300000 8.022300000 0.066300000
Mg 12.000300000 12.000300000 0.066300000
Mg 12.000300000 8.022300000 4.044300000
Mg 8.022300000 12.000300000 4.044300000
Mg 8.022300000 8.022300000 8.022300000
Mg 12.000300000 12.000300000 8.022300000
Mg 12.000300000 8.022300000 12.000300000
Mg 8.022300000 12.000300000 12.000300000
O 0.066300000 0.066300000 4.044300000
O 4.044300000 4.044300000 4.044300000
O 4.044300000 0.066300000 8.022300000
O 0.066300000 4.044300000 8.022300000
O 0.066300000 0.066300000 12.000300000
O 4.044300000 4.044300000 12.000300000
O 4.044300000 0.066300000 15.978300000
O 0.066300000 4.044300000 15.978300000
O 0.066300000 8.022300000 4.044300000
O 4.044300000 12.000300000 4.044300000
O 4.044300000 8.022300000 8.022300000
O 0.066300000 12.000300000 8.022300000
O 0.066300000 8.022300000 12.000300000
O 4.044300000 12.000300000 12.000300000
O 4.044300000 8.022300000 15.978300000
O 0.066300000 12.000300000 15.978300000
O 8.022300000 0.066300000 4.044300000
O 12.000300000 4.044300000 4.044300000
O 12.000300000 0.066300000 8.022300000
O 8.022300000 4.044300000 8.022300000
O 8.022300000 0.066300000 12.000300000
O 12.000300000 4.044300000 12.000300000
O 12.000300000 0.066300000 15.978300000
O 8.022300000 4.044300000 15.978300000
O 8.022300000 8.022300000 4.044300000
O 12.000300000 12.000300000 4.044300000
O 12.000300000 8.022300000 8.022300000
O 8.022300000 12.000300000 8.022300000
O 8.022300000 8.022300000 12.000300000
O 12.000300000 12.000300000 12.000300000
O 12.000300000 8.022300000 15.978300000
O 8.022300000 12.000300000 15.978300000
EOF
$ECHO " running the CG calculation for bulk MgO E_field=0.001 a.u. ...\c"
$CP_COMMAND < mgo.cp.cg.efield.in > mgo.cp.cg.efield.out
check_failure $?
$ECHO " done"
cat > mgo.cp.damp.efield.in << EOF
&CONTROL
calculation = 'cp',
restart_mode = 'restart',
nstep = 20,
iprint = 100,
isave = 100,
tstress = .FALSE.,
tprnfor = .TRUE.,
prefix = 'mgo',
tefield = .TRUE.,
dt=10.,
pseudo_dir = '$PSEUDO_DIR/',
outdir='$TMP_DIR/'
/
&SYSTEM
ibrav = 1,
celldm(1) = 15.912,
celldm(2) = 0.0,
celldm(3) = 0.0,
celldm(4) = 0.0,
celldm(5) = 0.0,
celldm(6) = 0.0,
nbnd=128,
nat =64,
ntyp =2,
ecutwfc = 20,
ecutrho = 160,
nr1b= 30, nr2b = 30, nr3b = 30,
nspin=1,
/
&ELECTRONS
emass = 250.d0,
emass_cutoff = 3.d0,
electron_dynamics='damp', ortho_max=30
electron_damping=0.05
startingwfc = 'random',
ampre = 0.02,
epol = 3
efield = 0.001
/
&IONS
ion_dynamics = 'verlet',
ion_damping = 0.
/
&CELL
cell_dynamics = 'none',
/
ATOMIC_SPECIES
O 1.0 O.pz-rrkjus.UPF
Mg 1.0 Mg.pz-n-vbc.UPF
ATOMIC_POSITIONS (bohr)
Mg 0.066300000 0.066300000 0.066300000
Mg 4.044300000 4.044300000 0.066300000
Mg 4.044300000 0.066300000 4.044300000
Mg 0.066300000 4.044300000 4.044300000
Mg 0.066300000 0.066300000 8.022300000
Mg 4.044300000 4.044300000 8.022300000
Mg 4.044300000 0.066300000 12.000300000
Mg 0.066300000 4.044300000 12.000300000
Mg 0.066300000 8.022300000 0.066300000
Mg 4.044300000 12.000300000 0.066300000
Mg 4.044300000 8.022300000 4.044300000
Mg 0.066300000 12.000300000 4.044300000
Mg 0.066300000 8.022300000 8.022300000
Mg 4.044300000 12.000300000 8.022300000
Mg 4.044300000 8.022300000 12.000300000
Mg 0.066300000 12.000300000 12.000300000
Mg 8.022300000 0.066300000 0.066300000
Mg 12.000300000 4.044300000 0.066300000
Mg 12.000300000 0.066300000 4.044300000
Mg 8.022300000 4.044300000 4.044300000
Mg 8.022300000 0.066300000 8.022300000
Mg 12.000300000 4.044300000 8.022300000
Mg 12.000300000 0.066300000 12.000300000
Mg 8.022300000 4.044300000 12.000300000
Mg 8.022300000 8.022300000 0.066300000
Mg 12.000300000 12.000300000 0.066300000
Mg 12.000300000 8.022300000 4.044300000
Mg 8.022300000 12.000300000 4.044300000
Mg 8.022300000 8.022300000 8.022300000
Mg 12.000300000 12.000300000 8.022300000
Mg 12.000300000 8.022300000 12.000300000
Mg 8.022300000 12.000300000 12.000300000
O 0.066300000 0.066300000 4.044300000
O 4.044300000 4.044300000 4.044300000
O 4.044300000 0.066300000 8.022300000
O 0.066300000 4.044300000 8.022300000
O 0.066300000 0.066300000 12.000300000
O 4.044300000 4.044300000 12.000300000
O 4.044300000 0.066300000 15.978300000
O 0.066300000 4.044300000 15.978300000
O 0.066300000 8.022300000 4.044300000
O 4.044300000 12.000300000 4.044300000
O 4.044300000 8.022300000 8.022300000
O 0.066300000 12.000300000 8.022300000
O 0.066300000 8.022300000 12.000300000
O 4.044300000 12.000300000 12.000300000
O 4.044300000 8.022300000 15.978300000
O 0.066300000 12.000300000 15.978300000
O 8.022300000 0.066300000 4.044300000
O 12.000300000 4.044300000 4.044300000
O 12.000300000 0.066300000 8.022300000
O 8.022300000 4.044300000 8.022300000
O 8.022300000 0.066300000 12.000300000
O 12.000300000 4.044300000 12.000300000
O 12.000300000 0.066300000 15.978300000
O 8.022300000 4.044300000 15.978300000
O 8.022300000 8.022300000 4.044300000
O 12.000300000 12.000300000 4.044300000
O 12.000300000 8.022300000 8.022300000
O 8.022300000 12.000300000 8.022300000
O 8.022300000 8.022300000 12.000300000
O 12.000300000 12.000300000 12.000300000
O 12.000300000 8.022300000 15.978300000
O 8.022300000 12.000300000 15.978300000
EOF
$ECHO " running the CP- damped MD calculation for bulk MgO E_field=0.001 a.u. ...\c"
$CP_COMMAND < mgo.cp.damp.efield.in > mgo.cp.damp.efield.out
check_failure $?
$ECHO " done"
$ECHO
$ECHO "$EXAMPLE_DIR : done"