Quantum Espresso and USPEX

1,330 views
Skip to first unread message

nmoro

unread,
Mar 14, 2011, 7:19:47 AM3/14/11
to USPEX
Dear UPEX users,

I am a new user of USPEX. I want to run it together with quantum
espresso. I need to create the Quantum espresso files
QEspresso_options_1, QEspresso_options_2 ..., I really need help in
setting up these. can some one assist me.

Here is a sample Silicon_vacancy input for espresso that I want to use
-----------------------------------------------------
&control
calculation='relax',
restart_mode='from_scratch',
prefix='si'
tprnfor = .true.
pseudo_dir = '/opt/espresso/pseudo/pseudo/',
outdir='./pwfiles',
disk_io='high'
/
&system
ibrav = 1, celldm(1) =10.21, nat=7, ntyp= 1,
ecutwfc = 18.0
/
&electrons
mixing_beta = 0.7
conv_thr = 1.0d-8
/
&ions
ion_dynamics='bfgs'
/
ATOMIC_SPECIES
Si 28.086 Si.vbc.UPF
ATOMIC_POSITIONS
Si 0.000 0.000 0.000
Si 0.500 0.500 0.000
Si 0.500 0.000 0.500
Si 0.000 0.500 0.500
Si 0.750 0.750 0.250
Si 0.750 0.250 0.750
Si 0.250 0.750 0.750
K_POINTS {automatic}
4 4 4 0 0 0
-----------------------------------------------------------------
also am running USPEX with octave how do I submit the job I am
working on my local machine which has 8 processors.

Andriy Lyakhov

unread,
Mar 14, 2011, 3:39:17 PM3/14/11
to USPEX
Hello,

to prepare the QE input files for USPEX from your sample you will have
to do two things:

1. Change ibrav to 0 and remove celldm. USPEX will fill the field
CELL_PARAMETERS by itself. Also add parameter trust_radius_max to
&ions.

2. I would recommend at least four input files (QEspresso_options_1,
_2, ...). In every file you will have to copy your sample up to the
line ATOMIC_POSITIONS (not including the line itself) and then change
the thresholds and optimization type. Start with rough calculation
with fixed cell, gradually increasing the precision and allowing the
cell to relax. For example, the file QEspresso_options_1 might look
like this:

&control
calculation='relax',
restart_mode='from_scratch',
prefix='si'
tprnfor = .true.
pseudo_dir = '/opt/espresso/pseudo/pseudo/',
outdir='./pwfiles',
disk_io='high'
/
&system
ibrav = 0, nat=7, ntyp= 1,
ecutwfc = 18.0
/
&electrons
mixing_beta = 0.5
conv_thr = 1.0d-6
/
&cell
cell_dynamics='none'
press = 0.01
cell_factor=3.0
/
&ions
ion_dynamics='bfgs'
trust_radius_max = 0.2
/
ATOMIC_SPECIES
Si 28.086 Si.vbc.UPF


then in the second and third file put the conv_thr = 1.0d-7, in the
fourth file - 1.0d-8. For the third and fourth file allow the cell
optimization (calculation = "vc-relax", cell_dynamics='bfgs') and, in
principle, one can remove the parameter trust_radius_max. I would also
include the parameter 'nstep' in &control and limit it to 25-35 in the
first two files.

The main idea is to optimize the system in a few steps: start with
fast low-precision calculations and gradually improve the precision
till desired accuracy is achieved. USPEX starts its search with random
structures (unless you use seeds to specify some good known structures
to start with). Even if constrains applied by USPEX are strict, the
structure is still essentially random and sometimes quite far away
from the local optimum. In this situation doing just one high-
precision calculation will be too slow, computationally expensive and
quite often it will finish with errors. It makes sense to move closer
to the local minimum with low-precision calculation first, while using
relatively small trust_radius_max to limit the ion movement (for
randomly produced structure the forces might be quite big).

If you do calculations with fixed lattice you can reduce the number of
input files. But general idea (starting from low- and finishing with
high-precision calculations) should be the same.

Hopefully it helps.

Sincerely,
Andriy

Nicheal

unread,
Mar 14, 2011, 10:07:26 PM3/14/11
to uspex
Hi,
 
running USPEX with octave how do I submit the job  I am
working on my local machine which has 8 processors.
 
First, editing INPUT_EA.txt. keyword
 
----------------------------------
abinitioCode (10 is for Quantum Espresso)
10 10 10 10    #if you have four QE input files
 
% commandExecutable  
job1
job2
job3
job4
job5
job6
job7
job8
job9
mpirun -np 8 pw.x < qe.in > output  #the numbers in the block abinitioCode determine in which line of commandExecutable  
job11
% EndExecutable
 
 
Then copy the executable "pw.x" and QE input files in the folder "Specific", execute the code like this(I have little knowledge of octave)
 
octave <ev_alg.m >log &
 
 
Hopefully it helps.
Sincerely,
Lichun XU
 
 
 
 
Reply all
Reply to author
Forward
0 new messages