zeus is a program for highly eficient semiemprical fully-periodic quantum-level computation of large covalent crystals. It employs Group Function Theory to separate the electronic system into small, easy-to-compute chunks, such as sigma-bonds and pi-conjugated systems, thus resulting in vastly accelerated performance. Currently it supports CNDO/2 and MNDO parametrizations.
To run zeus, you need to provide a .tar.gz archive containing the following three files:
system - description of composition and initial guess of geometry and electronic structurepars - semiempirical parameters for the calculationcontrol.nml - type of optimization, parametrization, maximum number of iterations, etc.File specifications and relevant examples are given below. Once you have prepared these files, you can create the archive with the following command:
tar -czvf input.tar.gz pars control.nml system
system file specificationAn zeus input file is a combination of previously existing formats: POSCAR and bfscf. Its main task is to represent both the geometry of the crystalline material and its electronic structure with very little redundancy. To that end, the specification boils down to the following information about the system:
With this information, zeus constructs the initial guess for geometric and electronic structure of the crystal and performs optimizations for electronic variables describing groups and hybridizations, allowing for highly efficient computation.
line 1: <system description : string> Unused in the program, can be filled by the user to help identify the system in the file.
line 2: <space group Hall symbol : string> Space group of the crystal given by its Hall symbol.
If the space group of the system is not known (e.g. the original file is in POSCAR format), one can convert the crystal’s data to .cif format with the help of programs such as VESTA (https://jp-minerals.org/vesta/en/download.html) and use the freely available web application FINDSYM, which can be found at: https://stokes.byu.edu/iso/findsym.php.
line 3: <number of dimensions : int> Number of dimensions can be specified to compute molecules, or flat/linear crystals:
line 4: <unit cell scaling factor : real> Scaling factor which will scale the unit cell vectors in the next three lines.
lines 5-7: <unit cell vector : 3 reals> Cartesian coordinates of the unit cell’s principal vectors a, b, and c, in Angstrom, in lines 5, 6, and 7 respecively.
line 8: <number of preimage atoms (n_a) : int> <number of preimage electronic groups (n_g) : int> Specifies the number of preimage atoms and electronic groups to be read in the next lines
next n_a lines: <atomic number : int> <fractional coordinates : 3 reals> zeus file format works only with fractional coordinates. When desribing electronic groups, these atoms will be referred to by their 1-based index (absolute number in the list).
rest of the file: n_g sets of lines for each electronic group Each electronic group is specified by a set of lines in the following way:
line 1: <number of orbitals (n_o) : int> <number of electrons : int> <multiplicity : int> <type : int> First number is the number of hybrid orbitals spanning this electronic group (dimension of its carrier space) and specifies the number of lines to be read next - those specifying initial guess for hybrid orbitals. The number of electrons and the multiplicity are fixed for every electronic group. Care has to be taken to make sure each group contains the necessary number of electrons. Type specifies the optimization technique used for this electronic group.
next n_o lines: <atom> <orbital hybridization> Each line specifying an orbital starts with two values: the atom on which this orbital is centered, and the squared coefficient of the s-orbital in its decomposition.
An atom is specified through the (1-based) index of the preimage atom in the atom specification list (one of n_a lines afyer line 8), and the symmetry operation applied to it. For example, if the atom is an inverted image of the 8-th preimage atom, the line should begin with 8(-x,-y,-z). No whitespace is permitted within the brackets. If the atom in question is itself the preimage, the symmetry specification (may be/is?) omitted.
When given For (?) a system with specified symmetry, VESTA can be a helpful tool to find the symmetry operation which gives the desired image. Select the desired atom, and the log shows the symmetry operation in brackets. Copy the string in brackets, add the unit cell shift written to the left of it, and remove all whitespace.
Hybridization of the orbital can be specified in the following four ways:
<atom1> <s^2 : real> <px : real> <py : real> <pz : real> The amplitudes of the px, py, and pz orbitals are given directly. They are automatically scaled so as to make the sum s^2 + px^2 + py^2 + pz^2 be equal to one.
<atom1> <s^2 : real> a <atom2> The amplitudes of the px, py, and pz orbitals are calculated as the scaled vector between atom1 and atom2. This hybrid is therefore directed towards atom2. Useful for sigma-bonds.
<atom1> <s^2 : real> p <atom2> <atom3> The amplitudes of the px, py, and pz orbitals are calculated as the scaled cross product between the vectors atom1 -> atom2 and atom1 -> atom3. This hybrid is therefore directed away from the plane of these atoms. Useful for pi-conjugated systems.
<atom1> 1.0 When the weight of the s-orbital is unity, it is not necessary to provide the amplitudes of the p-orbitals. Orbitals on hydrogen atoms cannot have hybridization, and must be specified this way.
system file for quartzThis is a .cif file for alpha-quartz:
data_SiO2
_cell_length_a 4.915
_cell_length_b 4.915
_cell_length_c 5.431
_cell_angle_alpha 90.000
_cell_angle_beta 90.000
_cell_angle_gamma 120.000
loop_
_symmetry_equiv_pos_as_xyz
'x, y, z'
'-y, x-y, z+1/3'
'-x+y, -x, z+2/3'
'y, x, -z'
'x-y, -y, -z+2/3'
'-x, -x+y, -z+1/3'
loop_
_atom_site_type_symbol
_atom_site_label
_atom_site_fract_x
_atom_site_fract_y
_atom_site_fract_z
Si Si0 0.00000 0.46891 0.66667
O O1 0.14417 0.73078 0.45156
And this is the corresponding system file:
quartz ! Header. This is ignored, the name is taken from control.nml
3 ! Dimensionality of the crystal. So far, only 3 is thoroughly tested and supported.
P 31 2" ! Hall symbol for space group of the crystal
1.0 ! POSCAR-like scale multiplier
4.915 0.000 0.000 ! Unit cell vector a
-2.457 4.256 0.000 ! Unit cell vector b
0.000 0.000 5.431 ! Unit cell vector c
2 4 ! # of preimage atoms, # of preimage electronic groups
14 0.00000 0.46891 0.66667 ! Atomic number, fractional coords. Will have index 1
8 0.14417 0.73078 0.45156 ! Will have index 2
2 2 1 0 ! This is a Si-O sigma-bond. # of orbitals, # of electrons, multiplicity, group type (0 = SLG, 1 = SCF).
1 0.25 a 2 ! Hybrids in this group.
2 0.25 a 1 ! This hybrid 2nd atom (O) will have s-weight 0.25 and will point at 1st atom (Si).
2 2 1 0 ! Start of new group
1 0.25 a 2(-y+1,x-y+1,z+1/3) ! This hybrid will point at the image of O produced by the symmetry op in brackets.
2(-y+1,x-y+1,z+1/3) 0.25 a 1
1 2 1 0 ! This is an O lone pair
2 0.25 -0.323 -0.500 -0.803 ! p-amplitudes given explicitly
1 2 1 0
2 0.25 -0.888 0.453 0.075 ! p-amplitudes will be scaled so that the sum of all weights is 1
pars file specificationpars file must be plain-text file with semiempirical parameters for the calculation. The parameters are given in sections. A particular section must start with particular delimiter (case insensitive), as written below. Section delimiters and their contents are as follows:
Core charges Specifies the core charges NA of atoms. <atomic number : int> <charge : int>
STO exponents Specifies STOs’ (Nrn − 1e−ξnlr) exponents ξnl, in a.u. (Bohr^-1). <atomic number : int> <principal number (n) : int> <angular number (l) : int> <exponent, a.u. : real>
Core attractions Specifies NDO core attraction parameters UnlA in a.u. (Hartree). <atomic number : int> <n : int> <l : int> <U_nl, a.u. : real>
Resonance parameters Specifies NDO pairwise resonance parameters βn1l1, n2l2AB, in a.u. (Hartree). In CNDO and MNDO, these can be found as $\frac12\left(\beta_{n_1l_1}^A + \beta_{n_2l_2}^B\right)$. <atomic number 1 : int> <atomic number 2 : int> <n_1 : int> <n_2 : int> <l_1 : int> <l_2 : int> <beta_(n_1 l_1, n_2 l_2), a.u. : real>
Slater-Condon (MNDO) Specifies intra-atomic Slater-Condon F and G parameters Fk(n1l1,n2l2), Gk(n1l1,n2l2), in a.u. (Hartree). Ignored in CNDO computation, if present. atomic number : int> <type (F or G) : char> <n_1 : int> <l_1 : int> <n_2 : int> <l_2 : int> <SC parameter, a.u. : real>
Core repulsion (MNDO) Specifies pairwise inter-atomic core repulsion parameters, in Å^-1. In MNDO, only single-atom parameters exist, and can be specified by repeating the atomic number. <atomic number 1 : int> <atomic number 2 : int> <parameter, angstrom^-1 : real>
pars file for SiO2Core charges ! First comes Atomic Number (Z) second Core Charge for semiempirics
8 6
14 4
STO exponents ! Atomic Number, Principal Quantum Number of Slater AO, Azimuthal quantum number value
8 2 0 2.946
8 2 1 2.946
14 3 0 1.484
14 3 1 1.484
Core attractions ! Atomic Number, Principal Quantum Number of Slater AO, Azimuthal quantum number value (eV)
8 2 0 130.101
8 2 1 85.662
14 3 0 39.426
14 3 1 27.822
Resonance parameters ! 2 Atomic Numbers, 2 Principal Quantum Numbers, 2 Azimuthal quantum numbers value (eV)
14 14 3 3 0 0 4.600
14 14 3 3 0 1 4.600
14 14 3 3 1 1 4.600
14 8 3 2 0 0 49.606
14 8 3 2 0 1 49.606
14 8 3 2 1 0 49.606
14 8 3 2 1 1 49.606
8 8 2 2 0 0 11.700
8 8 2 2 0 1 11.700
8 8 2 2 1 1 11.700
pars file for SiO2Core charges
8 6
14 4
STO exponents
8 2 0 3.276
8 2 1 1.733
14 3 0 1.496
14 3 1 1.592
Core attractions
8 2 0 67.826
8 2 1 54.852
14 3 0 2.737
14 3 1 3.290
Resonance parameters
14 14 3 3 0 0 4.257
14 14 3 3 0 1 4.257
14 14 3 3 1 1 4.257
14 8 3 2 0 0 75.360
14 8 3 2 0 1 75.360
14 8 3 2 1 0 75.360
14 8 3 2 1 1 75.360
8 8 2 2 0 0 8.215
8 8 2 2 0 1 8.215
8 8 2 2 1 1 8.215
Slater-Condon ! Atomic Number, parameter type (Coulomb - F exchange G), transferred momentum (k in the Fk/Gk notation ), 2 Principal Quantum Numbers , 2 Azimuthal quantum numbers value (eV)
8 F 0 2 0 2 0 15.420000
8 F 0 2 0 2 1 14.479191
8 F 0 2 1 2 1 13.146000
8 F 2 2 1 2 1 6.900000
8 G 1 2 0 2 1 11.815146
14 F 0 3 0 3 0 9.820000
14 F 0 3 0 3 1 8.502033
14 F 0 3 1 3 1 6.792667
14 F 0 3 0 3 2 8.053235
14 F 0 3 1 3 2 6.921243
14 F 0 3 2 3 2 7.058750
14 F 2 3 1 3 1 3.233333
14 F 2 3 1 3 2 3.134943
14 F 2 3 2 3 2 3.726094
14 F 4 3 2 3 2 2.430061
14 G 1 3 0 3 1 4.812201
14 G 1 3 1 3 2 4.841584
14 G 2 3 0 3 2 3.684405
14 G 3 3 1 3 2 2.890316
Core Repulsion
8 8 3.558
14 14 2.353
control.nml file specificationThe control.nml file contains values for global variables in a zeus run. The contents of its first line must be, verbatim, &SCFSLG, and the only symbol in the last line must be /. The lines in between must be <variable> = <value> pairs. The possible variable-value pairs are as follows:
system_name = '<any string>'. This will be the name of the system used in output. Quotation marks are required.parametrization = 'NDO'/'MNDO'. To compute in the CNDO/2 parametrization, use 'NDO'. To compute in the MNDO parametrization, use 'MNDO'. Only CNDO/2 and MNDO parametrizations are currently supported. Quotation marks are required.geometry_opt = .true./.false.. Specify whether single-point or full geometry optimization is necessary.basisType = 'STO'. Orbital basis type. Currently, only Slater-type orbitals are supported. Quotation marks are required.max_iter = <int>. Maximum number of iteration allowed in single-point and geometry optimization.prec = <real>. For point optimization, the desired difference between successive approximations to the density and hybridization matrices. For geometry optimization, the target length of the gradient.damp = <real>. Dampening factor for optimization of SCF-type groups.control.nml for CNDO/2 geometry optimization of quartz&SCFSLG
system_name = 'alpha_quartz'
parametrization = 'NDO'
geometry_opt = .true.
basisType = 'STO'
max_iter = 1000
prec = 1.D-4
damp = 0.70
/