Вы находитесь на странице: 1из 8

Procedure for calculation for band structure of Silicon by Quantum ESPRESSO:

• ssh -X Nano@192.168.7.198
• Password- Qu@ntum123
• cd qe-6.2-examples/
• ls
#atomic EPW License PHonon PWCOND Silicon_01
#COUPLE FFTXlib Mtech PP qe-6.2-examples.tar.gz TDDFPT
#CPV GWW NEB PW Silicon XSpectra
#These are example directory for various functions. Silicon has sample code for silicon band structure
#calculation.
#Copy this folder with Silicon_RollNo e.g. “Silicon_01”
• cd Silicon_RollNo
• ./start
input file> sibands.dat
Reading 8 bands at 28 k-points
Range: -5.6540 16.5710eV Emin, Emax >-6.0 10.0
high-symmetry point: 0.5000 0.5000 0.5000 x coordinate 0.0000
high-symmetry point: 0.0000 0.0000 0.0000 x coordinate 0.8660
high-symmetry point: 0.0000 0.0000 0.0000 x coordinate 0.8660
high-symmetry point: 0.0000 1.0000 1.0000 x coordinate 2.2802
high-symmetry point: 0.0000 0.0000 1.0000 x coordinate 2.2802
high-symmetry point: 0.0000 0.0000 0.0000 x coordinate 3.2802
output file (gnuplot/xmgr) > si.bands.xmgr
bands in gnuplot/xmgr format written to file si.bands.xmgr
output file (ps) > si.bands.ps
Efermi > 6.337
deltaE, reference E (for tics) 1.0, 6.337
bands in PostScript format written to file si.bands.ps

Note- underlined are user entries.


#!/bin/sh
#cd Software/qe-6.2/qe-6.2-examples/PW/examples/example01
./run_Band_Silicon
cd results/
/home/Nano/quantum_Esspreso/qe-6.2/bin/plotband.x
Sample Code “run_Band_Silicon”
#!/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 pw.x to calculate the total energy and"
$ECHO "the band structure of four simple systems: Si, Al, Cu, Ni."

# set the needed environment variables


. ../../environment_variables

# required executables and pseudopotentials


BIN_LIST="pw.x"
PSEUDO_LIST="Si.pz-vbc.UPF Al.pz-vbc.UPF Cu.pz-d-rrkjus.UPF Ni.pz-nd-rrkjus.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"
# clean TMP_DIR
$ECHO " cleaning $TMP_DIR...\c"
rm -rf $TMP_DIR/silicon*
$ECHO " done"
# how to run executables
PW_COMMAND="$PARA_PREFIX $BIN_DIR/pw.x $PARA_POSTFIX"
PLOTBAND_COMMAND="$PARA_PREFIX $BIN_DIR/plotband.x $PARA_POSTFIX"
BAND_COMMAND="$PARA_PREFIX $BIN_DIR/bands.x $PARA_POSTFIX"
$ECHO
$ECHO " running pw.x as: $PW_COMMAND"
$ECHO

#for diago in david cg ; do


diago=david
# self-consistent calculation
cat > si.scf.$diago.in << EOF
&control
calculation = 'scf'
restart_mode='from_scratch',
prefix='silicon',
tstress = .true.
tprnfor = .true.
pseudo_dir = '$PSEUDO_DIR/',
outdir='$TMP_DIR/'
/
&system
ibrav= 2, celldm(1) =10.20, nat= 2, ntyp= 1,
ecutwfc =28.0,
/
&electrons
diagonalization='$diago'
mixing_mode = 'plain'
mixing_beta = 0.7
conv_thr = 1.0d-8
/

ATOMIC_SPECIES
Si 28.086 Si.pz-vbc.UPF
ATOMIC_POSITIONS
Si 0.00 0.00 0.00
Si 0.25 0.25 0.25
K_POINTS
64
0 0 0 1
0.25 0 0 1
0.5 0 0 1
0.25 0.25 0 1
0.5 0.25 0 1
-0.25 0.25 0 1
0.5 0.5 0 1
-0.25 0.5 0.25 1
0 0.25 0 1
0 0 0.25 1
-0.25 -0.25 -0.25 1
-0.25 0 0 1
0 -0.25 0 1
0 0 -0.25 1
0.25 0.25 0.25 1
0 0.5 0 1
0 0 0.5 1
-0.5 -0.5 -0.5 1
0 0.25 0.25 1
0.25 0 0.25 1
-0.25 -0.25 0 1
-0.25 0 -0.25 1
0 -0.25 -0.25 1
0 0.5 0.25 1
0.25 0 0.5 1
-0.25 -0.25 0.25 1
-0.5 -0.25 -0.5 1
0.25 0.5 0 1
0.25 -0.25 -0.25 1
-0.5 -0.5 -0.25 1
0 0.25 0.5 1
-0.25 0.25 -0.25 1
-0.25 -0.5 -0.5 1
0.5 0 0.25 1
-0.5 -0.25 0 1
0 -0.5 -0.25 1
-0.25 0 -0.5 1
0.25 0.25 -0.25 1
0.5 0.25 0.5 1
-0.25 -0.5 0 1
-0.25 0.25 0.25 1
0.5 0.5 0.25 1
0 -0.25 -0.5 1
0.25 -0.25 0.25 1
0.25 0.5 0.5 1
-0.5 0 -0.25 1
0 -0.25 0.25 1
0.25 0 -0.25 1
-0.25 -0.25 -0.5 1
0.25 0.5 0.25 1
0.25 -0.25 0 1
-0.5 -0.25 -0.25 1
0.25 0.25 0.5 1
0 0.25 -0.25 1
-0.25 -0.5 -0.25 1
0.5 0.25 0.25 1
-0.25 0 0.25 1
0 0.5 0.5 1
0.5 0 0.5 1
0.25 -0.25 0.5 1
0.5 0.25 -0.25 1
-0.5 -0.25 -0.75 1
0.25 -0.5 -0.25 1
-0.25 0.25 -0.5 1

EOF
$ECHO " running the scf calculation for Si\c"
$PW_COMMAND < si.scf.$diago.in > si.scf.$diago.out
check_failure $?
$ECHO " done"

# band structure calculation along delta, sigma and lambda lines


cat > si.band.$diago.in << EOF
&control
calculation='bands'
pseudo_dir = '$PSEUDO_DIR/',
outdir='$TMP_DIR/',
prefix='silicon',
tprnfor=.true.
/
&system
ibrav= 2, celldm(1) =10.20, nat= 2, ntyp= 1,
ecutwfc =28.0, nbnd = 8,
/
&electrons
diagonalization='$diago'
/
ATOMIC_SPECIES
Si 28.086 Si.pz-vbc.UPF
ATOMIC_POSITIONS
Si 0.00 0.00 0.00
Si 0.25 0.25 0.25
K_POINTS
28
0.5 0.5 0.5 1
0.4 0.4 0.4 1
0.3 0.3 0.3 1
0.2 0.2 0.2 1
0.1 0.1 0.1 1
0 0 0 1
0 0 0 1
0 0.1 0.1 1
0 0.2 0.2 1
0 0.3 0.3 1
0 0.4 0.4 1
0 0.5 0.5 1
0 0.6 0.6 1
0 0.7 0.7 1
0 0.8 0.8 1
0 0.9 0.9 1
0 1 1 1
0 0 1 1
0 0 0.9 1
0 0 0.8 1
0 0 0.7 1
0 0 0.6 1
0 0 0.5 1
0 0 0.4 1
0 0 0.3 1
0 0 0.2 1
0 0 0.1 1
0 0 0 1

EOF
$ECHO " running the band-structure calculation for Si...\c"
$PW_COMMAND < si.band.$diago.in > si.band.$diago.out

check_failure $?
$ECHO " done"

# band structure calculation along delta, sigma and lambda lines


cat > si.band.$diago.in << EOF
&control
calculation='bands'
pseudo_dir = '$PSEUDO_DIR/',
outdir='$TMP_DIR/',
prefix='silicon',
tprnfor=.true.
/
&system
ibrav= 2, celldm(1) =10.20, nat= 2, ntyp= 1,
ecutwfc =28.0, nbnd = 8,
/
&electrons
diagonalization='$diago'
/
&bands
prefix='silicon',
outdir='$TMP_DIR/',
filband = 'sibands.dat',
lsym=.true.,
/
ATOMIC_SPECIES
Si 28.086 Si.pz-vbc.UPF
ATOMIC_POSITIONS
Si 0.00 0.00 0.00
Si 0.25 0.25 0.25
K_POINTS
28
0.5 0.5 0.5 1
0.4 0.4 0.4 1
0.3 0.3 0.3 1
0.2 0.2 0.2 1
0.1 0.1 0.1 1
0 0 0 1
0 0 0 1
0 0.1 0.1 1
0 0.2 0.2 1
0 0.3 0.3 1
0 0.4 0.4 1
0 0.5 0.5 1
0 0.6 0.6 1
0 0.7 0.7 1
0 0.8 0.8 1
0 0.9 0.9 1
0 1 1 1
0 0 1 1
0 0 0.9 1
0 0 0.8 1
0 0 0.7 1
0 0 0.6 1
0 0 0.5 1
0 0 0.4 1
0 0 0.3 1
0 0 0.2 1
0 0 0.1 1
0 0 0 1

EOF
$ECHO " running the band-structure calculation for Si...\c"
$BAND_COMMAND < si.band.$diago.in > si.band.$diago.out

check_failure $?
$ECHO " done"

$ECHO
$ECHO "$EXAMPLE_DIR : done"

#!/bin/sh
#cd Software/qe-6.2/qe-6.2-examples/PW/examples/example01
./run_Band_Silicon
cd results/
/home/amorsr/Software/qe-6.2/bin/plotband.x
sibands.dat
si.bands.xmgr
si.bands.ps
cd results/
ghostview si.bands.ps

Вам также может понравиться