当前位置:首页 >> 工学 >>

CALYPSO教程


U s e r' s G u i d e

CALYPSO version 1.3.0
October 28, 2011
Written by Yanming Ma, Yanchao Wang, Jian Lv and Li zhu
State Key Laboratory of Superhard Materials, Jilin University, Changchun 130012, China

Please contact with Yanchao Wang (wyc09@mails.jlu.edu.cn), Jian Lv (jianlv10@mails.jlu.edu.cn), Li Zhu (zhuli10@mails.jlu.edu.cn) and Yanming Ma (mym@jlu.edu.cn) for any technical questions or any bugs.

http://nlshm-lab.jlu.edu.cn/YanmingMa/mym.htm Copyright ? 2011 Jilin University. All Rights Reserved.

CONTENTS
?
1.? INTRODUCTION ....................................................................................................... 3? 2.? COMPILATION.......................................................................................................... 4? 3.? EXECUTION OF THE PROGRAM ........................................................................... 4? 4.? INPUT FILE ................................................................................................................ 5? 5.? OUTPUT FILES ........................................................................................................ 11? 6.? THE RESULTS ANALYSIS .................................................................................... 12? 7.? SOME PUBLICATIONS FROM USE OF CALYPSO ............................................ 13? 8.? FUTURE DEVELOPMENT ..................................................................................... 13? 9.? ACKNOWLEDGMENTS ......................................................................................... 13?

1.

INTRODUCTION

CALYPSO (Crystal structure AnaLYsis by Particle Swarm Optimization) is a package for crystal structure prediction through particle swarm optimization algorithm. The approach requires only chemical compositions for a given compound to predict stable or metastable structures at given external conditions (e.g., pressure and temperature), thus the CALYPSO package can be used to identify/determine the crystal structure and design the multi-functional materials. Its main characteristics are: The Crystal Structure Prediction uses no experimental information, with just the chemical compositions and external conditions. The symmetry constraint is imposed in the structure generation. A particularly devised geometrical structure parameter is implemented to enhance the structure search efficiency. Incorporation of partial structural information is possible, e.g., fixed experimental cell parameters, fixed space group or fixed partial atomic positions. It is written in Fortran 95 and memory is allocated dynamically.

It routinely provides: crystal structure prediction molecular crystal structure prediction cluster structure prediction 2-dimensional structure prediction

For more details on the formalism, see the reference cited below.

Reference:

“Crystal structure prediction via particle-swarm optimization” Yanchao Wang, Jian Lv, Li Zhu and Yanming Ma*, Phys. Rev. B 82, 094116 (2010).

3

2. COMPILATION
For CALYPSO installation, basic UNIX knowledge is required. The user should be acquainted with the tar, gzip, awk, sed and make commands of the UNIX environment. To install CALYPSO, you need: A minimal UNIX/LINUX environment. Fortran-95(Intel Fortran Compiler) compilers. VASP should be installed on your computer. There are development interfaces with other codes (SIESTA and GULP ). If you want to compile the program, please simply use the following commands. $ tar zvxf Calypso_*.tar.gz $ cd CALYPSO_* $ sh install.sh A new folder "Workspace" will be built for CALYPSO run.

3. EXECUTION OF THE PROGRAM
A fast way to check your installation of CALYPSO code can be found in the directory of “Tests”. Please simply run the commands. $ cd CALYPSO_*/Tests $ ./calypso.x > log & Other examples are provided in the “path-to-package/Examples” directory. This directory contains basic input.dat and shell scripts for running CALYPSO. We describe here in details how to run crystal structure prediction on Silicon. It is advisable to create independent directories for each job, so that everything is clean and neat. Please go to your working directory and: $ mkdir Si $ cd Si $ cp path-to-package/Examples/Si/* ./ . The working directory should contain the following necessary files: (1) The CALYPSO input file: input.dat 4

(2) The executable file: calypso.x (3) Some executable shell scripts: submit.sh, getenth.py, contcar.py. (4) The VASP input files: INCAR and POTCAR. Now you are ready to run the program: ./calypso.x >log & After a successful run of the program, you should have several VASP output files and a new directory named results in your working directory. This new directory includes several files: 1. 2. 3. 4. 5. 6. CALYPSO.log CALYPSO_input.dat similar.dat pso_ini_* pso_opt_* pso_sor_*

4. INPUT FILE
The main input file named as input.dat, contains all the necessary parameters for the simulation. This file is written in a special format, which allows data to be given in any order, or to be omitted in favor of default values. Here we offer a glimpse of the specific settings: The syntax is “data label” = “value1 value2 value3 …”. Values that are not specified in the input.dat file are assigned a default value. The labels are case sensitive. All text following the # character is taken as comment. Logical values can be specified as T, true, F, false. There are several examples for the input.dat file in the Examples folder. We here take 2-dimensional as an example:

5

________________________________________________________________________ # System Name default=CALYPSO SystemName = BN-2D # the number of elements NumberOfSpecies = 2 # the name of element (The order is the same as POTCAR) NameOfAtoms = B N # the number of elements NumberOfAtoms = 1 1 # atomic numbure AtomicNumber = 5 7 # the max step of iteration MaxStep =50 # Use to predict the 2-dimensional structure(testing now) 2D = T #The area of 1 f.u.(unit=angstrom^2) Area = 6 #The shortest distance between atoms in plane. LAtom_Dis =1.1 # the volume of 1 f.u. unit=angstrom^3 Volume=32 @DistanceOfIon 1.0 1.0 1.0 1.0 @end # the ratio of survive to do PSO PsoRatio = 0.6 # The algorithm Ialgo = 3 # It determines which code should be interface to optimize the structure in the simulation. Icode= 1

6

# How many times to do local optimization NumberOfLocalOptim= 3 # The KPOINTS Distance Kgrid = 0.1 0.07 # The command to submit the job (change it according to your computers) Command = sh submit.sh # The number of formula in the unit cell NumberOfFormula = 1 1 # The Population size PopSize =20 # Use to predict the molecular structure(testing now) Mol=F # only used to continue a previous calculation. PickUp= F #which step shall the previous calculation be picked up PickStep =5 #fixed the space group #SpeSpaceGroup = 23 48 # only used for cluster (testing now) Cluster= F #Parallel = T #NumberOfParallel = 4 ________________________________________________________________________

Here follows a description of the variables that you can define in your CALYPSO input file (input.dat), with their data types and default value.

SystemName (string): A string of one or several words contain a descriptive name of the system (max. 40 characters). Defualt value: CALYPSO

7

NumberOfSpecies (integer): Number of different atomic species in the simulation. Default value: There is no default. You must supply this variable.

NameOfAtoms (string): Element symbols of the different chemical species. Default value: There is no default. You must supply this variable.

AtomicNumber (integer): Atomic Number of each chemical species. Default value: There is no default. You must supply this variable.

NumberOfAtoms (integer): Number of atoms for each chemical species in one formula unit. Default value: There is no default. You must supply this variable.

NumberOfFormula (integer): The range of formula unit per cell in your simulation. The first number is the minimum number of formula unit, and the second number is the maximum number of formula unit. In the above MgSiO3 example, “NumberOfFormula = 4 4” means using 4 formula units in your simulation. If use the default value “1 4”, you will perform calculations with 1, 2, 3, 4 formula units, i.e., four different CALYPSO calculations. Default value: 1 4

Volume (real): The volume per formula unit. Unit is in angstrom^3. The volume can guess by the volume of elementary substance. If it is zero, the program will automatically guess the volume through the radius of ions. Default value: 0

@DistanceOfIon (real): Minimal distance between atoms of each chemical species. Unit is in angstrom. The matrix of parameters (order of the matrix) are determined by “ NumberOfSpecies”. For example, it should be set as follows for “NumberOfSpecies=2” d11 d12 d21 d22 8

@end Default value: 0.7 ?

Ialgo (integer): It determines which algorithm should be adopted in the simulation. 1: local PSO algorithm 2: Hybrid PSO (implemented, testing now) 3: global PSO algorithm. Default value: 3 ICode (integer): It determines which code should be interface to optimize the structure in the simulation. 1: VASP 2: SIESTA 3: GULP Default value: 1

NumberOfLocalOptim(integer): It determines how many times a structure is optimized in the simulation. Our tests indicate that three times are the best choice. The file of INCAR should be adjusted according to this parameter. The details can be found in examples. Default value: 4

PsoRatio (real): The proportion of the structures generated by PSO, and the other structures will be generated randomly. Default value: 0.6

PopSize (integer): The population size. Normally, it has a larger number for larger systems. Default value: 30

Kgrid (real): The precision of the K-point sampling for local optimization (VASP or SIESTA). The Brillouin zone sampling uses a grid of spacing 2π × Kgrid ?-1. The first 9

value controls the precision of the first three local optimizations, and the second value with denser K-points controls the last optimization. The smaller value normally gives finer optimization results. Default value: 0.12 0.06

Command (string): The command to perform optimization on your computer. Default value: There is no default.

Mol (logical): If True, a molecular structure prediction is performed. (Testing now) Default value: false

D2(logical): If True, 2-dimensional structure prediction is performed. Default value: false

Area(real): The Area for the 2-dimensional structure. Default value: There is no default.

LAtom_Dis(real): The shortest distance of atoms in 2-dimensional structure. Default value: There is no default.

SpeSpaceGroup (integer): The specified space group for the initial structures. Default value: 0 0 (Don’t specify space group)

Cluster (logical): If True, a cluster structure prediction is performed. (Testing now) Default value: false

MaxStep (integer): The maximum number of PSO iterations. It has a larger value for a larger system. Default value: 50

PickUp(logical): If True, a previous calculation will be continued. 10

Default value: false

PickStep(integer): At which step the previous calculation will be picked up. Default value: There is no default. If PickUp=True, you must supply this variable.

MaxTime(integer): The maximum time of one local structure optimization. If the time beyond MaxTime, the optimization will be killed and start to optimize a new structure. Default value: 7200 seconds

Parallel (logical): If Ture, the parallel calculations will be performed (Testing now). In current version, VASP code is the only interface to optimize the structure. Note that you must run the CALYPSO code in remote mode in this case. And we only tested the torque resource manager. If you want to perform calypso in this mode, you must modify the server name of your remote supercomputer and the ssh port in ‘submitremote.sh’ file. Furthermore, the pbs script to submit the vasp job must be renamed as ‘vasp.pbs’. Default value: false

NumberOfParallel (integer): The number of parallel calculations will be performed. Default value: 4

The INCAR (INCAR_*), POTCAR and vasp.pbs (if Parallel = T) are needed for local optimization (VASP). The input files of SIESTA (sinput_*) and pseudo potential files (*.psf) are needed for local optimization (SIESTA). The input files of GULP (ginput_*) are needed for local optimization (GULP).

5. OUTPUT FILES
The main outputs of CALYPSO run are in the “results” folder: CALYPSO_input.dat: It includes the information in input file. CALYPSO.log: It includes the information of the structures (the space group number, 11

the volume, the number of atoms, etc.). similar.dat: It includes the geometrical structure parameters of predicted structures. pso_ini_*: It includes the information of the initial structure of the *-th iteration step. pso_opt_*: It includes the enthalpy and structural information after local optimization of the *-th iteration. pso_sor_*: The enthalpy sorted in ascending order of the *-th iteration step.

6. THE RESULTS ANALYSIS
To analyze the results, you can 1. Install ISOROPY package (http://stokes.byu.edu/isotropy.html) on your computer. 2. Copy path-to-package/Tools/pos2find.py and CALYPSO_ANALYSIS.py to your $PATH (eg: /usr/local/bin/, $HOME/bin/). 3. Go to the results folder and type If VASP is used to optimize the structures, please type $ CALYPSO_ANALYSIS.py [Value1] [Value2] Value1(integer): The number of low enthalpy structure. We suggest a number of 100. Value2(integer): The Tolerance to identify the space group for ISOROPY. Tolerance=(10-Value2). We suggest to use 1.0 If SIESTA is used to optimize the structures, please type $ siesta.py [Value1] [Value2] Value1(integer): The number of low enthalpy structure. We suggest a number of 100. Value2(integer): The Tolerance to identify the space group for ISOROPY. Tolerance=(10-Value2). We suggest to use 1. All structures generated by CALYPSO will be analyzed. The main output file named as “Analysis_Output.dat” contains three column numbers. The first column is the index of the structure sorted by enthalpies in ascending order. The second column is the number of space group, and the third column is the value of enthalpy of the particular structure. The structural information of each structure is written 12

in cif format. The file name is X_Y.cif. The “X” is the number of structure and the “Y” is the number of space group.

7. SOME PUBLICATIONS FROM USE OF CALYPSO
1. Predicted novel high-pressure phases of lithium Phys. Rev. Lett.106, 015503 (2011) 2. Substitutional Alloy of Bi and Te at High Pressure Phys. Rev. Lett. 106, 145501 (2011) 3. Crystal Structures and Exotic Behavior of Magnesium under Pressure J. Phys. Chem. C 114, 21745 (2010) 4. Predicting Two-Dimensional Boron–Carbon Compounds by the Global Optimization Method J. Am. Chem. Soc., 2011, 133 (40), 16285–16290 5. Three Dimensional Carbon-Nanotube Polymers ACS Nano, 2011, 5 (9), 7226–7234 6. Metallic and superconducting gallane under high pressure Phys. Rev. B 84, 064118 (2011) 7. Novel High-Pressure Phase of RhB: First-Principles Calculations J. Phys. Chem. C, 2011, 115 (40), 19910–19915

8. FUTURE DEVELOPMENTS
Prediction of stable crystal structures at given temperature conditions(implementing) Prediction of nano structures(implementing) Prediction of surface and interface structure(implementing) Prediction of large system(implementing)

9. ACKNOWLEDGMENTS
We gratefully acknowledge the suggestions of Hongjun Xiang, Yunlong Liao, Sabino Maggi and Idoia G. de Gurtubay and the support of all the CALYPSO-er.

13


相关文章:
希腊神话名字
(Calypso) 女神 西摩伊斯(Simois) 河神 阿科洛厄斯(Achelous) 河神 阿克西厄斯(...健康减肥10种吃不胖的食物 吃哪些食物不发胖 在家全套瑜伽练习教程文档...
更多相关标签: