Nanocluster Global Optimization using CALYPSO and Quantum ESPRESSO

Get a license for CALYPSO by going to this page and filling out the form.

Then download the latest CALYPSO package as well as the manual.

Install CALYPSO on your Linux/Mac machine using the instructions from the manual.

Make sure that Quantum ESPRESSO is installed and working correctly. Also make sure that you have the correct address to the ‘pw.x’ executable binary.

Now we can begin with the nanocluster global optimization.

You need to create 3 files.

First is the input.dat for CALYPSO. This should look like the following:

################################ The Basic Parameters of CALYPSO ################################
# A string of one or several words contain a descriptive name of the system (max. 40 characters).
SystemName = Z
# Number of different atomic species in the simulation. 
NumberOfSpecies = 2
# Element symbols of the different chemical species.
NameOfAtoms = Zn S
# Number of atoms for each chemical species in one formula unit. 
NumberOfAtoms = 3 3 
# The range of formula unit per cell in your simulation. 
NumberOfFormula = 1 1   
# The volume per formula unit. Unit is in angstrom^3.
#Volume=60.0
# Minimal distance between atoms of each chemical species. Unit is in angstrom.
@DistanceOfIon 
 1.0 1.0 
 1.0 1.0
@End
# It determines which algorithm should be adopted in the simulation.
Ialgo = 2
# Ialgo = 1 for Global PSO
# Ialgo = 2 for Local PSO (default value)
# The proportion of the structures generated by PSO.
PsoRatio = 0.8
# The population size. Normally, it has a larger number for larger systems.
PopSize = 30 
# It determines which local optimization method should be interfaced in the simulation.
ICode= 4
# ICode= 1 interfaced with VASP
# ICode= 2 interfaced with SIESTA
# ICode= 3 interfaced with GULP
# The number of lbest for local PSO
NumberOfLbest=4
# The Number of local optimization for each structure.
NumberOfLocalOptim= 1
# The precision of the K-point sampling for local optimization
Kgrid = 1 1
# The command to perform local optimiztion calculation (e.g., VASP, SIESTA) on your computer.
Command = sh submit.sh
# The Max step for iteration
MaxStep =50
# If True, the metropolis rule is used during iterations
LMC= T
#########################End Basic Parameters ###################

###### The Parameters For Cluster structure prediction #########
# If True, a cluster structure prediction is performed. 
Cluster= T 
# The Vacancy length for 3 diminsional space
Vacancy = 15 15 15
####################End Cluster Parameters #######################

A file called ‘pw_input’ for Quantum ESPRESSO input.

&CONTROL
    calculation   = "relax"
    forc_conv_thr =  3.88938e-04
    max_seconds   =  6.22080e+08
    nstep         = 100
    pseudo_dir    = "/home/dmishra_du/Pseudopotentials/"
    outdir="temp"
    tprnfor       = .TRUE.
    tstress       = .TRUE.
/

&SYSTEM
    celldm(1)         = 1
!    a           =  2.00000e+01
    degauss     =  1.00000e-02
    ecutrho     =  4.40000e+02
    ecutwfc     =  5.50000e+01
    ibrav       = 0
    nat         = 6
    nbnd        = 50
    ntyp        = 2
    occupations = "fixed"
    smearing    = "gaussian"
/

&ELECTRONS
    conv_thr         =  1.00000e-06
    electron_maxstep = 200
    mixing_beta      =  7.00000e-01
    startingpot      = "atomic"
    startingwfc      = "atomic+random"
/

&IONS
    ion_dynamics = "bfgs"
/

ATOMIC_SPECIES
Zn     65.39000  Zn.pbe-van.UPF
S      32.06600  S.pbe-van_bm.UPF

A file called ‘submit.sh’ for CALYPSO:

#!/bin/sh
source compilervars.sh intel64
mpirun -np 8 '/home/dmishra_du/QE/qe-6.1/bin/pw.x' -inp pw_input> out.pw 
[wpedon id="7041" align="center"]

7 thoughts on “Nanocluster Global Optimization using CALYPSO and Quantum ESPRESSO

  1. Your blog is very helpfull for a starter like me. Thank you for the videos. can I calculate gibbs free energy of a system containing 38 atoms using Quantum Espresso ? If so, please can you share a simple and basic input file or suggest the methods.
    Looking forward to hear from you.

    With Regards

  2. Hi, Manas
    It’s a very nice blog. I have followed the step that you have mentioned using calypso and quantum espresso, but I am getting error ” Error in routine card_kpoints (1):
    error while reading automatic k points” in out.pw file. Could you please help me. I have already run calypso using vasp, but new to espresso as I don’t have the access to vasp right now. Please share your comments. The caly.log file showing “application called MPI_Abort(MPI_COMM_WORLD, 1)”

    1. Hi Biswajit,
      The error you’re getting is related to k-points.
      Since, I only used it once and it has been already more than a year, I don’t remember what could be wrong exactly.
      Although, I do remember getting some errors related to k-points when I ran it too. Maybe that is why in the input file I showed in the blog I removed the K_POINT input card.

      Since, it is a nano cluster the k-point should just be a gamma point.

      If possible can you show me your input file?

    2. It could also be possible that they released an update since I wrote this blog and somethings got changed. You can try to refer to the manual in such a case.

  3. I remembered correctly in VASP, I don’t need to give the k-points, it will consider the gamma point manually. In the manual, there is no hint of cluster prediction using QE. Anyhow, thank you for your response and keep maintaining the blog.

  4. Hi, I want to run a nanocluster global optimization for a specific space group. Can you suggest me anything???

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.