ZnO (Quantum ESPRESSO): Difference between revisions

From HPC Wiki
Jump to:navigation Jump to:search
(Removed WIP message.)
 
(36 intermediate revisions by the same user not shown)
Line 1: Line 1:
This example shows how to create Infrared and Raman spectra of solid ZnO-Wurtzite, which are computed using the following 3 steps:
This example shows how to create Infrared and Raman spectra of solid ZnO-Wurtzite, which are computed using the following three steps:


* Perform Self Consistent Field (scf) calculation with {{C|pw.x}}
* Perform Self Consistent Field (SCF) calculation with {{C|pw.x}}
* Calculate the vibrational frequencies (normal modes/phonons) with {{C|ph.x}}
* Calculate the vibrational frequencies (normal modes/phonons) with {{C|ph.x}}
* Extract the phonon information from {{C|ph.x}} output using {{C|dynmat.x}}
* Extract the phonon information from {{C|ph.x}} output using {{C|dynmat.x}}
* Parse the {{C|dynmat.x}} output section that contains the spectra data and plot it with gnuplot


= Initial Setup =
We need to complete the [[Initial Setup|initial setup tutorial]] first, to be sure that the [//gcc.gnu.org GNU Compiler Collection], and [//www.open-mpi.org Open MPI] will be used for our simulations.


{{HPC-InitialSetupMsg}}
{{HPC-InitialSetupMsg}}
Line 15: Line 17:
{{Cmd|cd}}
{{Cmd|cd}}


Now, make an {{Path|example}} directory, and copy the ellipse example directory into it.  
Now, make an {{Path|example}} directory, and copy the {{Path|ZnO}} example directory into it.  


{{Cmd|mkdir examples|cp -r {{HPC-Examples-Dir|flory}}/qe/ZnO examples/|cd examples/ZnO|ls|output=<pre>O.pw-mt_fhi.UPF  README  Zn.pw-mt_fhi.UPF  zno.dm.qei  zno.ph.qei  zno.scf.qei</pre>}}
{{Cmd|mkdir examples|cp -r {{HPC-Examples-Dir|flory}}/qe/ZnO examples/|cd examples/ZnO|ls|output=<pre>O.pw-mt_fhi.UPF  README  Zn.pw-mt_fhi.UPF  zno.dm.qei  zno.ph.qei  zno.scf.qei</pre>}}


We also need a script to submit the job to the cluster. Lets start with the quantum espresso sample script in {{Path|{{HPC-Samples-Dir|flory}}}} by copying it to our new ellipse example directory.
We also need a script to submit the job to the cluster. Lets start with the Quantum ESPRESSO sample script in {{Path|{{HPC-Samples-Dir|flory}}}} by copying it to our new ZnO example directory.


{{Cmd|cp {{HPC-Samples-Dir|flory}}/torque-qe.sh .|ls|output=<pre>
{{Cmd|cp {{HPC-Samples-Dir|flory}}/torque-qe.sh .|ls|output=<pre>
Line 28: Line 30:
The {{Path|torque-qe.sh}} script should look something like this:
The {{Path|torque-qe.sh}} script should look something like this:


{{HPC-torque-qe|lang=bash|title=(original)}}
{{HPC-torque-qe|lang=bash}}
 
The submission script we just copied has default settings that have to be modified for this simulation. Lucky, most of the defaults work for the ZnO simulation (1 node, 16 processes per node, etc.) and all we have to change is the name of the job, the Quantum ESPRESSO module, and the name of the input file.
 
= Running Quantum ESPRESSO =
 
To calculate the Infrared and Raman spectra we will use three modules of Quantum ESPRESSO: {{C|pw.x}}, to perform a self consistent field calculation; {{C|ph.x}}, to calculate the vibrational frequencies; and {{C|dynmat.x}}, to extract the phonon information.
 
== Input Files ==
 
Each module of Quantum ESPRESSO requires their own input file, along with pseudopotentials that describe each atom.
 
=== Modules ===
 
The input files, one for each module, in this example are:


The submission script we just copied has default settings that have to be modified for this simulation. Lucky, most of the defaults work for the ZnO simulation (1 node, 16 processes per node, etc.) and all we have to change is the name of the job, the Quantum Espresso module, and the name of the input file.
* {{C|zno.scf.qei}}
* {{C|zno.ph.qei}}
* {{C|zno.dm.qei}}


= Running Quantum Espresso =
All three have a {{C|qei}} filename extension (which stands for ''Quantum ESPRESSO Inputfile''), and is required for the queue submission script to properly identify the input file. There is no requirement for the rest of the filename, however it is traditional to start it with the name of the material being studied (ZnO, in this example) followed by an abbreviation for the Quantum ESPRESSO module used: scf, or pw for {{C|pw.x}}; ph for {{C|ph.x}}; and dm for {{C|dynmat.x}}.


== Perform Self Consistent Field (scf) calculation ==
=== Pseudopotentials ===


Quantum Espresso module to {{C|pw.c}}
Quantum ESPRESSO requires a pseudopotential for each atom in the system to be studied, for this example (ZnO) they are:


=== Modify Queue Submission Script ===
* {{C|O.pw-mt_fhi.UPF}}
* {{C|Zn.pw-mt_fhi.UPF}}


Changing the job name to {{C|ZnO-pw}}, the Quantum Espresso module to {{C|pw.x}}, and the input file to {{C|zno.scf}} results in a submission script that looks like this:
These files were downloaded from the Quantum ESPRESSO [http://www.quantum-espresso.org/pseudopotentials  pseudopotentials repository].


{{FileBox|lang=bash|filename=torque-qe.sh|title=(edited for running {{C|pw.x}})|1=
== Self Consistent Field (SCF) Calculation ==
#PBS -l walltime=10:00:00,nodes=1:ppn=16
##PBS -M EmailAddress
##PBS -m bae
#PBS -q default
#PBS -N ZnO-pw
#PBS -o myoutput.txt
#PBS -j oe


QE_CMD=pw.x
For SCF calculations we need to use the {{C|pw.x}} Quantum ESPRESSO module.


. $(which qe-config)
=== Modify Queue Submission Script ===


# The input file must have a '.qei' extension (e.g., mysimulation.qei).
Changing the job name to {{C|ZnO-pw}}, the Quantum ESPRESSO module to {{C|pw.x}}, and the input file to {{C|zno.scf}} results in a submission script that looks like this:
INPUTFILE=zno.scf


doQE
{{HPC-torque-qe|lang=bash|title=(edited for running {{C|pw.x}})|jobname=ZnO-pw|module=pw.x|inputfile=zno.scf}}
}}


=== Submit Job ===
=== Submit Job ===
Line 65: Line 75:
The job is now ready to be sent to the cluster.  
The job is now ready to be sent to the cluster.  


{{Cmd|qsub torque-lmp.sh|qstat|output=<pre>
{{Cmd|qsub torque-qe.sh|qstat|output=<pre>
Job ID                    Name            User            Time Use S Queue
Job ID                    Name            User            Time Use S Queue
------------------------- ---------------- --------------- -------- - -----
------------------------- ---------------- --------------- -------- - -----
14222.flory              ZnO-pw          user            00:00:35 R default   
14589.flory              ZnO-pw          user            00:00:35 R default   
</pre>}}
</pre>}}


Line 77: Line 87:
When the job completes you should find the following files:
When the job completes you should find the following files:


{{Cmd|ls -lh|output=<pre>
{{Cmd|ls -l|output=<pre>
total 400K
total 392
-rw-r--r-- 1 user user 162K Jan  3 14:36 O.pw-mt_fhi.UPF
-rw-r--r-- 1 user user 165332 Jan  4 11:15 O.pw-mt_fhi.UPF
-rw-r--r-- 1 user user 2.1K Jan  3 14:36 README
-rw-r--r-- 1 user user   2113 Jan  4 11:15 README
-rw-r--r-- 1 user user 180K Jan  3 14:36 Zn.pw-mt_fhi.UPF
-rw-r--r-- 1 user user 183650 Jan  4 11:15 Zn.pw-mt_fhi.UPF
-rw------- 1 user user 14K Jan  3 14:37 myoutput.txt
-rw------- 1 user user   670 Jan  4 11:16 myoutput.txt
drwxrwxr-x 3 user user 4.0K Jan  3 14:37 tmp
drwxrwxr-x 3 user user   4096 Jan  4 11:16 tmp
-rwxr-xr-x 1 user user 271 Jan  3 14:36 torque-qe.sh
-rwxr-xr-x 1 user user   271 Jan  4 11:16 torque-qe.sh
-rw-r--r-- 1 user user 117 Jan  3 14:36 zno.dm.qei
-rw-r--r-- 1 user user   117 Jan  4 11:15 zno.dm.qei
-rw-r--r-- 1 user user 255 Jan  3 14:36 zno.ph.qei
-rw-r--r-- 1 user user   255 Jan  4 11:15 zno.ph.qei
-rw-rw-r-- 1 user user  13K Jan  3 14:37 zno.scf.out
-rw-rw-r-- 1 user user  12941 Jan  4 11:16 zno.scf.out
-rw-r--r-- 1 user user 720 Jan  3 14:36 zno.scf.qei
-rw-r--r-- 1 user user   720 Jan  4 11:15 zno.scf.qei
</pre>}}
</pre>}}


== Calculate the vibrational frequencies (normal modes/phonons) ==
The three new items created are described here:
 
; myoutput.txt
* A summary of the simulation.
* If any problem occurs trying to run the simulation, this should be the first place to look for errors.
; tmp
* A directory containing intermediate calculations which are utilized by other Quantum ESPRESSO modules.
; zno.scf.out
* The results of the SCF calculation.
* Should be the second place to look for errors on unsuccessful runs.
 
For a successful run, {{Path|myoutput.txt}} should look similar to this:
 
{{FileBox|filename=myoutput.txt|1=
-------------- qe-config (BEGIN) --------------


=== Modify Queue Submission Script ===
Start time      : Wed Jan  4 11:16:33 EST 2017


{{FileBox|lang=bash|filename=torque-qe.sh|title=(edited for running {{C|ph.x}})|1=
PBS_JOBID        : 14589.flory.usm.edu
#PBS -l walltime=10:00:00,nodes=1:ppn=16
Working Directory: /home/user/examples/ZnO
##PBS -M EmailAddress
MPI command      : /home/bgo/shared/gnu-openmpi/bin/mpirun
##PBS -m bae
QE module        : /home/bgo/shared/gnu-openmpi/bin/pw.x
#PBS -q default
QE script        : /home/user/examples/ZnO/zno.scf.qei
#PBS -N ZnO-ph
Processes        : 16
#PBS -o myoutput.txt
Controlling Node : n008.cluster.com
#PBS -j oe
Nodes            : n008.cluster.com (16)


QE_CMD=ph.x
Command: mpirun  pw.x -inp "zno.scf.qei" > "zno.scf.out"


. $(which qe-config)
Stop  time      : Wed Jan  4 11:16:38 EST 2017


# The input file must have a '.qei' extension (e.g., mysimulation.qei).
Elapsed time    : 0 days 00h 00m 05s
INPUTFILE=zno.ph


doQE
-------------- qe-config ( END ) --------------
}}
}}
== Calculate the vibrational frequencies (normal modes/phonons) ==
Now we use the {{C|ph.x}} module of Quantum ESPRESSO to calculate the vibrational frequencies of ZnO.
=== Modify Queue Submission Script ===
Changing the job name to {{C|ZnO-ph}}, the Quantum ESPRESSO module to {{C|ph.x}}, and the input file to {{C|zno.ph}} results in a submission script that looks like this:
{{HPC-torque-qe|lang=bash|title=(edited for running {{C|ph.x}})|jobname=ZnO-ph|module=ph.x|inputfile=zno.ph}}


=== Submit Job ===
=== Submit Job ===


The job is now ready to be sent to the cluster.
Send the job to the cluster:


{{Cmd|qsub torque-lmp.sh|qstat|output=<pre>
{{Cmd|qsub torque-qe.sh|qstat|output=<pre>
Job ID                    Name            User            Time Use S Queue
Job ID                    Name            User            Time Use S Queue
------------------------- ---------------- --------------- -------- - -----
------------------------- ---------------- --------------- -------- - -----
14222.flory              ZnO-ph          user            00:00:35 R default   
14590.flory              ZnO-ph          user            00:00:35 R default   
</pre>}}
</pre>}}


Line 131: Line 164:


{{Cmd|ls -lh|output=<pre>
{{Cmd|ls -lh|output=<pre>
-rw-r--r-- 1 user user 162K Jan  3 14:37 O.pw-mt_fhi.UPF
total 7.7M
-rw-r--r-- 1 user user 2.1K Jan  3 14:37 README
-rw-r--r-- 1 user user 162K Jan  4 11:20 O.pw-mt_fhi.UPF
-rw-r--r-- 1 user user 180K Jan  3 14:37 Zn.pw-mt_fhi.UPF
-rw-r--r-- 1 user user 2.1K Jan  4 11:20 README
-rw-rw-r-- 1 user user  13K Jan  3 14:43 dmat.zno
-rw-r--r-- 1 user user 180K Jan  4 11:20 Zn.pw-mt_fhi.UPF
-rw-rw-r-- 1 user user 2.4M Jan  3 14:38 drho_e1
-rw-rw-r-- 1 user user  13K Jan  4 11:26 dmat.zno
-rw-rw-r-- 1 user user 2.4M Jan  3 14:38 drho_e2
-rw-rw-r-- 1 user user 2.4M Jan  4 11:21 drho_e1
-rw-rw-r-- 1 user user 2.4M Jan  3 14:38 drho_e3
-rw-rw-r-- 1 user user 2.4M Jan  4 11:21 drho_e2
-rw------- 1 user user  33K Jan  3 14:43 myoutput.txt
-rw-rw-r-- 1 user user 2.4M Jan  4 11:21 drho_e3
drwxrwxr-x 4 user user 4.0K Jan  3 14:38 tmp
-rw------- 1 user user  667 Jan  4 11:26 myoutput.txt
-rwxr-xr-x 1 user user  270 Jan  3 14:37 torque-qe.sh
drwxrwxr-x 4 user user 4.0K Jan  4 11:21 tmp
-rw-r--r-- 1 user user  117 Jan  3 14:37 zno.dm.qei
-rwxr-xr-x 1 user user  270 Jan  4 11:21 torque-qe.sh
-rw-rw-r-- 1 user user  32K Jan  3 14:43 zno.ph.out
-rw-r--r-- 1 user user  117 Jan  4 11:20 zno.dm.qei
-rw-r--r-- 1 user user  255 Jan  3 14:37 zno.ph.qei
-rw-rw-r-- 1 user user  32K Jan  4 11:26 zno.ph.out
-rw-rw-r-- 1 user user  13K Jan  3 14:37 zno.scf.out
-rw-r--r-- 1 user user  255 Jan  4 11:20 zno.ph.qei
-rw-r--r-- 1 user user  720 Jan  3 14:37 zno.scf.qei
-rw-rw-r-- 1 user user  13K Jan  4 11:20 zno.scf.out
-rw-r--r-- 1 user user  720 Jan  4 11:20 zno.scf.qei
</pre>}}
</pre>}}


== phonon information ==
The new items created are described here:


=== Modify Queue Submission Script ===
; drho_e1, drho_e2, and drho_e3
* Dynamical matrix and Charge density responses.
* For more details on these files, see the manual [http://www.quantum-espresso.org/wp-content/uploads/Doc/INPUT_PH.html here].
; myoutput.txt
* This file was created from the previous run, but has been overwritten by this run.
* A summary of the simulation.
* If any problem occurs trying to run the simulation, this should be the first place to look for errors.
; zno.ph.out
* The results of the phonon calculation.
* Should be the second place to look for errors on unsuccessful runs.


{{FileBox|lang=bash|filename=torque-qe.sh|title=(edited for running {{C|dynmat.x}})|1=
== Phonon Information ==
#PBS -l walltime=10:00:00,nodes=1:ppn=16
##PBS -M EmailAddress
##PBS -m bae
#PBS -q default
#PBS -N ZnO-dynmat
#PBS -o myoutput.txt
#PBS -j oe


QE_CMD=dynmat.x
Now use the {{C|dynmat.x}} Quantum ESPRESSO module to extract the Infrared and Raman spectra data from the results of the previous two jobs.


. $(which qe-config)
=== Modify Queue Submission Script ===


# The input file must have a '.qei' extension (e.g., mysimulation.qei).
Changing the job name to {{C|ZnO-dynmat}}, the Quantum ESPRESSO module to {{C|dynmat.x}}, and the input file to {{C|zno.dm}} results in a submission script that looks like this:
INPUTFILE=zno.dm


doQE
{{HPC-torque-qe|lang=bash|title=(edited for running {{C|dynmat.x}})|jobname=ZnO-dynmat|module=dynmat.x|inputfile=zno.dm}}
}}


=== Submit Job ===
=== Submit Job ===
Line 175: Line 209:
The job is now ready to be sent to the cluster.  
The job is now ready to be sent to the cluster.  


{{Cmd|qsub torque-lmp.sh|qstat|output=<pre>
{{Cmd|qsub torque-qe.sh|qstat|output=<pre>
Job ID                    Name            User            Time Use S Queue
Job ID                    Name            User            Time Use S Queue
------------------------- ---------------- --------------- -------- - -----
------------------------- ---------------- --------------- -------- - -----
14222.flory              ZnO-ph          user            00:00:35 R default   
14592.flory              ZnO-dynmat      user            00:00:35 R default   
</pre>}}
</pre>}}


Line 189: Line 223:
{{Cmd|ls -lh|output=<pre>
{{Cmd|ls -lh|output=<pre>
total 7.7M
total 7.7M
-rw-r--r-- 1 user user 162K Jan  3 14:46 O.pw-mt_fhi.UPF
-rw-r--r-- 1 user user 162K Jan  4 11:27 O.pw-mt_fhi.UPF
-rw-r--r-- 1 user user 2.1K Jan  3 14:46 README
-rw-r--r-- 1 user user 2.1K Jan  4 11:27 README
-rw-r--r-- 1 user user 180K Jan  3 14:46 Zn.pw-mt_fhi.UPF
-rw-r--r-- 1 user user 180K Jan  4 11:27 Zn.pw-mt_fhi.UPF
-rw-rw-r-- 1 user user  13K Jan  3 14:46 dmat.zno
-rw-rw-r-- 1 user user  13K Jan  4 11:27 dmat.zno
-rw-rw-r-- 1 user user 2.4M Jan  3 14:46 drho_e1
-rw-rw-r-- 1 user user 2.4M Jan  4 11:27 drho_e1
-rw-rw-r-- 1 user user 2.4M Jan  3 14:46 drho_e2
-rw-rw-r-- 1 user user 2.4M Jan  4 11:27 drho_e2
-rw-rw-r-- 1 user user 2.4M Jan  3 14:46 drho_e3
-rw-rw-r-- 1 user user 2.4M Jan  4 11:27 drho_e3
-rw------- 1 user user 3.0K Jan  3 14:47 myoutput.txt
-rw------- 1 user user 675 Jan  4 11:28 myoutput.txt
drwxrwxr-x 4 user user 4.0K Jan  3 14:46 tmp
drwxrwxr-x 4 user user 4.0K Jan  4 11:27 tmp
-rwxr-xr-x 1 user user  278 Jan  3 14:47 torque-qe.sh
-rwxr-xr-x 1 user user  278 Jan  4 11:43 torque-qe.sh
-rwxr-xr-x 1 user user  274 Jan  3 14:46 torque-qe.sh~
-rw-rw-r-- 1 user user 2.4K Jan  4 11:28 zno.dm.out
-rw-rw-r-- 1 user user 2.4K Jan  3 14:47 zno.dm.out
-rw-r--r-- 1 user user  117 Jan  4 11:27 zno.dm.qei
-rw-r--r-- 1 user user  117 Jan  3 14:46 zno.dm.qei
-rw-rw-r-- 1 user user  32K Jan  4 11:27 zno.ph.out
-rw-rw-r-- 1 user user  32K Jan  3 14:46 zno.ph.out
-rw-r--r-- 1 user user  255 Jan  4 11:27 zno.ph.qei
-rw-r--r-- 1 user user  255 Jan  3 14:46 zno.ph.qei
-rw-rw-r-- 1 user user  13K Jan  4 11:27 zno.scf.out
-rw-rw-r-- 1 user user  13K Jan  3 14:46 zno.scf.out
-rw-r--r-- 1 user user  720 Jan  4 11:27 zno.scf.qei
-rw-r--r-- 1 user user  720 Jan  3 14:46 zno.scf.qei
-rw-rw-r-- 1 user user 3.7K Jan  4 11:28 zno_raman.axsf
-rw-rw-r-- 1 user user 3.7K Jan  3 14:47 zno_raman.axsf
-rw-rw-r-- 1 user user 2.1K Jan  4 11:28 zno_raman.mold
-rw-rw-r-- 1 user user 2.1K Jan  3 14:47 zno_raman.mold
-rw-rw-r-- 1 user user 4.6K Jan  4 11:28 zno_raman.out
-rw-rw-r-- 1 user user 4.6K Jan  3 14:47 zno_raman.out
</pre>}}
</pre>}}
The new items created are described here:
; zno_raman.axsf, zno_raman.mold, zno_raman.out
* Phonon frequencies and normalized phonon displacements.
* For more details on these files, see the manual [http://www.quantum-espresso.org/wp-content/uploads/Doc/INPUT_DYNMAT.html here].
; myoutput.txt
* This file was created from a previous run, but has been overwritten by this run.
* A summary of the simulation.
* If any problem occurs trying to run the simulation, this should be the first place to look for errors.
; zno.dm.out
* The results of the phonon calculation.
* Should be the second place to look for errors on unsuccessful runs.


== Spectra Data ==
== Spectra Data ==


{{FileBox|filename=zno.dm.out|title=(Partial file: Section containing table)|1=
{{FileBox|filename=zno.dm.out|title=(Partial file: section containing table)|1=
     IR activities are in (D/A)^2/amu units
     IR activities are in (D/A)^2/amu units
     Raman activities are in A^4/amu units
     Raman activities are in A^4/amu units
Line 232: Line 278:
   12    532.61  15.9672    6.1669      385.1588    0.7500
   12    532.61  15.9672    6.1669      385.1588    0.7500
}}
}}
[[Category:Quantum ESPRESSO Examples]]

Latest revision as of 17:52, 18 April 2017

This example shows how to create Infrared and Raman spectra of solid ZnO-Wurtzite, which are computed using the following three steps:

  • Perform Self Consistent Field (SCF) calculation with pw.x
  • Calculate the vibrational frequencies (normal modes/phonons) with ph.x
  • Extract the phonon information from ph.x output using dynmat.x

Initial Setup

We need to complete the initial setup tutorial first, to be sure that the GNU Compiler Collection, and Open MPI will be used for our simulations.

Important
The initial setup must be completed before continuing.

Prepare Example Directory

First, make sure we are at the root of our home directory

user $cd

Now, make an example directory, and copy the ZnO example directory into it.

user $mkdir examples
user $cp -r /home/bgo/shared/examples/qe/ZnO examples/
user $cd examples/ZnO
user $ls
O.pw-mt_fhi.UPF  README  Zn.pw-mt_fhi.UPF  zno.dm.qei  zno.ph.qei  zno.scf.qei

We also need a script to submit the job to the cluster. Lets start with the Quantum ESPRESSO sample script in /home/bgo/shared/samples by copying it to our new ZnO example directory.

user $cp /home/bgo/shared/samples/torque-qe.sh .
user $ls
O.pw-mt_fhi.UPF  Zn.pw-mt_fhi.UPF  zno.dm.qei  zno.scf.qei
README           torque-qe.sh      zno.ph.qei

The torque-qe.sh script should look something like this:

FILE torque-qe.sh
#PBS -l walltime=10:00:00,nodes=1:ppn=16
##PBS -M EmailAddress
##PBS -m bae
#PBS -q default
#PBS -N Jobname
#PBS -o myoutput.txt
#PBS -j oe

QE_MODULE=pw.x

. $(which qe-config)

# The input file must have a '.qei' extension (e.g., mysimulation.qei).
INPUTFILE=mysimulation

doQE


The submission script we just copied has default settings that have to be modified for this simulation. Lucky, most of the defaults work for the ZnO simulation (1 node, 16 processes per node, etc.) and all we have to change is the name of the job, the Quantum ESPRESSO module, and the name of the input file.

Running Quantum ESPRESSO

To calculate the Infrared and Raman spectra we will use three modules of Quantum ESPRESSO: pw.x, to perform a self consistent field calculation; ph.x, to calculate the vibrational frequencies; and dynmat.x, to extract the phonon information.

Input Files

Each module of Quantum ESPRESSO requires their own input file, along with pseudopotentials that describe each atom.

Modules

The input files, one for each module, in this example are:

  • zno.scf.qei
  • zno.ph.qei
  • zno.dm.qei

All three have a qei filename extension (which stands for Quantum ESPRESSO Inputfile), and is required for the queue submission script to properly identify the input file. There is no requirement for the rest of the filename, however it is traditional to start it with the name of the material being studied (ZnO, in this example) followed by an abbreviation for the Quantum ESPRESSO module used: scf, or pw for pw.x; ph for ph.x; and dm for dynmat.x.

Pseudopotentials

Quantum ESPRESSO requires a pseudopotential for each atom in the system to be studied, for this example (ZnO) they are:

  • O.pw-mt_fhi.UPF
  • Zn.pw-mt_fhi.UPF

These files were downloaded from the Quantum ESPRESSO pseudopotentials repository.

Self Consistent Field (SCF) Calculation

For SCF calculations we need to use the pw.x Quantum ESPRESSO module.

Modify Queue Submission Script

Changing the job name to ZnO-pw, the Quantum ESPRESSO module to pw.x, and the input file to zno.scf results in a submission script that looks like this:

FILE torque-qe.sh(edited for running pw.x)
#PBS -l walltime=10:00:00,nodes=1:ppn=16
##PBS -M EmailAddress
##PBS -m bae
#PBS -q default
#PBS -N ZnO-pw
#PBS -o myoutput.txt
#PBS -j oe

QE_MODULE=pw.x

. $(which qe-config)

# The input file must have a '.qei' extension (e.g., mysimulation.qei).
INPUTFILE=zno.scf

doQE


Submit Job

The job is now ready to be sent to the cluster.

user $qsub torque-qe.sh
user $qstat
Job ID                    Name             User            Time Use S Queue
------------------------- ---------------- --------------- -------- - -----
14589.flory               ZnO-pw           user            00:00:35 R default  

The job should take about 1 minute. Check the job status with qstat to see when it is finished; when the job is no longer listed it has finished.

Check Results

When the job completes you should find the following files:

user $ls -l
total 392
-rw-r--r-- 1 user user 165332 Jan  4 11:15 O.pw-mt_fhi.UPF
-rw-r--r-- 1 user user   2113 Jan  4 11:15 README
-rw-r--r-- 1 user user 183650 Jan  4 11:15 Zn.pw-mt_fhi.UPF
-rw------- 1 user user    670 Jan  4 11:16 myoutput.txt
drwxrwxr-x 3 user user   4096 Jan  4 11:16 tmp
-rwxr-xr-x 1 user user    271 Jan  4 11:16 torque-qe.sh
-rw-r--r-- 1 user user    117 Jan  4 11:15 zno.dm.qei
-rw-r--r-- 1 user user    255 Jan  4 11:15 zno.ph.qei
-rw-rw-r-- 1 user user  12941 Jan  4 11:16 zno.scf.out
-rw-r--r-- 1 user user    720 Jan  4 11:15 zno.scf.qei

The three new items created are described here:

myoutput.txt
  • A summary of the simulation.
  • If any problem occurs trying to run the simulation, this should be the first place to look for errors.
tmp
  • A directory containing intermediate calculations which are utilized by other Quantum ESPRESSO modules.
zno.scf.out
  • The results of the SCF calculation.
  • Should be the second place to look for errors on unsuccessful runs.

For a successful run, myoutput.txt should look similar to this:

FILE myoutput.txt
-------------- qe-config (BEGIN) --------------

Start time       : Wed Jan  4 11:16:33 EST 2017

PBS_JOBID        : 14589.flory.usm.edu
Working Directory: /home/user/examples/ZnO
MPI command      : /home/bgo/shared/gnu-openmpi/bin/mpirun
QE module        : /home/bgo/shared/gnu-openmpi/bin/pw.x
QE script        : /home/user/examples/ZnO/zno.scf.qei
Processes        : 16
Controlling Node : n008.cluster.com
Nodes            : n008.cluster.com (16)

Command: mpirun  pw.x -inp "zno.scf.qei" > "zno.scf.out"

Stop  time       : Wed Jan  4 11:16:38 EST 2017

Elapsed time     : 0 days 00h 00m 05s

-------------- qe-config ( END ) --------------

Calculate the vibrational frequencies (normal modes/phonons)

Now we use the ph.x module of Quantum ESPRESSO to calculate the vibrational frequencies of ZnO.

Modify Queue Submission Script

Changing the job name to ZnO-ph, the Quantum ESPRESSO module to ph.x, and the input file to zno.ph results in a submission script that looks like this:

FILE torque-qe.sh(edited for running ph.x)
#PBS -l walltime=10:00:00,nodes=1:ppn=16
##PBS -M EmailAddress
##PBS -m bae
#PBS -q default
#PBS -N ZnO-ph
#PBS -o myoutput.txt
#PBS -j oe

QE_MODULE=ph.x

. $(which qe-config)

# The input file must have a '.qei' extension (e.g., mysimulation.qei).
INPUTFILE=zno.ph

doQE


Submit Job

Send the job to the cluster:

user $qsub torque-qe.sh
user $qstat
Job ID                    Name             User            Time Use S Queue
------------------------- ---------------- --------------- -------- - -----
14590.flory               ZnO-ph           user            00:00:35 R default  

The job should take about 5 minutes. Check the job status with qstat to see when it is finished; when the job is no longer listed it has finished.

Check Results

When the job completes you should find the following files:

user $ls -lh
total 7.7M
-rw-r--r-- 1 user user 162K Jan  4 11:20 O.pw-mt_fhi.UPF
-rw-r--r-- 1 user user 2.1K Jan  4 11:20 README
-rw-r--r-- 1 user user 180K Jan  4 11:20 Zn.pw-mt_fhi.UPF
-rw-rw-r-- 1 user user  13K Jan  4 11:26 dmat.zno
-rw-rw-r-- 1 user user 2.4M Jan  4 11:21 drho_e1
-rw-rw-r-- 1 user user 2.4M Jan  4 11:21 drho_e2
-rw-rw-r-- 1 user user 2.4M Jan  4 11:21 drho_e3
-rw------- 1 user user  667 Jan  4 11:26 myoutput.txt
drwxrwxr-x 4 user user 4.0K Jan  4 11:21 tmp
-rwxr-xr-x 1 user user  270 Jan  4 11:21 torque-qe.sh
-rw-r--r-- 1 user user  117 Jan  4 11:20 zno.dm.qei
-rw-rw-r-- 1 user user  32K Jan  4 11:26 zno.ph.out
-rw-r--r-- 1 user user  255 Jan  4 11:20 zno.ph.qei
-rw-rw-r-- 1 user user  13K Jan  4 11:20 zno.scf.out
-rw-r--r-- 1 user user  720 Jan  4 11:20 zno.scf.qei

The new items created are described here:

drho_e1, drho_e2, and drho_e3
  • Dynamical matrix and Charge density responses.
  • For more details on these files, see the manual here.
myoutput.txt
  • This file was created from the previous run, but has been overwritten by this run.
  • A summary of the simulation.
  • If any problem occurs trying to run the simulation, this should be the first place to look for errors.
zno.ph.out
  • The results of the phonon calculation.
  • Should be the second place to look for errors on unsuccessful runs.

Phonon Information

Now use the dynmat.x Quantum ESPRESSO module to extract the Infrared and Raman spectra data from the results of the previous two jobs.

Modify Queue Submission Script

Changing the job name to ZnO-dynmat, the Quantum ESPRESSO module to dynmat.x, and the input file to zno.dm results in a submission script that looks like this:

FILE torque-qe.sh(edited for running dynmat.x)
#PBS -l walltime=10:00:00,nodes=1:ppn=16
##PBS -M EmailAddress
##PBS -m bae
#PBS -q default
#PBS -N ZnO-dynmat
#PBS -o myoutput.txt
#PBS -j oe

QE_MODULE=dynmat.x

. $(which qe-config)

# The input file must have a '.qei' extension (e.g., mysimulation.qei).
INPUTFILE=zno.dm

doQE


Submit Job

The job is now ready to be sent to the cluster.

user $qsub torque-qe.sh
user $qstat
Job ID                    Name             User            Time Use S Queue
------------------------- ---------------- --------------- -------- - -----
14592.flory               ZnO-dynmat       user            00:00:35 R default  

The job should take less than a minute. Check the job status with qstat to see when it is finished; when the job is no longer listed it has finished.

Check Results

When the job completes you should find the following files:

user $ls -lh
total 7.7M
-rw-r--r-- 1 user user 162K Jan  4 11:27 O.pw-mt_fhi.UPF
-rw-r--r-- 1 user user 2.1K Jan  4 11:27 README
-rw-r--r-- 1 user user 180K Jan  4 11:27 Zn.pw-mt_fhi.UPF
-rw-rw-r-- 1 user user  13K Jan  4 11:27 dmat.zno
-rw-rw-r-- 1 user user 2.4M Jan  4 11:27 drho_e1
-rw-rw-r-- 1 user user 2.4M Jan  4 11:27 drho_e2
-rw-rw-r-- 1 user user 2.4M Jan  4 11:27 drho_e3
-rw------- 1 user user  675 Jan  4 11:28 myoutput.txt
drwxrwxr-x 4 user user 4.0K Jan  4 11:27 tmp
-rwxr-xr-x 1 user user  278 Jan  4 11:43 torque-qe.sh
-rw-rw-r-- 1 user user 2.4K Jan  4 11:28 zno.dm.out
-rw-r--r-- 1 user user  117 Jan  4 11:27 zno.dm.qei
-rw-rw-r-- 1 user user  32K Jan  4 11:27 zno.ph.out
-rw-r--r-- 1 user user  255 Jan  4 11:27 zno.ph.qei
-rw-rw-r-- 1 user user  13K Jan  4 11:27 zno.scf.out
-rw-r--r-- 1 user user  720 Jan  4 11:27 zno.scf.qei
-rw-rw-r-- 1 user user 3.7K Jan  4 11:28 zno_raman.axsf
-rw-rw-r-- 1 user user 2.1K Jan  4 11:28 zno_raman.mold
-rw-rw-r-- 1 user user 4.6K Jan  4 11:28 zno_raman.out

The new items created are described here:

zno_raman.axsf, zno_raman.mold, zno_raman.out
  • Phonon frequencies and normalized phonon displacements.
  • For more details on these files, see the manual here.
myoutput.txt
  • This file was created from a previous run, but has been overwritten by this run.
  • A summary of the simulation.
  • If any problem occurs trying to run the simulation, this should be the first place to look for errors.
zno.dm.out
  • The results of the phonon calculation.
  • Should be the second place to look for errors on unsuccessful runs.

Spectra Data

FILE zno.dm.out(Partial file: section containing table)
IR activities are in (D/A)^2/amu units
     Raman activities are in A^4/amu units
     multiply Raman by 0.000650 for Clausius-Mossotti correction

# mode   [cm-1]    [THz]      IR          Raman   depol.fact
    1     -0.00   -0.0000    0.0000      5406.9725    0.7500
    2     -0.00   -0.0000    0.0000      5757.6500    0.7500
    3     -0.00   -0.0000    0.0000      5688.7322    0.7499
    4     -0.00   -0.0000    0.0000       171.9037    0.4691
    5      0.00    0.0000    0.0000       554.2156    0.5434
    6      0.00    0.0000    0.0000      2358.3724    0.7367
    7    105.98    3.1773    0.1227      1281.9877    0.7500
    8    124.94    3.7456    0.0000      4603.4623    0.7500
    9    287.20    8.6100   13.4004      3428.9212    0.7500
   10    391.76   11.7446   71.1599     37311.9784    0.1040
   11    407.14   12.2057  101.4467      9438.8013    0.7500
   12    532.61   15.9672    6.1669       385.1588    0.7500