Input and output

Input files

Conquest_input

All necessary input parameters should be specified in the Conquest_input file, including the names of the coordinate file and the ion files. This file controls the run; there are many sensible default values for input parameters, but you should ensure that you understand what they mean. After a run, the full set of relevant input parameters (whether specified by the user, or default, are available in the file input.log).

The most common input tags are listed briefly here. Full documentation can be found in Input tags.

  • AtomMove.TypeOfRun takes static, md, sqnm, cg

  • IO.Coordinates File name

  • IO.Iprint 0-3 (controls amount of output)* DM.SolutionMethod diagon

    • Diag.MPMesh T/F

    • Diag.MPMeshX (and Y and Z) N

    • Diag.GammaCentred T/F

  • Grid.GridCutoff Energy in Ha (sets a grid spacing \(\delta x = \pi/\sqrt{2E}\) for cutoff E in Ha; this spacing can also be set manually using Grid.GridSpacing in Bohr)

  • AtomMove.NumSteps N

  • AtomMove.MaxForceTol in Ha/bohr

  • AtomMove.OptCell T/F (optimises simulation cell size)

  • General.NumberOfSpecies N

  • %block ChemicalSpeciesLabel Block specifying element number, mass and ion file name

  • IO.FractionalAtomicCoords T/F

  • Spin.SpinPolarised T/F

    • Spin.FixSpin T/F

    • Spin.Magn Difference between spin channel occupations

  • minE.SCTolerance Fractional tolerance on magnitude of residual divided by number of electrons

  • SC.KerkerPreCondition T/F (for Kerker preconditioning of SCF)

  • SC.MaxIters N (maximum number of SCF iterations)

Go to top

Ion files

The ion files contain data on the different species being modelled: valence charge, pseudopotentials, pseudo-atomic orbitals (PAOs) etc. Full details on how the PAOs are used as basis functions for CONQUEST can be found in the manual section on basis sets. A utility for generating these files is provided with CONQUEST, but Siesta ion files can also be read. The CONQUEST utility uses the pseudopotentials generated by the ONCVPSP code (though note that to generate new files for CONQUEST, you will need a small patch).

A set of input files for all elements in the PseudoDojo library for the LDA, PBE and PBEsol exchange-correlation functionals is provided in the directory pseudo-and-pao. This will allow you to generate ion files for these elements easily.

The utility for generating ion files is called MakeIonFiles, and its source code is found in the tools/BasisGeneration directory. It uses the same system.make file as CONQUEST, and following compilation the executable will be moved to the bin directory. The input file is Conquest_ion_input, and the key parameters to be set for the ion file generation are:

  • General.NumberOfSpecies to specify number of species

  • %block SpeciesLabels to specify what the species are

  • In the species block (set with %block XX for species XX):

    • Atom.PseudopotentialFile to specify the input file for the ONCVPSP code

    • Atom.VKBFile to specify the file that CONQUEST needs to read (included in the library of inputs, and generally named XX.pot for species XX)

    • Atom.BasisSize to specify the size of the basis; at present this can take the values: minimal; small; medium; and large.

These are all included in the default input files. Further fine-grained control can be applied to the basis functions; this will be documented after the pre-release of CONQUEST.

Go to top

Coordinates

The coordinates are specified in a separate file with relatively simple format. The coordinates can be specified in fractional form (default) or cartesian (set the input tag IO.FractionalAtomicCoords T). Distance units can be Bohr radii (default) or Angstroms (set the input tag General.DistanceUnits to Ang). At present, CONQUEST only handles orthorhombic unit cells.

The coordinate file is formatted as follows:

a   0.0 0.0
0.0 b   0.0
0.0 0.0 c
NAtoms
x y z species MoveX MoveY MoveZ
.
.
.

Note that the flags MoveX etc take values T/F and indicate whether atoms are free to move in x, y and z, respectively. The flag species is an integer, and selects based on species defined in the atomic specification section of the Conquest_input file.

Go to top

Output files

Main output

By default, CONQUEST writes output to the Conquest_out file (though the filename can be set with the parameter IO.OutputFile, and the flag IO.WriteOutToFile (T/F) selects output to file or stdout). This file contains all details of the calculation, including energies, forces and information on the different stages of the calculation. The output verbosity is controlled by the IO.Iprint family of parameters, which allows different levels of output detail to be set for different areas of the code. For production runs, we expect IO.Iprint 0 to give sufficient detail; IO.Iprint 3 provides a level of detail that would normally only be needed for debugging.

Warnings from the calculation (including indications that the convergence should be improved, and technical issues) are written to the Conquest_warnings file, which should be checked after each run. The warnings are also written to the output file at certain IO.Iprint levels.

Go to top

Electronic structure

Different electronic structure outputs are available; in each case, the key output flag is given. Further output flags are described in Input tags.

  • Charge density

  • Band-resolved charge density (IO.outputWF)

  • Density of states (IO.writeDOS)

  • Atom-projected density of states (IO.write_proj_DOS)

  • Atomic charges, using the Mulliken approach (IO.AtomChargeOutput)

The Kohn-Sham eigenvalues are output in the eigenvalues.dat file. The charge densities need post-processing to convert from the standard output format to a file compatible with visualisation (current supported formats include Gaussian CUBE file and OpenDX files).

Note that Becke charges can be calculated if the following parameters are set:

SC.BeckeWeights T
SC.BeckeAtomicRadii T
IO.Iprint_SC 3

This method of output will be refined soon.

Go to top

Atomic structure

During structural relaxation and molecular dynamics, the atomic structure at the end of each step is saved in the output file coord_next.dat. This is in the same format as the input.

Go to top

Molecular dynamics

A molecular dynamics run will generate a number of additional plain text output files:

  • md.stats — summarises thermodynamic quantities at each steps

  • md.frames — contains the complete physical state of the system (lattice parameters, atomic positions, velocities, forces, stress).

  • md.checkpoint — data required for MD restart, namely atomic velocities and extended system variables.

  • md.positions — Atomic coordinates saved at the moment of checkpointing

  • trajectory.xsf — atomic coordinates save in .xsf format, which can be visualised using (for example) VMD, if AtomMove.WriteXSF is true..

Full details are available in Molecular Dynamics.

Go to top