If XYZCoordinates, PDBCoordinates, and XSFCoordinates were not found, Octopus tries to read the coordinates for the atoms from the block Coordinates. The format is quite straightforward:
‘C’ | -0.56415 | 0.0 | 0.0 | no
‘O’ | 0.56415 | 0.0 | 0.0 | no
The first line defines a carbon atom at coordinates (-0.56415, 0.0, 0.0),
that is not allowed to move during dynamical simulations. The second line has
a similar meaning. This block obviously defines a carbon monoxide molecule, if the
input units are eV_Angstrom. The number of coordinates for each species
must be equal to the dimension of your space (generally 3).
Note that in this way it is possible to fix some of the atoms (this
is not possible when specifying the coordinates through a PDBCoordinates or
XYZCoordinates file). The last column is optional, and the default is yes.
It is always possible to fix all atoms using the MoveIons directive.
If this variable is present, the program tries to read the atomic coordinates for classical atoms. from the file specified by its value. The same as PDBCoordinates, except that the classical charge colum must be present. The interaction from the classical atoms is specified by ClassicalPotential, for QM/MM calculations. Not available in periodic systems.
If this variable is present, the program tries to read the atomic coordinates from the file specified by its value. The PDB (Protein Data Bank) format is quite complicated, and it goes well beyond the scope of this manual. You can find a comprehensive description here. From the plethora of instructions defined in the PDB standard, Octopus only reads two, ATOM and HETATOM. From these fields, it reads:
- columns 13-16: The species; in fact Octopus only cares about the first letter - CA and CB will both refer to carbon - so elements whose chemical symbol has more than one letter cannot be represented in this way. So, if you want to run mercury (Hg), please use one of the other methods to input the coordinates.
- columns 18-21: The residue. Ignored.
- columns 31-54: The Cartesian coordinates. The Fortran format is (3f8.3).
- columns 61-65: Classical charge of the atom. Required if reading classical atoms, ignored otherwise. The Fortran format is (f6.2).
This block gives the atomic coordinates relative to the real space unit cell. The format is the same as the Coordinates block.
Note that in Octopus the origin of coordinates is in the center of the cell, so the coordinates inside the cell are in the range [-0.5, 0.5).
This block cannot be used with the minimum box shape.
Another option besides PDB and XYZ coordinates formats is XSF, as defined by the XCrySDen visualization program. Specify the filename with this variable. The lattice vectors will also be read from this file and the value of PeriodicDimensions needs to be compatible with the first line (CRYSTAL, SLAB, POLYMER, or MOLECULE). The file should not contain ATOMS, CONVVEC, or PRIMCOORD. NOTE: The coordinates are treated in the units specified by Units and/or UnitsInput.
If an animated file is given with XSFCoordinates, this variable selects which animation step will be used. The PRIMVEC block must be written for each step.
If PDBCoordinates is not present, the program reads the atomic coordinates from the XYZ file specified by the variable XYZCoordinates – in case this variable is present. The XYZ format is very simple: The first line of the file has an integer indicating the number of atoms. The second can contain comments that are simply ignored by Octopus. Then there follows one line per atom, containing the chemical species and the Cartesian coordinates of the atom.
If you want to specify the unit of the XYZ file, you can use the variable UnitsXYZFiles.