-
Notifications
You must be signed in to change notification settings - Fork 0
/
settings.in
131 lines (97 loc) · 6.65 KB
/
settings.in
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
@SETTINGS
&INPUT
slab_filename = 'slab.pwo' #path of file containing the slab atomic coordinates. The list of supported file types can be found on ASE website
molecule_filename = 'molecule.pwo' #path of file containing the molecule atomic coordinates. The list of supported file types can be found on ASE website
jobscript = 'job_simple' sbatch #path of a jobscript for running Quantum Espresso and submit command for the job scheduler
jobname_prefix = 'ads' #prefix for the job names (max 3 letters)
# E_slab_mol = 0 0 #slab and isolated molecule energies (in the default energy units of the DFT program, i.e. Ry for QE, eV for VASP).
# screening_conv_thr = -0.05 #optional custom convergence treshold(s) for screening (2 values - energy and forces for QE, 1 value - energy OR force (EDIFFG) for VASP)
# jobscript_ml = 'job_ml' sbatch
/
&STRUCTURE
symm_reduce = 0.01 #tolerance for finding symmetrically inequivalent sites
# near_reduce = 0.01 #tolerance for sites that are too close
# amorphous_site_finding = False
# amorphous_surrounding_sites = True
# surrounding_sites_deltaz = 1.5
# surrounding_exclude_main = True
# cn_method = 'MinimumDistanceNN' #method for finding coordination numbers: 'plain' (default, produces integer values), MinimumDistanceNN (Pymatgen, integer values), CrystalNN (Pymatgen)
# cn_plain_fixed_radius = 1.5 #fixed radius for the plain coordination number method (half of the max distance between two atoms to be considered nearest neighbors)
# max_cn = 8
# max_cn_offset = 1
# surface_height = 0.9 #delta_z from topmost atom defining the surface atoms for finding adsorption sites
# selected_sites = 0 1 2 #explicitly select the adosrption sites by index between those of the figure generated by running xsorb -sites
molecule_axis = atoms 3 14 #indices of the two atoms to define the x-axis direction, or vector to take as x-axis (e.g.) molecule_axis = vector 1 1 0
selected_atom_index = 0 #selected atom in molecule file, to be placed in all adsorption sites. If -1, use the center of mass of the molecule
screening_atom_distance = 2.0 #DESIRED distance (in A) of the selected atom from the surface (z coord. above the topmost layer)
screening_min_distance = 1.5 #minimum distance (in A) of ANY atom from surface, must be < selected_atom_distance. The molecule is translated upwards if necessary, in order to meet this requirement.
# relax_atom_distance = 2.0 #same as screening_atom_distance, but for the full optimizations ONLY if --regenerate command is given, otherwise the last coordinates from the screening are used
# relax_min_distance = 1.5 #same as screening_min_distance, but for the full optimizations ONLY if --regenerate command is given, otherwise the last coordinates from the screening are used
x_rot_angles = 0 90 180 #rotation angles (in deg) about x axis (performed first)
y_rot_angles = 0 90 #rotation about y axis (performed secondly)
z_rot_angles = 0 90 #rotation about z axis (performed lastly)
vertical_angles = x #which angles for y_rot == +/- 90. Options: x (use x_rot_angles), z (use z_rot_angles), none, list [list of angles] (custom list)
# individual_rotations = 12 50 86, 1 7 8 #list of individual rotations, not to be included in the combinations. Each one is a list of 3 angles (in deg)
# layers_height = 0.5 #delta_z within which atoms are considered to be part of the same layer (for fixing atoms). This is different from the surface_height flag, used for surface adsorption sites.
# fixed_indices_slab = 0 1 2 #fix chosen atoms of the slab for relaxation. Indices are to be taken as in slab file, possibly more than one site. -1 = fix all
# fixed_layers_slab = 0
# fixed_indices_mol = 3 #fix chosen atoms of the molecule for relaxation. Indices are to be taken as in slab file, possibly more than one site. -1 = fix all
# fix_slab_xyz = 0 0 0 #coordinates to fix for the selected atoms in slab (as in QE, so 0 = fix)
# fix_mol_xyz = 0 0 1 #coordinates to fix for the selected atoms in molecule
# fix_bondlengths_preopt = False #fix all bond lengths in the molecule in the preoptimization
# fix_slab_preopt = False #fix all atoms in the slab in the preoptimization (for now this is mutually exclusive with fix_bondlengths_preopt)
# mol_before_slab = False #put molecule before slab in the order of atoms
# sort_atoms_by_z = True
# translate_slab = True #translate the slab upwards so that the lowest atom is exactly 1A above the cell bottom
/
@/SETTINGS
#NOTE! Please delete the following @ESPRESSO or @VASP block depending on which code you are using!
@ESPRESSO
&CONTROL
calculation = 'relax'
restart_mode = 'from_scratch' #overwritten in the script
nstep = 400
max_seconds = 86000
disk_io = 'none'
pseudo_dir = '/home/pseudo'
/
&SYSTEM
starting_magnetization(1) = 1
ecutwfc = 40
ecutrho = 320
occupations = 'smearing'
degauss = 0.02
smearing = 'gaussian'
nspin = 2
/
&ELECTRONS
electron_maxstep = 200
conv_thr = 1e-06
mixing_mode = 'local-TF'
mixing_beta = 0.2
diagonalization = 'david'
/
&IONS
ion_dynamics = 'bfgs'
/
&CELL
/
ATOMIC_SPECIES
Fe 55.845 Fe.pbe-nd-rrkjus.UPF
C 12.011 C.pbe-n-rrkjus_psl.1.0.0.UPF
H 1.008 H.pbe-rrkjus_psl.1.0.0.UPF
K_POINTS automatic
2 2 1 1 1 0
@/ESPRESSO
@VASP
&GENERAL
vasp_pp_path = 'VASP_PP_PATH' #The pseudopotentials are expected to be in: LDA: VASP_PP_PATH/potpaw/, PBE: VASP_PP_PATH/potpaw_PBE/, PW91: $VASP_PP_PATH/potpaw_GGA/
# vasp_xc_functional = 'PBE' #default PBE
# vasp_pseudo_setups = {"base": "recommended", "6": "C_h", "C": "_s"} # for the default versions, just remove/comment this line
# pymatgen_set = MPRelaxSet
/
&INCAR
/
&KPOINTS
/
@/VASP