# 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, lbfgs, cg

• IO.Coordinates File name

• DM.SolutionMethod diagon

• Diag.MPMesh T/F

• Diag.MPMeshX (and Y and Z) N

• Diag.GammaCentred T/F

• General.NumberOfSpecies N

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

• General.LoadDM T/F (to reload the density matrix)

• IO.FractionalAtomicCoords T/F

• Spin.SpinPolarised T/F

• Spin.FixSpin T/F

• Spin.Magn Difference between spin channel occupations

• Grid.GridCutoff Energy in Ha

• minE.SCTolerance Fractional tolerance

• AtomMove.NumSteps N

• AtomMove.MaxForceTol in Ha/bohr

• AtomMove.OptCell T/F

• 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 both LDA and PBE 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 key parameters to be set in the Conquest_input file 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)

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

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.

Note that, during the pre-release period of CONQUEST, we will be tidying the output and making it more consistent.

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 Conquest_out 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