7. Examples — CALYPSO documentation (2024)

  • Examples

    • Crystal Structure Prediction

    • Two-Dimensional Structure Prediction

    • Cluster Structure Prediction

      • Tutorial for B6 clusters

      • Tutorial for Ti4 clusters

      • Tutorial for B12 clusters

    • Molecular Structure Prediction

    • Variable Stoichiometry Structure Prediction

    • Surface Structure Prediction

      • Diamond (111) surface reconstruction prediction

      • Hydrogenated diamond (100) surface reconstruction

      • Crystal lattice matches of two graphene

      • Interface structure prediction of SIGMA5(210) grain boundary of rutile TiO2

    • Design of Superhard Materials

    • Structure prediction of atom or molecule adsorption of 2D layer material

    • Design of Optical Materials with Desirable Electronic Band Gap

    • Crystal Structure Prediction with Fixed Cell Parameters or Atomic Positions

    • Structural Prediction via X-ray Diffraction Data

    • Prediction of Transition States in Solids

    • Accelerating Structure Prediction by Machine Learning Potentials (MLP)

      • Constructing training (and testing) data set

      • Fitting MLP

      • Structure prediction assisted by MLP

Warning

KGrid parameter is no longer taking effect in input.dat, and removed from allfollowing examples. You should specify it accroding to the different local optimization software.

Taking VASP for example, set KSPACING in INCAR, or give KPOINTS file.

7.1. Crystal Structure Prediction

This section is to show the examples for the three-dimensional crystal structureprediction using CALYPSO code.

We take the structure prediction of cubic boron nitride (cBN) as an example.Here, VASP code was used for geometry optimization and enthalpy calculations.

CALYPSO input file input.dat and VASP input files of INCAR_* andpseudopotential file of POTCAR are needed.

The following files should be present in the working directory:

FilesDescription
calypso.xThe executable file for running CALYPSO program
input.datThe input file of CALYPSO containing controllable key parameters
INCAR_*Input files for VASP
POTCARPseudopotential file for VASP
submit.shJob submission file

calypso.x can be downloaded in the webpage of http://www.calypso.cnaccording to different operating systems.

Parameters in input.dat are shown below:

SystemName = BNNumberOfSpecies = 2NameOfAtoms = B NNumberOfAtoms = 1 1NumberOfFormula = 1 1Volume = 20.0@DistanceOfIon1.0 0.80.8 0.8@EndIalgo = 2PsoRatio = 0.6PopSize = 30ICode = 1NumberOfLocalOptim = 4Kgrid = 0.12 0.06Command = sh submit.shMaxStep = 30

For VASP, the number of INCAR_* (INCAR_1, INCAR_2, …) files should be inaccordance with the setting tag NumberOfLocalOptim.

In this example, four INCAR files are used for structure relaxation:

INCAR_1 and INCAR_2 files are used to perform very coarse structure relaxation withthe fixed volume, and INCAR_3 and INCAR_4 files are used to perform full structurerelaxation (i.e., variable lattice parameters, variable volumes, and variable atomiccoordinates) with medium and accurate precision, respectively.

INCAR_1

SYSTEM = local optimizationPREC = LOWEDIFF = 3e-2IBRION = 2ISIF = 2NSW = 40ISMEAR = 0 ; SIGMA = 0.05POTIM = 0.5LWAVE = FALSELCHARG = FALSEISTART = 0PSTRESS = 3000EDIFFG = -4e-2

INCAR_2

SYSTEM = local optimizationPREC = NormalEDIFF = 2e-2IBRION = 2ISIF = 4NSW = 40ISMEAR = 0 ; SIGMA = 0.05POTIM = 0.2LWAVE = FALSELCHARG = FALSEPSTRESS = 3000EDIFFG = -4e-1

INCAR_3

SYSTEM = local optimizationPREC = NormalEDIFF = 2e-4IBRION = 1ISIF = 3NSW = 40ISMEAR = 0 ; SIGMA = 0.05POTIM = 0.1LWAVE = FALSELCHARG = FALSEPSTRESS = 3000EDIFFG = 2e-3

INCAR_4

SYSTEM = local optimizationENCUT = 600EDIFF = 1e-5IBRION = 2ISIF = 3NSW = 80ISMEAR = 0 ; SIGMA = 0.05POTIM = 0.1LWAVE = FALSELCHARG = FALSEPSTRESS = 3000EDIFFG = 2e-3

Hint

Multi-optimization strategy for structure relaxation is strongly suggested

POTCAR should be provided.

Important

ATTENTION!!! The order of elements in POTCAR must be identical to the element orderin the setting tag of NameOfAtoms.

submit.sh is the job submission file for the VASP calculations.Here is an example of submit.sh:

#!/bin/bashmpdbootmpiexec -n 12 vasp_std > vasp.log 2>&1

For using VASP software to optimize generated structures, CALYPSO supports accelerating structure search by modifying submit.sh file in Version 7.3.6. Here are the examples of submit.sh.

#!/bin/shnohup ./badopt.py &> badopt.log &for(( i=1; i<=3; i++ ));do cp INCAR_$i INCAR if [[ "$i" == "3" ]] then sg=`./sym.py` fi if [[ "$sg" == "1" || "$sg" == "610612509" ]] then break fi if [[ "$i" == "3" ]] then nohup ./sym_split.py &> sym.log & fi killall -9 vasp_std mpirun -np 36 /data/software/vasp.5.4.1/bin/vasp_std > vasp.log_$i cp CONTCAR POSCARdonekillall -9 python

Three scripts (badopt.py, sym.py and sym_split.py) are used to accelerate structure search.

badopt.py: check the error information during VASP structure optimization.

sym.py: check the space group of the structures after VASP structure optimization with low precision. If the space group is P1, the last structure optimization with high precision will be not carried out.

sym_split.py: check the space group of the structures during VASP structure optimization with high precision. If the space group is P1, the structure optimization will stop.

Users can choose any one of three scripts by according to own requirements. For using this submit.sh file to accelerate structure search, “NumberOfLocalOptim” in the input.dat file should be set as “1”. It’s requried to install numpy for your python environment.

The following is the script to run structure optimaztions using VASP for accelerate structure search using CALYPSO split mode:

#!/bin/sh#BSUB -n 36#BSUB -R 'span[ptile=36]'#BSUB -q mym4#BSUB -o %J.outcp ../badopt.py .nohup ./badopt.py &> badopt.log &for(( i=1; i<=3; i++ ));do cp INCAR_$i INCAR cp CONTCAR POSCAR if [[ "$sg" == "1" || "$sg" == "610612509" ]] then cp ../sym.py . sg=`./sym.py` fi if [[ "$sg" == "1" ]] then break fi if [[ "$i" == "3" ]] then cp ../sym_split.py . nohup ./sym_split.py &> sym.log & fi killall -9 vasp_std mpirun -np 36 /data/software/vasp.5.4.1/bin/vasp_std > vasp.log_$idonekillall -9 python

Once all input files are ready, you can simply type

./calypso.x > caly.log &

to execute the CALYPSO in the sequential mode.Or you can write this command into the pbs script and submit it in a queue system.

CALYPSO run will generate the results folder in the current directory you have specified.The results folder contains all the outputs files of CALYPSO.

To analyze the results, please simply type the following commands:

cd resultscak.py --cif

The index of the structures sorted by enthalpies in the ascending order will present inthe Analysis_Output.dat file, and all predicted structure files by CALYPSO withcif formats are shown in the dir_0.1 directory.

Please see here for more information about the analyses of CALYPSO results.

7.2. Two-Dimensional Structure Prediction

This section is to show the examples for the two-dimensional structure prediction using CALYPSO code.

We take the structure prediction of B3N2 two-dimensional system as an example.Here, VASP code was used for geometry optimization and enthalpy calculations.

CALYPSO input file of input.dat and VASP input files of INCAR_* andpseudopotential file of POTCAR are needed.

The following files should be present in the working directory:

FilesDescription
calypso.xThe executable file for running CALYPSO program
input.datThe input file of CALYPSO containing controllable key parameters
INCAR_*Input files for VASP
POTCARPseudopotential for VASP
submit.shJob submission file

calypso.x can be downloaded according to different operating systems.

Parameters in input.dat are shown below:

SystemName = B3N2NumberOfSpecies = 2NameOfAtoms = B NNumberOfAtoms = 3 2Ialgo = 2PsoRatio = 0.6PopSize = 20ICode = 1NumberOfLocalOptim = 3Command = sh submit.shMaxStep = 502D = TMultiLayer = 2Area = 14DeltaZ = 0LayerGap = 5VacuumGap = 5@LayerType1 12 1@EndLAtom_Dis = 1.4

For VASP, the number of INCAR_* (INCAR_1, INCAR_2, …) files should be inaccordance with the setting tag NumberOfLocalOptim.

In this example, we use three INCAR files for structure relaxation.INCAR_1 and INCAR_2 are used to perform very coarse structure relaxation keeping the volume fixed,INCAR_3 is used to** perform full structure relaxation with accurate precision.

INCAR_1

SYSTEM = B3N2PREC = LOWEDIFF = 3e-3IBRION = 2ISIF = 2NSW = 50ISMEAR = 1 ; SIGMA = 0.2POTIM = 0.5LWAVE = FALSELCHARG = FALSEPSTRESS = 0.001EDIFFG = 4e-2

INCAR_2

SYSTEM = B3N2PREC = LOWEDIFF = 2e-3IBRION = 2ISIF = 4NSW = 50ISMEAR = 1 ; SIGMA = 0.2POTIM = 0.2LWAVE = FALSELCHARG = FALSEPSTRESS = 0.001EDIFFG = 1e-2

INCAR_3

SYSTEM = B3N2PREC = AccurateENCUT = 400EDIFF = 2e-4IBRION = 2ISIF = 3NSW = 60ISMEAR = 1 ; SIGMA = 0.2POTIM = 0.1LWAVE = FALSELCHARG = FALSEPSTRESS = 0.001EDIFFG = 1e-4

Hint

Multi-optimization strategy for structure relaxation is strongly suggested

POTCAR should be provided.

Important

ATTENTION!!! The order of elements in POTCAR must be identical to the element orderin the setting tag of NameOfAtoms.

submit.sh is the job submission file for performing the VASP calculations.Here is an example of submit.sh:

#!/bin/bashmpdbootmpiexec -n 12 vasp_std > vasp.log 2>&1

Once all input files are ready, you can just type

./calypso.x > caly.log &

to execute the CALYPSO in the sequential mode.Or you can write this command into the pbs script and submit it.

CALYPSO will generate the results folder, which contains all outputs files.To analyze the results of CALYPSO, just type following command:

cd resultscak.py --cif

The index of the structures sorted by enthalpies in the ascending order is presented inAnalysis_Output.dat file, and these newly predicted structure files with cifformat are shown in dir_0.1 directory.

Please see here for more information about the analyses of CALYPSO results.

7.3. Cluster Structure Prediction

This section is to show the examples for the cluster structure prediction using CALYPSO code.

Here an example for boron clusters that composed of 6 atoms(B6) is presented. Gaussian09 code was used for geometry optimization and energy calculations.

Here an example for Ti4 clusters is given, andthe local optimization is performed by VASP.

Finally, here an example for B12 clusters is provided.The CP2K code was used for geometry optimization and energy calculations.

7.3.1. Tutorial for B6 clusters

In this tutorial, a CALYPSO structure search for B6 clusters is presented.The local structure optimizations are performed by Gaussian09 code,so you have to install the Gaussian09 in your machine.

The following files should be present in the working directory:

FilesDescription
calypso.xThe executable file for running CALYPSO program
input.datThe input file of CALYPSO containing controllable key parameters
gsinput_*Input files for Gaussian
submit.shJob submission file

calypso.x can be downloaded according to different operating systems.

Parameters in input.dat are shown below:

SystemName = B6ClusterNumberOfSpecies = 1NameOfAtoms = BNumberOfAtoms = 6NumberOfFormula = 1 1@DistanceOfIon1.7@EndIalgo = 2PsoRatio = 0.8PopSize = 20ICode = 7NumberOfLocalOptim = 2Command = sh submit.shMaxStep = 50LMC = TCluster= TVacancy = 15 15 15

For Gaussian, the number of gsinput_* (gsinput_1 and gsinput_2) should be inaccordance with the setting tag NumberOfLocalOptim.

In this example, we use two gsinput_* files for structure relaxation.The gsinput_1 is used to perform very coarse structure relaxation,and gsinput_2 is used to perform structure relaxation with medium precision.During the structure relaxation, gsinput_* files will be copied to gsinput,and atomic coordinates will be automatically attached by CALYPSO.

gsinput_1

%chk=calypso.chk%nprocs=12%Mem=12GB#p RHF/PBEPBE/3-21GSCF=(fermi,MaxCycle=565,conver=4)OPT=(Redundant,MaxCycle=50,MaxStep=29,loose)NoSymmdr38 Geometry Optimization0 1

gsinput_2

%chk=calypso.chk%nprocs=12%Mem=12GB#p RHF/PBEPBE/3-21GSCF=(xqc,MaxCycle=565,conver=5)OPT=(Redundant,MaxCycle=1500,MaxStep=29,loose)NoSymmdr38 Geometry Optimization0 1

Hint

We strongly suggest that you use the multi-stage strategy for structure relaxation.

submit.sh is the job submission file for the Gaussian calculation:

Here is an example of submit.sh:

#!/bin/bashg09 < gsinput > gsoutput

Once all the input files are ready, you can just type

./calypso.x > caly.log &

to execute the CALYPSO in the sequential mode.Or you can write this command into the pbs script and submit it.

CALYPSO will generate the results folder, which contains all most the output files.

To analyze the results, just type following command:

cd resultscak.py –cif

The index of the structures sorted by energies in the ascending order is presented inAnalysis_Output.dat file, and these newly predicted structure files with cifformat are shown in dir_origin directory.

Please see here for more information about the analyses of CALYPSO results.

7.3.2. Tutorial for Ti4 clusters

In this tutorial, a CALYPSO structure search for Ti4 clusters is presented.The local structural optimizations are performed by VASP,so you have to install the VASP code in your machine.

All the reference files can be found in Path-to-CALYPSO/Example/Ti4_VASP.

The following files should be present in the working directory:

FilesDescription
calypso.xThe executable file for running CALYPSO program
input.datThe input file of CALYPSO containing controllable key parameters
INCAR_*Input files for VASP
POTCARPseudopotential for VASP
submit.shJob submission file

calypso.x can be downloaded according to different operating systems.

Parameters in input.dat are shown below:

SystemName TiNumberOfSpecies = 1NameOfAtoms = TiNumberOfAtoms = 4NumberOfFormula = 1 1@DistanceOfIon2.6@EndIalgo = 2PsoRatio = 0.8ICode = 1NumberOfLocalOptim = 1Command = sh submit.shMaxStep = 50LMC = TCluster = TVacancy = 12 12 12

In this example, geometry optimization is performed by VASP code and only one input filefor VASP (named INCAR_1) is needed.

INCAR_1

SYSTEM = TiPREC = AccurateENCUT = 300EDIFF = 1e-4IBRION = 2ISIF = 2NSW = 1000ISMEAR = 0 ; SIGMA = 0.0001POTIM = 0.1LWAVE = FALSELCHARG = FALSEEDIFFG = -0.01ISPIN = 2ISYM = 0

POTCAR should be provided.

submit.sh is the job submission file for performing the VASP calculations.Here is an example of submit.sh:

#!/bin/bashmpdbootmpiexec -n 12 vasp_std > vasp.log 2>&1

Once all the input files are ready, you can just type

./calypso.x > caly.log &

to execute the CALYPSO in the sequential mode.Or you can write this command into the pbs script and submit it.

CALYPSO will generate the “results” folder, which contains all most the output files.To analyze the CALYPSO results, just type following command:

cd resultscak.py --cif

The index of the structures sorted by energies in the ascending order is presented inAnalysis_Output.dat file, and these newly predicted structure files with cifformat are shown in dir_0.1 directory.

Please see here for more information about the analyses of CALYPSO results.

7.3.3. Tutorial for B12 clusters

In this tutorial, a CALYPSO structure search for B12 clusters is presented.The local structural optimizations are performed by CP2K,so you have to install the CP2K code in your machine.

All the reference files can be found in Path-to-CALYPSO/Example/B12_cp2k.

The following files should be present in the working directory:

FilesDescription
calypso.xThe executable file for running CALYPSO program
EMSL_BASIS_SETSBasis sets files for CP2K
POTENTIALPseudopotential files for CP2K
input.datThe input file of CALYPSO containing controllable key parameters
cp2k.inp_*Input files for CP2K
submit.shJob submission file

The calypso.x can be downloaded according to different operating system.

Parameters in input.dat are shown for the B12 cluster:

SystemName = BNumberOfSpecies = 1NameOfAtoms = BNumberOfFormula = 1 1@DistanceOfIon1.7@EndIalgo = 2PsoRatio = 0.8PopSize = 30ICode = 6NumberOfLocalOptim = 1Command = sh submit.shMaxStep = 50LMC = TCluster = TVacancy = 12 12 12

In this example, geometry optimization is performed by CP2K code and only one inputfile for CP2K (named as cp2k.inp_1) is needed.During the structure relaxation, it will be renamed as cp2k.inp,and atomic coordinates will be automatically inserted into this file (behind the marker line “########”).

cp2k.inp_1

&FORCE_EVAL METHOD QS &DFT BASIS_SET_FILE_NAME EMSL_BASIS_SETS POTENTIAL_FILE_NAME POTENTIAL &MGRID CUTOFF 250 REL_CUTOFF 50 &END MGRID &QS EPS_DEFAULT 1.0E-10 &END QS &POISSON PSOLVER MT &END POISSON &SCF SCF_GUESS ATOMIC &OT ON MINIMIZER DIIS &END OT MAX_SCF 100 EPS_SCF 1.0E-5 &PRINT &RESTART OFF &END &END &END SCF &XC &XC_FUNCTIONAL PBE &END XC_FUNCTIONAL &END XC &END DFT &SUBSYS######## &KIND B BASIS_SET 6-311Gxx POTENTIAL GTH-PBE-q3 &END KIND &END SUBSYS&END FORCE_EVAL&GLOBAL PROJECT cp2k RUN_TYPE GEOMETRY_OPTIMIZATION PRINT_LEVEL LOW &TIMINGS THRESHOLD 0.000001 &END&END GLOBAL&MOTION &GEO_OPT OPTIMIZER BFGS MAX_ITER 1000 MAX_FORCE 0.00045 RMS_FORCE 0.0003 &END GEO_OPT&END MOTION

The users should provide the EMSL_BASIS_SETS and POTENTIAL files,which contain the basis set and pseudopotential for running CP2K code.

submit.sh is the job submission file for performing the CP2K calculations.Here is an example of submit.sh:

#!/bin/bashmpirun.lsf cp2k.popt -i cp2k.inp > out.cp2k 2>&1

Once all the input files are ready, you can just type

./calypso.x > caly.log &

to execute the code in the sequential mode.Or you can write this command into the pbs script and submit it.

CALYPSO will generate the “results” folder in current directory, which contains allmost the outputs files of CALYPSO. To analyze the results, just type following command:

cd resultscak.py --cif

The index of the structures sorted by energies in the ascending order is presented inAnalysis_Output.dat file, and these newly predicted structure files with cifformat are shown in dir_orign directory.

Please see here for more information about the analyses of CALYPSO results.

7.4. Molecular Structure Prediction

This section is to show the example for the structure prediction with fixed rigid molecules using CALYPSO code.

Here, SIESTA code was used for geometry optimization and enthalpy calculations.

The CALYPSO input file of input.dat, rigid molecular structure informationfile of MOL, SIESTA input files of sinput_* and pseudopotential fileof *.psf are needed.

The following files should be present in the working directory:

FilesDescription
calypso.xThe executable file for running CALYPSO program
input.datThe input file of CALYPSO containing controllable key parameters
sinput_*Input files for SIESTA
MOLRigid molecular structure information with Z_Matrix format
*.psfPseudopotential for SIESTA
submit.shJob submission file

calypso.x can be downloaded according to different operating systems.

Parameters in input.dat for the CH4 system are shown below:

SystemName = CH4NumberOfSpecies = 2NameOfAtoms = C HNumberOfAtoms = 1 4NumberOfFormula = 1 1Volume = 60@DistanceOfIon1.0 1.01.0 1.0@EndIalgo = 2PsoRatio = 0.6PopSize = 20ICode = 2NumberOfLocalOptim = 3Kgrid = 0.1 0.07Command = sh submit.shMaxStep = 50Mol = TNumberOfTypeMolecule = 1NumberOfMolecule = 2DistOfMol = 1.5

MOL file contains the rigid molecular structure information with Z_Matrix format.

The Z_matrix is a way to represent a system built of atoms with internal coordinates.It provides a description of each atom in a molecule in terms of its atomic type, bond length, bond angle, and dihedral angle.

The detailed descriptions about Z-Matrix can be found in here.

MOL example of CH4 is shown below:

this the internal coordinate title and no need to write in MOL file

Nspecie I J K R A T ifr ifa ift

this is what the file contains

51 0 0 0 0.0 0.0 0.0 1 1 12 1 0 0 1.044 0.0 0.0 0 1 12 1 2 0 1.044 109.48 0.0 0 0 12 1 2 3 1.044 109.48 120 0 0 02 1 2 3 1.044 109.48 120 0 0 0

The first line gives the total number of the atoms in the rigid molecular structure information and the following lines give the internal coordinates of each atoms.

The internal coordinates consist of ten parts:

Nspecie (integer)

the species number of the atom.

I, J, K (integer)

atomic order in molecule is used to define the internal coordinates for current atomic coordinates

R (real)

bond length of current atom with respect to I atom.

A (real)

bond angle of current atom with respect to I and J atoms.

T (real)

dihedral angle of current atom with respect to I, J and K atoms.

ifr, ifa, ift (integer)

flags that indicate whether r, a, and t should be varied during local structural relaxation.0 for fixed and 1 for varying.

For SIESTA, the number of sinput_* (sinput_1, sinput_2, …) should be inaccordance with the setting tag of NumberOfLocalOptim.

In this example, we use three SIESTA input files for structure relaxation.sinput_1 and sinput_2 are used to perform very coarse structure relaxation,while sinput_3 is used to perform full structure relaxation with accurate precision.

sinput_1

SystemName siestaSystemLabel siestaNumberOfSpecies 2NumberOfAtoms 10%block ChemicalSpeciesLabel1 6 C2 1 H%endblock ChemicalSpeciesLabelPAO.BasisSize SZkgrid_cutoff 8.0 AngMeshCutoff 80 RyPAO.EnergyShift 0.02 RyXC.functional GGAXC.authors PBEMaxSCFIterations 100DM.MixingWeight 0.150DM.Tolerance 1.d-4DM.NumberPulay 5 # Relaxation, smearing, etc.ElectronicTemperature 3000 KMD.TypeOfRun cg Optim.Broyden .true.MD.VariableCell .true.MD.ConstantVolume .false.MD.MaxForceTol 1d-3 eV/AngMD.NumCGsteps 5Use-Save-CG .true.Use-Save-XV .true.MD.Broyden.Initial.Inverse.Jacobian 0.20MD.RemoveIntramolecularPressure .true.MD.TargetPressure 100.0 GPaZM.ForceTolLen 0.04 eV/AngZM.ForceTolAng 0.0001 eV/degZM.MaxDisplLen 0.1 AngZM.MaxDisplAng 20.0 degAtomicCoordinatesFormat NotScaledCartesianAng%include Zmatrix.data%block MM.Potentials1 1 C6 16.292 0.52 2 C6 0.735 0.51 2 C6 3.185 0.5%endblock MM.Potentials

sinput_2

SystemName siestaSystemLabel siestaNumberOfSpecies 2NumberOfAtoms 10%block ChemicalSpeciesLabel1 6 C2 1 H%endblock ChemicalSpeciesLabelPAO.BasisSize SZ%endblock PAO.BasisSizeskgrid_cutoff 8.0 AngMeshCutoff 80 RyPAO.EnergyShift 0.01 RyXC.functional GGAXC.authors PBEMaxSCFIterations 100DM.MixingWeight 0.150DM.Tolerance 1.d-5DM.NumberPulay 5 ElectronicTemperature 3000 KMD.TypeOfRun cg Optim.Broyden .true.MD.VariableCell .true.MD.ConstantVolume .false.MD.MaxForceTol 2d-5 eV/AngMD.NumCGsteps 40Use-Save-CG .true.Use-Save-XV .true.MD.Broyden.Initial.Inverse.Jacobian 0.20MD.RemoveIntramolecularPressure .true.MD.TargetPressure 100.000010 GPaZM.ForceTolLen 0.04 eV/AngZM.ForceTolAng 0.0001 eV/degZM.MaxDisplLen 0.1 AngZM.MaxDisplAng 20.0 degAtomicCoordinatesFormat NotScaledCartesianAng%include Zmatrix.data%block MM.Potentials1 1 C6 16.292 1.3922 2 C6 0.735 2.0251 2 C6 3.185 1.649%endblock MM.Potentials

sinput_3

SystemName siestaSystemLabel siestaNumberOfSpecies 2NumberOfAtoms 10%block ChemicalSpeciesLabel1 6 C2 1 H%endblock ChemicalSpeciesLabelPAO.BasisSize DZkgrid_cutoff 8.0 AngMeshCutoff 80 RyPAO.EnergyShift 0.002 RyXC.functional GGAXC.authors PBEMaxSCFIterations 100DM.MixingWeight 0.150DM.Tolerance 1.d-5DM.NumberPulay 5 ElectronicTemperature 3000 KMD.TypeOfRun cg Optim.Broyden .false.MD.VariableCell .true.MD.ConstantVolume .false.MD.MaxForceTol 2d-5 eV/AngMD.NumCGsteps 60Use-Save-CG .true.Use-Save-XV .true.MD.RemoveIntramolecularPressure .true.MD.TargetPressure 100.000010 GPaZM.ForceTolLen 0.04 eV/AngZM.ForceTolAng 0.0001 eV/degZM.MaxDisplLen 0.1 AngZM.MaxDisplAng 20.0 degAtomicCoordinatesFormat NotScaledCartesianAng%include Zmatrix.data%block MM.Potentials1 1 C6 16.292 1.3922 2 C6 0.735 2.0251 2 C6 3.185 1.649%endblock MM.Potentials

Hint

Multi-optimization strategy for structure relaxation is strongly suggested

The psedopotential files *.psf (C.psf and H.psf in this case) should be provided by the user.

submit.sh is the job submission file for performing the SIESTA calculation.Here is an example of submit.sh:

#!/bin/bashsiesta < siesta.fdf > siesta.out

Important

the SIESTA output file should be named as “siesta.out”

Once all the input files are ready, you can just type

./calypso.x > caly.log &

to execute the CALYPSO code in the sequential mode.Or you can write this command into the pbs script and submit it.

CALYPSO will generate the results folder, which contains all the output files ofCALYPSO. To analyze the CALYPSO results, just type following command:

cd resultscak.py --cif

The index of the structures sorted by enthalpies in the ascending order is presented inAnalysis_Output.dat file, and these newly predicted structure files with cifformat are shown in dir_0.1 directory.

Please see here for more information about the analyses of CALYPSO results.

7.5. Variable Stoichiometry Structure Prediction

This section is to show the example for variable stoichiometry structure prediction usingCALYPSO code. Here, VASP code was used for geometry optimization and enthalpy calculations.

The CALYPSO input file of input.dat, VASP input files of INCAR_* andpseudopotential file of POTCAR are needed.

The following files should be present in the working directory:

File:Description
calypso.xThe executable file for running CALYPSO program
input.datThe input file of CALYPSO containing controllable key parameters
INCAR_*Input files for VASP
POTCARPseudopotential for VASP
submit.shJob submission file

calypso.x can be downloaded according to different operating systems.

Parameters in input.dat are shown for the LiH system:

########### The Parameters of CALYPSO ############## A string of one or several words contain a descriptive # name of the system (max. 40 characters).SystemName = LiH# Number of different atomic species in the simulation, # where it has two type elements (B and N).NumberOfSpecies = 2# Element symbols of the different chemical species. NameOfAtoms = Li H# The range of formula unit per cell in your simulation.NumberOfFormula = 1 1# The volume of 1 f.u. unit=angstrom^3. Volume = 5.0# Minimal distances between atoms of each chemical species. @DistanceOfIon 1.0 0.8 0.8 0.8@End# It determines which algorithm should be adopted in the simulation.Ialgo = 2# The proportion of the structures generated by PSO # against the new structures in each generation.PsoRatio = 0.6# The population size. Normally, it is larger for larger systems.PopSize = 30# It determines which local optimization program # should be used in the simulation.ICode = 1# The Number of local optimization for each structure.NumberOfLocalOptim = 4# It is the k-point sampling solution in local optimization. # Kgrid = 0.12 0.06# The script for submitting local optimization calculations.Command = sh submit.sh# The Max step for iterationMaxStep =30# If True, Variational Stoichiometry structure prediction is performedVSC=TVSCEnergy= 0 0# The Max Number of Atoms in unit cellMaxNumAtom=20# The Variation Range for each type atom @CtrlRange1 11 7@End#################### End Parameters #######################

For VASP, the number of INCAR_* (INCAR_1, INCAR_2, …) is in accordance with thesetting tag of NumberOfLocalOptim.

In this example, we use four INCAR files for structure relaxation.INCAR_1 and INCAR_2 are used to perform very crude structure relaxationkeeping the volume fixed, INCAR_3 is used to perform full structure relaxationwith medium precision, while INCAR_4 is used to perform very accurate calculation.

INCAR_1

SYSTEM = local optimizationPREC = LOWEDIFF = 3e-2IBRION = 2ISIF = 2NSW = 40ISMEAR = 0 ; SIGMA = 0.05POTIM = 0.50LWAVE = FALSELCHARG = FALSEISTART = 0PSTRESS = 3000EDIFFG = -4e-2

INCAR_2

SYSTEM = local optimizationPREC = NormalEDIFF = 2e-2IBRION = 2ISIF = 4NSW = 40ISMEAR = 0 SIGMA = 0.05POTIM = 0.2LWAVE = FALSELCHARG = FALSEPSTRESS = 3000EDIFFG = -1e-2

INCAR_3

SYSTEM = local optimizationPREC = NormalEDIFF = 2e-4IBRION = 1ISIF = 3NSW = 40ISMEAR = 0 ; SIGMA = 0.05POTIM = 0.1LWAVE = FALSELCHARG = FALSEPSTRESS = 3000EDIFFG = 1e-3

INCAR_4

SYSTEM = local optimizationENCUT = 600EDIFF = 1e-5IBRION = 2ISIF = 3NSW = 80ISMEAR = 0 ; SIGMA = 0.05POTIM = 0.1LWAVE = FALSELCHARG = FALSEPSTRESS = 3000EDIFFG = 1e-4

Hint

Multi-optimization strategy for structure relaxation is strongly suggested

POTCAR should be provided.

Important

ATTENTION!!! The order of elements in POTCAR must be identical to the element orderin the setting tag of NameOfAtoms.

submit.sh is the submission job file for performing the VASP calculations.

Here is an example of submit.sh:

#!/bin/bashmpdbootmpiexec -n 12 vasp_std > vasp.log 2>&1

Once all input files are ready, you can just type

./calypso.x > caly.log &

to execute the CALYPSO code in the sequential mode.Or you can write this command into the pbs script and submit it.

CALYPSO will generate the results folder, which contains all the output files of CALYPSO.To analyze the results, just type following command:

cd resultscak.py --cif

The index of the structures sorted by enthalpies in the ascending order is presented in ./dir_Li*H*/Analysis_Output.dat file, and these newly predicted structure fileswith cif format are shown in dir_0.1 directory.

7.6. Surface Structure Prediction

This section introduces the surface structure prediction module. It includes adescription of the required input files, a typical run of the program, and result analysis.

Note

This part of CALYPSO package is currently in the early stage of development, there mightbe large changes on the control parameters and output files in the following versions.

For surface structure prediction, DFTB+ and VASP package are supported for local optimization by now.

This section will give a general introduction to the files used to run the program in the first place,then a relatively detailed description of each files, followed by two example runs of the program viaVASP and DFTB+ packages.

The most important input files are: input.dat (control parameters),SUBSTRATE.surf (the structure files of substrate, both cif and VASP POSCAR format are supported),and input files for VASP/DFTB+. Most of the output files reside in results directory.

7.6.1. Diamond (111) surface reconstruction prediction

This subsection will introduce how to predict the (111) surface reconstruction of diamondusing VASP as the local relaxation code.

In this example, the substrate will be generated automatically from crystal structures.

To perform surface structure prediction, one needs to create a directory and prepare the following files:

FileDescription
calypso.xThe executable file for running CALYPSO program
input.datThe input file of CALYPSO specifying the controllable key parameters
INCAR_*Input files for VASP
POTCARPseudopotential for VASP
submit.shJob submission file

calypso.x can be downloaded according to operating system.

input.dat specifies all the control parameters that tell the program how to dothe job of global surface structure search.

Most of the parameters have default values and do not need to be changed.Here is an example for diamond (111) surface reconstruction prediction:

LSurface = T # Surface reconstruction predictionsICode = 1 #VASPKgrid = 0.2 PopSize = 20MaxStep = 30PsoRatio = 0.6SurfaceThickness = 2.0#|atomic symbol|count|@SurfaceAtoms C 4 @End#--------------------------------------------------#Following parameters are used to build #the surface from bulk crystal info reconstruction symmetrySubstrate = Automatic@MatrixNotation 2 00 1@EndUseCifFile = T CifFilePath = dia-vasp.cifMillerIndex = 1 1 1 SlabDepth = 0.0 SlabNumLayers = 6NumRelaxedLayers = 2CapBondsWithH = T

Note that the Substrate tag is specified to “Automatic”, which means the substratewill be generated from the bulk crystal.

INCAR_*, POTCAR-* files must present in the current work directory for VASP users.

INCAR_1 and INCAR_2 are the central input files for VASP.The structures will be relaxed by a set of relatively low precision control parameters inINCAR_1 first; then the coarsely relaxed structures will be further relaxed by a set ofrelatively high-precision parameters in INCAR_2.

INCAR_1

PREC = LOWEDIFF = 3e-2EDIFFG = -4e-2IBRION = 2ISIF = 0NSW = 45ISMEAR = 0 ; SIGMA = 0.05POTIM = 0.050LWAVE = FALSELCHARG = FALSEISTART = 0

INCAR_2

ENCUT = 500EDIFF = 1e-4EDIFFG = 1e-3IBRION = 2ISIF = 0NSW = 100ISMEAR = 0; SIGMA = 0.05POTIM = 0.0300LCHARG = FALSELWAVE = FALSEISTART = 0

Users do NOT need to cat POTCAR of each atomic species together.The program will do the job automatically.However, one has to copy POTCAR for each element to this directory and rename it toPOTCAR-* format, while the star (*) stands for the name of the element.

Taking surface structures constructed by C and H atoms for example, one needs to copyPOTCAR of C and H to this directory and rename them to POTCAR-C and POTCAR-H, respectively.For pseudo-hydrogens with fractional valence electrons, such as Z=0.75, its POTCAR shouldbe renamed to POTCAR-H.75.

submit.sh is the script for local relaxation via VASP. Here is an example:

mpiexec -n 12 vasp_std > vasp.log 2>&1

Once all the input files are ready, you may run the structure prediction via thefollowing command, or alternatively, put this execution command into a job submision script.

./calypso.x > caly.log &

The result analysis process of surface structure prediction is similar to the crystalstructure predictions. You may run the following commands:

cd resultscak.py --cif 

and will see the surface formation enthalpy order of predicted structures inAnalysis_Output.dat file, and these newly predicted structure files with cifformat can be found in dir_0.1 directory.

Please see here for more information about the analyses of CALYPSO results.

7.6.2. Hydrogenated diamond (100) surface reconstruction

Example to perform hydrogenated diamond (100) surface reconstruction prediction usingpredefined substrate file and DFTB+ local relaxation will be demonstrated in this subsection.

Files needed to run this example are listed below:

FileDescription
calypso.xThe executable file for running CALYPSO program
input.datThe input file of CALYPSO specifying the controllable key parameters
SUBSTRATE.surfSubstrate file (cif and POSCAR formatted are supported)
DFTB+ input filesdftb_in.hsd_PRE_1, dftb_in.hsd_PRE_2, SK files
submit.shA script to run VASP or DFTB+.

calypso.x can be downloaded according to different operating systems.

input.dat contains all the parameters to run the surface structure predictions.

In this example, we show how to control the program to adopt user specified substrateand use DFTB+ code to relax structures locally. Here is an example:

LSurface = T # Surface reconstruction predictionsICode = 8 # DFTB+Kgrid = 0.2 PopSize = 20MaxStep = 30PsoRatio = 0.6SurfaceThickness = 2.0@SurfaceAtoms #|atomic symbol|count|C 4 H 4@EndSubstrate = SUBSTRATE.surf

SUBSTRATE.surf is a optional user defined substrate file. The surface will begenerated on top of this substrate. Both VASP and CIF files can be recognized by CALYPSO.

One can set the Substrate control parameter in input.dat to “Auto” or “Automatic” in order to generate substrate automatically via crystal info.

Please see previous example for more information.

For VASP format, chemical symbols should be inserted just before the line of the numbers of atoms.

Diamond-1001.00000 5.054258 0.000000 0.000000 0.000000 5.054258 0.000000 0.000000 0.000000 19.467375 H C 8 24Selective dynamicsDirect 0.10783118 0.00000000 0.21796252 F F F 0.10783118 0.50000000 0.21796252 F F F 0.60783118 0.00000000 0.21796252 F F F 0.60783118 0.50000000 0.21796252 F F F 0.39216882 0.00000000 0.21796252 F F F 0.39216882 0.50000000 0.21796252 F F F 0.89216882 0.00000000 0.21796252 F F F 0.89216882 0.50000000 0.21796252 F F F 0.25000000 0.25000000 0.48632006 T T T ...

Besides, CIF format is also supported. However, one needs to add _selective tag tospecify which atoms are allowed to relax. Please see the following example file:

data_Surf_amcsd_formula_title "H8C48"_symmetry_Int_Tables_number 1_cell_length_a 5.052205_cell_length_b 5.052205_cell_length_c 19.824233_cell_angle_alpha 90.000000_cell_angle_beta 90.000000_cell_angle_gamma 90.000000 loop__space_group_symop_operation_xyzx,y,zloop__atom_site_label_atom_site_fract_x_atom_site_fract_y_atom_site_fract_z_selectiveC 0.00000000 0.25000000 0.74778343 TC 0.00000000 0.75000000 0.74778343 TC 0.50000000 0.25000000 0.74778343 TC 0.50000000 0.75000000 0.74778343 TC 0.25000000 0.25000000 0.70273190 TC 0.25000000 0.75000000 0.70273190 TC 0.75000000 0.25000000 0.70273190 TC 0.75000000 0.75000000 0.70273190 TC 0.25000000 0.50000000 0.65768037 FC 0.75000000 0.00000000 0.65768037 FC 0.25000000 0.00000000 0.65768037 F...

DFTB+ input files of hsd formated are needed to relax structures

dftb_in.hsd_PRE_1 and dftb_in.hsd_PRE_2, control parameters line between“####” will be filled automatically via the program and users shouldn’t change these values.

Besides, users should provide Slater-Koster (SK) files for DFTB+ calculation(Some SK files can be found in this link: http://www.dftb.org/parameters/).

submit.sh is the submission job file for perform the DFTB+ calculation.Here is an example of submit.sh:

#!/bin/bashexport OMP_NUM_THREADS=4/share/apps/dftb+ > dftb.log 2>&1

Once all the input files are ready, you may run the structure prediction via thefollowing command, or alternatively, put this execution command into a job submit script.

./calypso.x > caly.log &

The result analysis process of surface structure prediction is similar to the crystalstructure predictions. You may run the following commands:

cd resultscak.py --cif 

and will see the surface formation enthalpy order of predicted structures inAnalysis_Output.dat file, and these newly predicted structure files with cifformat can be found in dir_0.1 directory.

Please see here for more information about the analyses of CALYPSO results.

7.6.3. Crystal lattice matches of two graphene

This subsection will introduce how to search the matched lattice for two materialswhich is used for building the simulated model for interface structure prediction.

This is an example for matching the lattices for graphene asymmetric grain boundary.The slab model with the optimally matched lattice adopted in the interface structureprediction will be generated automatically from graphene bulk structure.

File:Description
calypso.xThe executable file of CALYPSO program to cleave the surface (i.e. create the primitive vectors of surface) with specified miller index
input.dat.iniThe pre-input file to generate the input.dat file of CALYPSO specifying the controllable key parameters
lat1.cif, lat2.cifStructure files of bulk crystal in cif format with symmetry information
input_mismatch.datInput files of lattice match toolkit
gen_slab_model.shThe script for calling calypso.x
mismatch-zur.xThe executable file of lattice match toolkit

calypso.x can be downloaded according to different operating systems.

input.dat.ini contains all the parameters of calypso.x to cleave the surface.Here is an example:

LSurface = TICode = 1Kgrid = 0.1PopSize = 40MaxStep = 10Pre_surf_relax=FSurface_thickness = 1.5ForbiThickness = 0.50000000SPACESAVING = T@SURFACE_ATOMS # |atomic symbol|count|C 4@END#used to build the surface from bulk info#reconstruction symmetrySubstrate = Auto@MATRIX_NOTATION1 00 1@ENDUse_Cif_File = TCif_File_Path = SUBSTRATEMiller_index = whichSlab_Vacuum_Thick = 15.0Slab_Num_Layers = 8Num_Relaxed_Layers = 2Gen_Substrate=T

lat1.cif and lat2.cif are the user defined initial crystal files used forcleave the surfaces. They are in CIF format and the symmetry information should be included.

input_mismatch.dat

# This variable specifies the maximum area of searched superlattices.MaximumArea = 200.0 # This variable specifies the maximum lattice-mismatch value.MaximumMismatchValue = 0.05 # This variable specifies the maximum component of Miller index used for creating# the facets based on the input crystal structures.MaximumMillerIndex = 5 # The flag specifies whether the input crystal structures are 2D layered materials.# This parameter is set as "True" if the input crystal structures are 2D layered materials.2DStrucuture = F# This parameter is only used for the grain boundary system, in which two bulk phases# are belonged to the same materials. The flag specifies whether the twin boundaries are# preserved. This parameter is set as "True" if the twin boundary is needed to be preserved.SameSubstrate = F# If this parameter is set as "True" only the surface with the Miller indices listed in# the "MillerIndex1List" will be generated. If this parameter is set as "False", all of# surfaces with Miller index less than the specified maximum Miller index will be considered.SpecifyingMillerIndex1 = F# This parameter is a list of specified Miller indices used for generating the surfaces# for the 1st material.@MillerIndex1List1 4 1 @End SpecifyingMillerIndex2 = F@MillerIndex2List1 1 0 @End

gen_slab_model.sh is a script used to call calypso.x program to cleave surface.It can be downloaded from the website: http://download.calypso.cn/

Once all the input files are prepared, you may run the structure prediction via thefollowing command, or alternatively, put this execution command into a job submit script:

./mismatch-zur.x > mis.log

The result is recorded in the file mismatch-total.dat. It’s ranked by the degreeof lattice mismatch (maismatch_value). The parameters “hkl” and “uv” are used toconstruct the surface by other software, such as Material Studios.

No. hkl1 uv1 hkl2 uv2 mismatch_value1 0 0 1 3.00 0.00 0 0 1 -2.00 3.00 1 0.00 3.00 -3.00 -2.002 1 4 1 3.00 3.00 1 1 0 -2.00 2.00 2 -1.00 0.00 0.50 -0.50

7.6.4. Interface structure prediction of SIGMA5(210) grain boundary of rutile TiO2

This subsection will introduce how to predict the interfacial structures using DFTB+as the local structure relaxation code.

In this example, the slab models of bulk phases are needed to be given as input.To perform interface structure prediction, one needs to create a directory andprepare the following files:

File:Description
calypso.xThe executable file for running CALYPSO program
input.datThe input file of CALYPSO specifying the controllable key parameters
SUBSTRATE*The slab models of bulk materials
dftb_in.hsd_PRE-*Input parameter files for DFTB+
-.skfSlater-Koster files for DFTB+
submit.shA script to run DFTB+.

calypso.x can be downloaded according to different operating systems.

input.dat contains all the parameters to run the interface structure predictions.

In this example, we show how to control the program to adopt user specified slab modelsof bulk phases and use DFTB+ code to relax structures locally. Here is an example:

LSURFACE = TLINTERFACE = TICode = 8Rand_Scheme = 3System_type = INTERFACEPopSize = 50MaxStep = 30InterfaceTranslation = bInterface_thckness = 3.5@SURFACE_ATOMSTi 1O 4@END@COORDINATE_NUMBERTi Ti 0 2.5 2.5O O 0 1.8 2.3Ti O 6 1.8 2.5O To 3 1.8 2.5@ENDSubstrate = SUBSTRATE1Substrate2 = SUBSTRATE2

SUBSTRATE* is the user defined slab models of bulk phases.The interface will be generated between two substrates.CIF and VASP formats can be recognized by CALYPSO.Note that filenames are optional but must be identical with the set of filenames in the input.dat file.

SUBSTRATE1

data_TiO2_rutile\(2\1\0)_audit_creation_date 2015-08-27_audit_creation_method 'Materials Studio'_symmetry_space_group_name_H-M 'P1'_symmetry_Int_Tables_number 1_symmetry_cell_setting triclinicloop__symmetry_equiv_pos_as_xyz x,y,z_cell_length_a 2.9590_cell_length_b 10.2725_cell_length_c 30.2725_cell_angle_alpha 90.0000_cell_angle_beta 90.0000_cell_angle_gamma 90.0000loop__atom_site_type_symbol_atom_site_fract_x_atom_site_fract_y_atom_site_fract_z_atom_site_U_iso_or_equiv_atom_site_adp_type_atom_site_occupancy_selective Ti 0.00000 0.00000 -0.00000 0.00000 Uiso 1.00 T Ti 0.00000 0.60000 0.06787 0.00000 Uiso 1.00 T Ti 0.00000 0.20000 0.13573 0.00000 Uiso 1.00 T Ti 0.00000 0.80000 0.20360 0.00000 Uiso 1.00 T Ti 0.00000 0.40000 0.27147 0.00000 Uiso 1.00 T Ti 0.00000 -0.00000 0.33933 0.00000 Uiso 1.00 T Ti 0.50000 0.30000 0.03393 0.00000 Uiso 1.00 T Ti 0.50000 0.90000 0.10180 0.00000 Uiso 1.00 T Ti 0.50000 0.50000 0.16967 0.00000 Uiso 1.00 T Ti 0.50000 0.10000 0.23753 0.00000 Uiso 1.00 T Ti 0.50000 0.70000 0.30540 0.00000 Uiso 1.00 T O 0.00000 0.93904 0.06206 0.00000 Uiso 1.00 T O 0.00000 0.53904 0.12992 0.00000 Uiso 1.00 T O 0.00000 0.13904 0.19779 0.00000 Uiso 1.00 T O 0.00000 0.73904 0.26566 0.00000 Uiso 1.00 T O 0.00000 0.33904 0.33352 0.00000 Uiso 1.00 T O 0.00000 0.26096 0.07368 0.00000 Uiso 1.00 T O 0.00000 0.86096 0.14154 0.00000 Uiso 1.00 T O 0.00000 0.46096 0.20941 0.00000 Uiso 1.00 T O 0.00000 0.06096 0.27728 0.00000 Uiso 1.00 T O 0.50000 0.11712 0.01325 0.00000 Uiso 1.00 T O 0.50000 0.71712 0.08111 0.00000 Uiso 1.00 T O 0.50000 0.31712 0.14898 0.00000 Uiso 1.00 T O 0.50000 0.91712 0.21685 0.00000 Uiso 1.00 T O 0.50000 0.51712 0.28472 0.00000 Uiso 1.00 T O 0.50000 0.48288 0.05462 0.00000 Uiso 1.00 T O 0.50000 0.08288 0.12249 0.00000 Uiso 1.00 T O 0.50000 0.68288 0.19035 0.00000 Uiso 1.00 T O 0.50000 0.28288 0.25822 0.00000 Uiso 1.00 T O 0.50000 0.88288 0.32609 0.00000 Uiso 1.00 T

SUBSTRATE2

data_TiO2_rutile\(2\1\0)_audit_creation_date 2015-08-27_audit_creation_method 'Materials Studio'_symmetry_space_group_name_H-M 'P1'_symmetry_Int_Tables_number 1_symmetry_cell_setting triclinicloop__symmetry_equiv_pos_as_xyz x,y,z_cell_length_a 2.9590_cell_length_b 10.2725_cell_length_c 30.2725_cell_angle_alpha 90.0000_cell_angle_beta 90.0000_cell_angle_gamma 90.0000loop__atom_site_label_atom_site_fract_x_atom_site_fract_y_atom_site_fract_z_atom_site_U_iso_or_equiv_atom_site_adp_type_atom_site_occupancy_selective Ti 0.00000 0.00000 -0.00000 0.00000 Uiso 1.00 T Ti 0.00000 0.60000 0.06787 0.00000 Uiso 1.00 T Ti 0.00000 0.20000 0.13573 0.00000 Uiso 1.00 T Ti 0.00000 0.80000 0.20360 0.00000 Uiso 1.00 T Ti 0.00000 0.40000 0.27147 0.00000 Uiso 1.00 T Ti 0.00000 -0.00000 0.33933 0.00000 Uiso 1.00 T Ti 0.50000 0.30000 0.03393 0.00000 Uiso 1.00 T Ti 0.50000 0.90000 0.10180 0.00000 Uiso 1.00 T Ti 0.50000 0.50000 0.16967 0.00000 Uiso 1.00 T Ti 0.50000 0.10000 0.23753 0.00000 Uiso 1.00 T Ti 0.50000 0.70000 0.30540 0.00000 Uiso 1.00 T O 0.00000 0.93904 0.06206 0.00000 Uiso 1.00 T O 0.00000 0.53904 0.12992 0.00000 Uiso 1.00 T O 0.00000 0.13904 0.19779 0.00000 Uiso 1.00 T O 0.00000 0.73904 0.26566 0.00000 Uiso 1.00 T O 0.00000 0.33904 0.33352 0.00000 Uiso 1.00 T O 0.00000 0.26096 0.07368 0.00000 Uiso 1.00 T O 0.00000 0.86096 0.14154 0.00000 Uiso 1.00 T O 0.00000 0.46096 0.20941 0.00000 Uiso 1.00 T O 0.00000 0.06096 0.27728 0.00000 Uiso 1.00 T O 0.50000 0.11712 0.01325 0.00000 Uiso 1.00 T O 0.50000 0.71712 0.08111 0.00000 Uiso 1.00 T O 0.50000 0.31712 0.14898 0.00000 Uiso 1.00 T O 0.50000 0.91712 0.21685 0.00000 Uiso 1.00 T O 0.50000 0.51712 0.28472 0.00000 Uiso 1.00 T O 0.50000 0.48288 0.05462 0.00000 Uiso 1.00 T O 0.50000 0.08288 0.12249 0.00000 Uiso 1.00 T O 0.50000 0.68288 0.19035 0.00000 Uiso 1.00 T O 0.50000 0.28288 0.25822 0.00000 Uiso 1.00 T O 0.50000 0.88288 0.32609 0.00000 Uiso 1.00 T

DFTB+ input files of hsd format are needed to relax structures:dftb_in.hsd_PRE_1, dftb_in.hsd_PRE_2.

The structures will be relaxed by a set of relatively low precision control parameters indftb_in.hsd_PRE_1 first; then the coarsely relaxed structures will be further relaxedby a set of relatively high-precision parameters in dftb_in.hsd_PRE_2.

Control parameters line between “####” will be filled automatically via the program andusers shouldn’t change these values. Besides, users should provide Slater-Koster (SK)files for DFTB+ calculation (Some SK files can be found in this link: http://www.dftb.org/parameters/).

submit.sh is the submission job file for perform the DFTB+ calculation.Here is an example of submit.sh:

#!/bin/bashexport OMP_NUM_THREADS=4/share/apps/dftb+ > dftb.log 2>&1

Once all the input files are ready, you may run the structure prediction via the followingcommand, or alternatively, put this execution command into a job submit script:

./calypso.x > caly.log 2>&1

The result analysis process of surface structure prediction is similar to the crystalstructure predictions. You may run the following commands:

cd resultscak.py --cif

You will see the interface formation enthalpy order of predicted structures inAnalysis_Output.dat file, and these newly predicted structure files with cifformat can be found in dir_0.1 directory.

Please see here for more information about the analyses of CALYPSO results.

7.7. Design of Superhard Materials

This section is to show the examples for design of superhard materials using CALYPSO code.Here, VASP code is used for geometry optimization and enthalpy calculations.

The CALYPSO input file of input.dat, VASP input files of INCAR_* andpseudopotential file of POTCAR are needed.

The following files should be present in the working directory:

File:Description
calypso.xThe executable file for running CALYPSO program
input.datThe input file of CALYPSO containing controllable key parameters
INCAR_*Input files for VASP
POTCARPseudopotential for VASP
submit.shJob submission file

calypso.x can be downloaded according to different operating systems.

Parameters in input.dat for the carbon system are shown:

SystemName = CarbonNumberOfSpecies = 1NameOfAtoms = CNumberOfAtoms = 1NumberOfFormula = 4 4Volume = 14.0@DistanceOfIon1.30@EndIalgo = 2PsoRatio = 0.6PopSize = 30ICode = 1NumberOfLocalOptim = 4Command = sh submit.shMaxStep = 50Hardness = T

For VASP, the number of INCAR_* (INCAR_1, INCAR_2, …) is in accordance with thesetting tag of NumberOfLocalOptim.

In this example, we use four INCAR files for structure relaxation. INCAR_1 andINCAR_2 are used to perform very coarse structure relaxation keeping the volume fixed.INCAR_3 is used to perform full structure relaxation with medium precision,and INCAR_4 is used to perform very accurate calculations.

INCAR_1

SYSTEM = local optimizationPREC = LOWEDIFF = 3e-2IBRION = 2ISIF = 2NSW = 40ISMEAR = 0 ; SIGMA = 0.05POTIM = 0.5LWAVE = FALSELCHARG = FALSEISTART = 0PSTRESS = 0.001EDIFFG = -4e-2

INCAR_2

SYSTEM = local optimizationPREC = NormalEDIFF = 2e-2IBRION = 2ISIF = 4NSW = 40ISMEAR = 0 ; SIGMA = 0.05POTIM = 0.2LWAVE = FALSELCHARG = FALSEPSTRESS = 0.001EDIFFG = -1e-2

INCAR_3

SYSTEM = local optimizationPREC = NormalEDIFF = 2e-4IBRION = 1ISIF = 3NSW = 40ISMEAR = 0 ; SIGMA = 0.05POTIM = 0.1LWAVE = FALSELCHARG = FALSEPSTRESS = 0.001EDIFFG = 1e-3

INCAR_4

SYSTEM = local optimizationENCUT = 600EDIFF = 1e-5IBRION = 2ISIF = 3NSW = 80ISMEAR = 0 ; SIGMA = 0.05POTIM = 0.1LWAVE = FALSELCHARG = FALSEPSTRESS = 0.001EDIFFG = 1e-4

Hint

Multi-optimization strategy for structure relaxation is strongly suggested

POTCAR should be provided.

Important

ATTENTION!!! The order of elements in POTCAR must be identical to the element orderin the setting tag of NameOfAtoms.

submit.sh is the submission job file for performing the VASP calculations.Here is an example of submit.sh:

Once all the input files are ready, you can just type

./calypso.x > caly.log &

to execute the CALYPSO code in the sequential mode.Or you can write this command into the pbs script and submit it.

CALYPSO will generate the results folder, which contains all outputs files ofCALYPSO. To analyze the results, just type following command:

cd resultscak.py --cif –hard

The index of the structures sorted by hardness in the descending order is presented inAnalysis_Output.dat file, and these newly predicted structure files with cifformat are shown in dir_0.1 directory.

Please see here for more information about the analyses of CALYPSO results.

7.8. Structure prediction of atom or molecule adsorption of 2D layer material

This section is to show the example for the structure prediction of hydrogenated graphene.Here, DFTB+ code was used for geometry optimization and energy calculations.

The CALYPSO input file of input.dat, 2D substrate structure information file ofSUB.dat, DFTB+ input files of dftb_in_*.hsd and Slater-Koster (SK) files of*.skf are needed.

File:Description
calypso.xThe executable file for running CALYPSO program
input.datThe input file of CALYPSO containing controllable key parameters
SUB.dat2D substrate structure information
Dftb_in_*.hsdInput files for DFTB+
*.skfSK files for DFTB+
submit.shJob submission file

calypso.x can be downloaded according to different operating systems.

Parameters in input.dat for the hydrogenated graphene system are shown:

SystemName = Hydrogenated-grapheneNumberOfSpecies = 2NameOfAtoms = C HIalgo = 2PsoRatio = 0.6ICode = 8NumberOfLocalOptim = 2Command = sh submit.shPopSize = 30MaxStep = 30Adsoption = TAdsoptionStyle = 2NumberOfTypeAtom = 1@AdatomsH 2 2@End@SuperCell2 00 2@EndRangeOfZAxis = 1.4 1.2

SUB.dat contains the 2D substrate structure information. Here we take graphene as an example:

graphine1.0 2.45940000 0.0000000 0.000000 -1.2297000 2.1298750 0.000000 0.00000000 0.0000000 15.00000 C 2Direct 0.66667 0.33333 0.50000 0.33333 0.66667 0.50000points2 0.66667 0.33333 0.50000 0.33333 0.66667 0.50000

The structure information is given in the format of POSCAR.

If AdsorptionStyle is set to 2 in input.dat, the adsorption site is needed.

The line below the word points gives numbers of sites in the cell.The next few lines give the direct coordinates of adsorption sites.

DFTB+ input files in hsd formated are needed to relax structures: dftb_in_1.hsd, dftb_in_2.hsd.Besides, users should provide Slater-Koster (SK) files for DFTB+ calculation(Some SK files can be found in this link: http://www.dftb.org/parameters/).

submit.sh is the submission job file for perform the DFTB+ calculation.Here is an example of submit.sh:

#!/bin/bashexport OMP_NUM_THREADS=4/share/apps/dftb+ > dftb.log 2>&1

Once all the input files are ready, you may run the structure prediction via thefollowing command, or alternatively, put this execution command into a job submit script.

./calypso.x > caly.log &

The result analysis process of surface structure prediction is similar to the crystalstructure predictions. You may run the following commands:

cd resultscak.py --cif 

and will see the surface formation enthalpy order of predicted structures inAnalysis_Output.dat file, and these newly predicted structure files with cifformat can be found in dir_0.1 directory.

Please see here for more information about the analyses of CALYPSO results.

7.9. Design of Optical Materials with Desirable Electronic Band Gap

This section is to show the examples for design of optical materials with desirableelectronic band gap using CALYPSO code.

We take the structure prediction of carbon (C) as an example. Here, VASP code was usedfor geometry optimization and enthalpy calculations.

The CALYPSO input file of input.dat and VASP input files of INCAR_* andpseudopotential file of POTCAR are needed.

The following files should be present in the working directory:

FilesDescription
calypso.xThe executable file for running CALYPSO program
input.datThe input file of CALYPSO containing controllable key parameters
INCAR_*Input files for VASP
POTCARPseudopotential for VASP
submit.shJob submission file

calypso.x can be downloaded according to different operating systems.

Parameters in input.dat are shown below:

SystemName = CNumberOfSpecies = 1NameOfAtoms = CNumberOfAtoms = 1Band_edge = TTarBandGap = 2.5NumberOfFormula = 4 4Volume = 15.0@DisatanceOfIon1.0@EndIalog = 2PsoRatio = 0.6PopSize = 30ICode = 1NumberOfLocalOptim = 4Command = sh submit.shMaxStep = 30

VASP, the number of INCAR_* (INCAR_1, INCAR_2, …) should be larger than thesetting tag NumberOfLocalOptim.

In this example, we use four INCAR files for structure relaxation and one INCAR filesfor calculating band gap.

INCAR_1 and INCAR_2 are used to perform very coarse structure relaxationkeeping the volume fixed, INCAR_3 is used to perform full structure relaxationwith medium precision, INCAR_4 is used to perform very accurate calculations,and INCAR_META is used to perform very accurate band gap calculations.

INCAR_1

SYSTEM local optimizationPREC = LOWEDIFF = 3e-2IBRION = 2ISIF = 2NSW = 40ISMEAR = 0 ; SIGMA = 0.5POTIM = 0.5LWAVE = FALSELCHARG = FALSEISTART = 0PSTRESS = 0.001EDIFFG = -4e-2

INCAR_2

SYSTEM local optimizationPREC = NormalEDIFF = 2e-2IBRION = 2ISIF = 4NSW = 40ISMEAR = 0 ; SIGMA = 0.05POTIM = 0.2LWAVE = FALSELCHARG = FALSEPSTRESS = 0.001EDIFFG = -4e-1

INCAR_3

SYSTEM local optimizationPREC = NormalEDIFF = 2e-4IBRION = 1ISIF = 3NSW = 40ISMEAR = 0 ; SIGMA = 0.05POTIM = 0.1LWAVE = FALSELCHARG = FALSEPSTRESS = 0.001EDIFFG = 2e-3

INCAR_4

SYSTEM local optimizationENCUT = 400EDIFF = 1e-5IBRION = 2ISIF = 3NSW = 80ISMEAR = 0 ; SIGMA = 0.05POTIM = 0.1LWAVE = FALSELCHARG = FALSEPSTRESS = 0.001EDIFFG = 2e-3

INCAR_META

SYSTEM local optimizationPREC = AccurateENCUT = 400EDIFF = 1e-6IBRION = -1ISMEAR = -5 ; SIGMA = 0.05METAGGA = MBJLASPH = .TRUE.LMINTAU = .TRUE.NELM = 80NEDOS = 800

Hint

Multi-optimization strategy for structure relaxation is strongly suggested

POTCAR should be provided.

Meta-GGA calculations require POTCAR files containing information on the kinetic energydensity of the core-electrons. To check the pseudopotential file (POTCAR), please type:

grep kinetic POTCAR

This should yield at least the following lines (for each element on the file):

kinetic energy-densitymkinetic energy-density pseudized

and for PAW datasets with partial core corrections:

kinetic energy density (partial)

Important

ATTENTION!!! The order of elements in POTCAR must be identical to the element orderin the setting tag of NameOfAtoms.

submit.sh is the job submission file for performing the VASP calculations.Here is an example of submit.sh (VASP.4.* version is not support META-GGA):

#!/bin/bashmpdbootmpiexec -n 12 vasp_std > vasp.log 2>&1

Once all input files are ready, you can just type

./calypso.x > caly.log &

to execute the CALYPSO in the sequential mode.Or you can write this command into the pbs script and submit it.

CALYPSO will generate the results folder, which contains all outputs files.To analyze the results of CALYPSO, just type following command:

cd resultscak.py --cif

The index of the structures sorted by band gap in the ascending order is presented inAnalysis_Output.dat file, and these newly predicted structure files with cifformat are shown in dir_0.1 directory.

Please see here for more information about the analyses of CALYPSO results.

7.10. Crystal Structure Prediction with Fixed Cell Parameters or Atomic Positions

This section is to show the examples for the three-dimensional crystal structureprediction with fixed cell parameters or partial atomic positions using CALYPSO code.Here, VASP code is used for geometry optimization and enthalpy calculations.

The CALYPSO input file of input.dat and VASP input files of INCAR_* andpseudopotential file of POTCAR are needed.

The following files should be presented in the working directory:

FileDescription
calypso.xThe executable file for running CALYPSO program
input.datThe input file of CALYPSO containing controllable key parameters
cell.datThe input file contains fixed cell parameters and atomic positions
INCAR_*Input files for VASP
POTCARPseudopotential for VASP
submit.shsubmission job file

calypso.x can be downloaded according to different operating systems.

Parameters in input.dat are shown as below:

SystemName = SiCNumberOfSpecies = 2NameOfAtoms = C SiNumberOfAtoms = 4 4NumberOfFormula = 1 1@DistanceOfIon 1.2 1.4 1.4 1.4@EndIalgo = 2PsoRatio = 0.6PopSize = 5ICode= 1NumberOfLbest=4NumberOfLocalOptim= 3Command = sh submit.shFixCell= TFixAtom= T

cell.dat file contains the fixed information of cell parameters and partial atomic positions.

In this example, the atomic positions of C are fixed.The first three lines indicate the lattice matrix.The forth line is the number of atoms to be fixed followed with the fixed coordinates of atomic positions.

4.4 0.0 0.00.0 4.4 0.00.0 0.0 4.44 00.0 0.0 0.00.5 0.5 0.00.5 0.0 0.50.0 0.5 0.5

In this example, three INCAR files are used for structure relaxation:

INCAR_1 and INCAR_2 files are used to perform very coarse structure relaxation withthe fixed volume, and INCAR_3 file is used to perform full structure relaxation(i.e., variable lattice parameters, variable volumes, and variable atomic coordinates)with medium and accurate precision, respectively.

INCAR_1

SYSTEM = optimizationPREC = LOWEDIFF = 3e-2SYMPREC = 1e-3IBRION = 2ISIF = 2NSW = 45ISMEAR = 1 ; SIGMA = 0.2POTIM = 0.05PSTRESS = 0.01EDIFFG = -4e-2

INCAR_2

SYSTEM = optimizationPREC = NormalEDIFF = 2e-2SYMPREC = 1e-3IBRION = 2ISIF = 2NSW = 55ISMEAR = 1 ; SIGMA = 0.2POTIM = 0.1PSTRESS = 0.01EDIFFG = -4e-1

INCAR_3

SYSTEM = optimizationPREC = AccurateENCUT = 520EDIFF = 1e-5IBRION = 2ISIF = 3NSW = 60ISMEAR = 1 ; SIGMA = 0.2POTIM = 0.05PSTRESS = 0.01EDIFFG = 1e-3

Hint

Multi-optimization strategy for structure relaxation is strongly suggested

POTCAR should be provided.

Important

ATTENTION!!! The order of elements in POTCAR must be identical to the element orderin the setting tag of NameOfAtoms.

submit.sh is the job submission file for performing the VASP calculations.Here is an example of submit.sh:

#!/bin/bashmpdbootmpiexec -n 12 vasp_std > vasp.log 2>&1

Once all input files are ready, you can just type

./calypso.x > caly.log &

to execute the CALYPSO in the sequential mode.Or you can write this command into the pbs script and submit it.

CALYPSO will generate the results folder, which contains all outputs files.To analyze the results of CALYPSO, just type following command:

cd resultscak.py --cif

The index of the structures sorted by enthalpies in the ascending order is presented inAnalysis_Output.dat file, and these newly predicted structure files with cifformat are shown in dir_0.1 directory.

Please see here for more information about the analyses of CALYPSO results.

7.11. Structural Prediction via X-ray Diffraction Data

This section is to show the example for the structural prediction of ZnO via X-raydiffraction data using CALYPSO code. Here, VASP code was used for geometry optimizationand enthalpy calculations.

The CALYPSO input file of input.dat and VASP input files of INCAR_* andpseudopotential file of POTCAR are needed.

The following files should be present in the working directory:

FilesDescription
calypso.xThe executable file for running CALYPSO program
input.datThe input file of CALYPSO containing controllable key parameters
INCAR_*Input files for VASP
POTCARPseudopotential file for VASP
submit.shJob submission file
XRD.dataThe experimental XRD data

calypso.x can be downloaded according to different operating systems.

Parameters in the input.dat are shown below:

SystemName = ZnONumberOfSpecies = 2NameOfAtoms = Zn ONumberOfAtoms = 1 1NumberOfFormula = 2 2Volume = 25.0@DistanceOfIon1.0 1.01.0 1.0@EndIalog = 2PsoRatio = 0.6PopSize = 30ICode = 1NumberOfLocalOptim = 3Command = sh submit.shMaxStep = 30LXRD = TWaveLength = 1.54056StepOf2Theta = 0.02RangeOf2Theta = 20.0 80.0StandardPeakPosition = 35.8 36.8

XRD.dat file contains the information of the experimental XRD data.The values of the first row and second row are \(2\theta\) and intensities of XRD, respectively.

20.00 38.301420.02 38.301420.04 38.3014...

For VASP, the number of INCAR_* (INCAR_1, INCAR_2, …) files should be inaccordance with the setting tag NumberOfLocalOptim.

In this example, three INCAR files are used for structure relaxation:

INCAR_1 and INCAR_2 files are used to perform very coarse structure relaxation withthe fixed volume, and INCAR_3 file is used to perform full structure relaxation(i.e., variable lattice parameters, variable volumes, and variable atomic coordinates)with medium and accurate precision, respectively.

INCAR_1

SYSTEM = optimizationPREC = LOWEDIFF = 1e-2IBRION = 2ISIF = 2NSW = 45ISMEAR = 0 ; SIGMA = 0.05POTIM = 0.05PSTRESS = 0.001EDIFFG = -4e-1

INCAR_2

SYSTEM = optimizationPREC = NormalEDIFF = 2e-3IBRION = 2ISIF = 4NSW = 55ISMEAR = 0 ; SIGMA = 0.05POTIM = 0.1PSTRESS = 0.001EDIFFG = -4e-1

INCAR_3

SYSTEM = optimizationPREC = AccurateENCUT = 520EDIFF = 1e-4IBRION = 2ISIF = 3NSW = 200ISMEAR = 0 ; SIGMA = 0.05POTIM = 0.05PSTRESS = 0.001

Hint

Multi-optimization strategy for structure relaxation is strongly suggested

POTCAR should be provided.

Important

ATTENTION!!! The order of elements in POTCAR must be identical to the element orderin the setting tag of NameOfAtoms.

submit.sh is the job submission file for performing the VASP calculations.Here is an example of submit.sh:

#!/bin/bashmpdbootmpiexec -n 12 vasp_std > vasp.log 2>&1

Once all input files are ready, you can just type

./calypso.x > caly.log &

to execute the CALYPSO in the sequential mode.Or you can write this command into the pbs script and submit it.

CALYPSO will generate the results folder, which contains all outputs files.To analyze the results of CALYPSO, just type following command:

cd resultscak.py --cif

The index of the structures sorted by enthalpies in the ascending order is presented inAnalysis_Output.dat file, and these newly predicted structure files with cifformat are shown in dir_0.1 directory.

Please see here for more information about the analyses of CALYPSO results.

7.12. Prediction of Transition States in Solids

This section is to show the example for the prediction of transition state of diamondto b-Sn of Si using CALYPSO code.Here, VASP code was used for enthalpy calculations.

The CALYPSO input file of input.dat and VASP input files of INCAR_1 andpseudopotential file of POTCAR are needed.

The following files should be present in the working directory:

FilesDescription
calypso.xThe executable file for running CALYPSO program
input.datThe input file of CALYPSO containing controllable key parameters
INCAR_1Input files for VASP
POTCARPseudopotential file for VASP
submit.shJob submission file
IF_struct.datThe structures of initial and final states

calypso.x can be downloaded according to different operating systems.

Parameters in input.dat are shown below:

SystemName = SiNumberOfSpeceis = 1NameOfAtoms = SiNumberOfAtoms = 8NumberOfFormula = 1 1Volume = 35.0@DistanceOfIon1.0@EndIalgo = 1PsoRatio = 0.6PopSize = 6ICode = 1Command = sh submit.shMaxStep = 30LTranState = TNumberOfImages = 3

IF_struct.dat file contains the structural information of initial and final states.

Here we take phase transition of diamond to b-Sn in Si as an example. The structuralinformation of initial state is followed by the structure of final state.

The format of each structure in IF_struct.dat file is the same with that used in VASP code:

  • the first line is treated as a comment line

  • the second line provides a universal scaling factor to scale all lattice vectors(the value is set to 1.0 in our module).

  • the following three lines are three lattice vectors defining the unit cell of thesystem (first line corresponding to the first lattice vector, second to thesecond, and third to the third)

  • the sixth line supplies the number of atoms per atomic species (one number for eachatomic species), and the ordering must be consistent with the POTCAR

  • the seventh line (“Direct”) specifies the atomic position are provided in fractional coordinates

  • the next lines give the three coordinates for each atom

Si-initial state 1.0 5.46668 0.0 0.0 0.0 5.46668 0.0 0.0 0.0 5.46668 8Direct 0.25 0.25 0.25 0.75 0.75 0.25 0.75 0.25 0.75 0.25 0.75 0.75 0.0 0.0 0.0 0.0 0.5 0.5 0.5 0.0 0.5 0.5 0.5 0.0Si-final state 1.0 4.68599 0.0 0.0 0.0 4.69686 0.0 0.0 0.0 5.16999 8Direct 0.0 0.5 0.125 0.5 0.5 0.25 0.0 0.0 0.0 0.5 0.0 0.875 0.5 0.5 0.75 0.0 0.0 0.5 0.5 0.0 0.375 0.0 0.5 0.625

In this example, VASP code is used for structure relaxation, one input fileINCAR_1 is needed:

INCAR_1

SYSTEM = scfPREC = AccurateNSW = 1IBRION = -1EDIFF = 1e-3ISMEAR = 1 ; SIGMA = 0.2PSTRESS = 0.001

POTCAR should be provided.

Important

ATTENTION!!! The order of elements in POTCAR must be identical to the element orderin the setting tag of NameOfAtoms.

submit.sh is the job submission file for performing the VASP calculations.Here is an example of submit.sh:

#!/bin/bashmpdbootmpiexec -n 12 vasp_std > vasp.log 2>&1

Once all input files are ready, you can just type

./calypso.x > caly.log &

to execute the CALYPSO in the sequential mode.Or you can write this command into the pbs script and submit it.

CALYPSO will generate the results folder, which contains all outputs files.To analyze the results of CALYPSO, just type following command:

cd resultscak.py --cif

The index of the structures sorted by enthalpies in the ascending order is presented inAnalysis_Output.dat file, and these newly predicted structure files with cifformat are shown in dir_0.1 directory.

Please see here for more information about the analyses of CALYPSO results.

7.13. Accelerating Structure Prediction by Machine Learning Potentials (MLP)

This section is to show the example for accelerating CALYPSO structure prediction byMachine Learning Potentials (MLP).

The following files will be used in this part:

FilesDescription
calypso.xThe executable file for running CALYPSO program
input.datThe input file of CALYPSO containing controllable key parameters
get_vasp.pyPython script that extracts structural information (structure, energy, atomic force and cell stress) from VASP OUTCAR file
config/testThe training/testing data set file for fitting MLP
neural.inThe parameters of atom-centered symmetry function
gap_parametersThe parameters of machine learning potential
cgg2.pyThe Python script used for controlling all prediction process

For accelerating CALYPSO structure prediction by MLP, you only need three steps:

  1. Constructing training (and testing) data set

  2. Fitting MLP

  3. Accelerating CALYPSO by well-trained MLP

7.13.1. Constructing training (and testing) data set

config

Structural information used for training MLP

test (optional)

Structural information used for testing the precision and transferability of MLP

For constructing the config/test file, you need to prepare a lot of OUTCAR filesnamed as OUTCAR_* (* means arbitrary string you want) in one directory:

get_vasp.py OUTCAR_1 OUTCAR_2 ...

Then using this command to obtain the config/test file:

python get_vasp.py

7.13.2. Fitting MLP

For fitting MLP, the following files should be present in the working directory:

calypso.x config test input.dat neural.in

and the following parameters should be modified in input.dat.

MLP_IMODE : int, optional, default 0

must be set to 2 for fitting MLP

NumberOfSpecies : int

number of atomic species

NameOfAtoms: string

element symbols

WeightOfAtoms : list[float]

weight of each atomic species in calculating atom centered symmetry function (ACSF)

Rcut : float, optional, default 6.0

defines the spherical region in calculating atomic neighboring list (unit: \(\mathring{A}\))

SigmaE : float, optional, default 0.001

relative weight of energy in fitting MLP

SigmaF : float, optional, default 0.01

relative weight of atomic force in fitting MLP

SigmaS : float, optional, default 0.01

relative weight of cell stress in fitting MLP

Ltrain : logical, optional, default True

whether fitting MLP using config file

Ltest : logical, optional, default True

whether testing MLP using test file

Lstress : logical, optional, default True

whether include information of cell stress in fitting MLP

Isparse : int, optional, default 3

sparse method in Gaussian process, currently 3 is supplied only

Sparsecut : float, optional, default 1.0

threshold value of distance between two atomic feature vectors in sparse process

With our experience, there is no need to modify neural.in for different elementary or binary system.

Once all the input files are ready, run

./calypso.x

and drink a cup of tea.

After it finished successfully, you will get the parameter file of MLP gap_parametersand the predicted results predicted.dat on test file using fitted MLP.

7.13.3. Structure prediction assisted by MLP

If you have fitted the MLP which reached required accuracy, you could acceleratestructure prediction by this MLP.

The following files should be present in the working directory:

input.dat gap_parameters cgg2.py

and the following parameters should be modified in input.dat:

Split

logical, must be set to True, default False

NumberOfParallel

int, number of structural optimization tasks which could be run parallelly.For convenience, PopSize should be divisible by NumberOfparallel, default 20

CALYPSO_PATH

string, absolute path of calypso.x

GAPP_PATH

string, absolute path of gap_parameters

Pstress

float, external pressure in structural optimization (Unit: GPa)

Ftol

float, break condition of energy (Unit: eV), default 0.0005

Gtol

float, break condition of the gradient of energy (Unit: eV/\(\mathring{A}\)), default 0.005

Maxcycle

int, maximum number of structural optimization tasks, default 200

MaxTime

float, maximum time of structural optimization tasks (Unit: s), default 1000

Once all input files are ready, type the following command:

nohup python cgg2.py > caly.log &

The output files are similar to the normal CALYPSO structure prediction.

Please see here for more information about the analyses of CALYPSO results.

7. Examples — CALYPSO  documentation (2024)
Top Articles
Latest Posts
Article information

Author: Pres. Carey Rath

Last Updated:

Views: 5692

Rating: 4 / 5 (41 voted)

Reviews: 80% of readers found this page helpful

Author information

Name: Pres. Carey Rath

Birthday: 1997-03-06

Address: 14955 Ledner Trail, East Rodrickfort, NE 85127-8369

Phone: +18682428114917

Job: National Technology Representative

Hobby: Sand art, Drama, Web surfing, Cycling, Brazilian jiu-jitsu, Leather crafting, Creative writing

Introduction: My name is Pres. Carey Rath, I am a faithful, funny, vast, joyous, lively, brave, glamorous person who loves writing and wants to share my knowledge and understanding with you.