Input tags

We have broken down the input tags based on the areas of the code where they apply. For each tag, a default is given. Types of value are specified as: integer; real; boolean; string (optA/optB are given for string options); or presence flag (enabled whenever the tag occurs, regardless of its value).

General

General.NumberOfSpecies (integer)

Number of species in cell

default: 1

General.PseudopotentialType (string)

Type of pseudopotential (in practice, this defines how the local part of the pseudopotential is handled). The normal values are hamann for ONCVPSP-derived data and siesta for SIESTA ion files.

default: hamann

General.NeutralAtom (boolean)

Use neutral atom potential or not (removes need for Ewald sum)

default: T

General.FunctionalType (integer)

Selects the exchange-correlation functional. If the native CONQUEST XC implementation is used, there are three parameterisations of the LDA available, as well as three variants of the PBE GGA functional, with numbers given below.

default: 0 (take the functional from the ion files)

If a nonzero value differs from the functional stored in the ion files, General.DifferentFunctional must be true or CONQUEST will stop.

Functional

Keyword

Ref

LDA Perdew-Zunger, no SIC

1

[E1]

LDA Goedecker-Teter-Hutter 96

2

[E2]

LSDA Perdew-Wang 92 (default)

3

[E3]

GGA Perdew-Burke-Ernzerhof 96 (PBE)

101

[E4]

GGA PBE + Zhang-Yang 98 (revPBE)

102

[E5]

GGA PBE + Hammer-Hansen-Norskov 99 (RPBE)

103

[E6]

GGA WC

104

[E7]

hybrid PBE0 (25% of exact exchange)

201

[E8]

At the moment, only LSDA Perdew-Wang 92 and the three GGA Perdew-Burke-Ernzerhof functional variants can be used in spin polarised calculations.

At the moment, only hybrid functionals with GGA PBE are allowed. Fraction of exact exchange can be tuned. Warning: EXX contribution to forces are not implemented yet.

Note that, if the code is compiled with LibXC, the full LibXC set of functionals is available, selected with a negative six digit number (-XXXCCC or -CCCXXX).

General.EnergyUnits (string) Ha/Ry/eV

Output only Chooses units for energy

default: Ha

General.DistanceUnits (string) a0/bohr/A

Output only Chooses units for distance (Bohr: a0/bohr or Ångströms: A).

default: a0

General.MemoryUnits (string) kB/MB/GB

Output only Chooses units for memory use

default: MB

General.PartitionMethod (string) File/Hilbert

Chooses method for partitioning (read from file or use dynamic partitioner based on Hilbert curve)

default: Hilbert

Options:

  • Hilbert (default) — Automatic partitioning using Hilbert curves; safe for initial use though optimum load balancing not guaranteed

  • File — Reads a file (NOT recommended)

General.LoadBalance (string) atoms/partitions/supportfunctions

Applies to Hilbert above; chooses whether to distribute atoms or partitions evenly between processors, or to balance the number of support functions (you are strongly recommended to use atoms)

default: atoms

General.MaxAtomsPartition (integer)

Applies to Hilbert above; specifies maximum number of atoms allowed in a partition; triggers extra level of recursion in partitioner

default: 34

General.NPartitions[X/Y/Z] (integer)

Allows the user to specify the number of partitions in x, y and z directions

default: 0 (i.e. use Hilbert partitioning, above)

General.NewRun (boolean)

Switches between new run and restart (N.B. restart has not been implemented yet)

default: T

General.LoadDM (boolean)

Specifies whether to load a previous density matrix (K or L depending on whether diagonalisation or linear scaling are selected) from files

default: T when AtomMove.RestartRun is true; F otherwise

General.LoadRho (boolean)

Specifies whether to load a previous charge density from files

default: F

General.NetCharge (real)

Specifies net charge on unit cell; implemented rather crudely with a neutralising background charge assumed. Note that a positive value indicates excess electrons

default: 0.0

General.EwaldAccuracy (real)

Accuracy for ewald sum (in Ha/atom)

default: \(10^{-10}\)

General.TimeThreshold (real)

Minimum time for a timer to be printed (in seconds)

default: \(0.001\)

General.vdWDFT (boolean)

Selects vdW DF

default: F

General.DFT_D2 (boolean)

Selects DFT-D2

default: F

General.MaxTime (real)

Maximum wall time for calculation in seconds. Conquest will exit gracefully on completion of an ionic relaxation/MD step

default: 0.0

General.RNGSeed (integer)

Seed for the random number generator. If less than 0, a random seed will be generated, otherwise the specified seed is used, and the same sequence of random numbers will be generated every time. Useful for reproducing MD runs.

default: -1

Go to top.

Atomic Specification

ChemicalSpeciesLabel (block)

Lists all atomic species used in the calculation. Format:

1 atomic_mass1 element_label_1
2 atomic_mass2 element_label_2
...
n atomic_mass_n_ element_label_n

(Note that the block must end with %endblock ChemicalSpeciesLabel.) 1-–n are integer numbers used in the coordinate file to identify atomic species, as discussed in the Coordinates section. The atomic masses are only used for dynamics. The element labels should have a corresponding ion file element_label_x.ion and may have an accompanying atom specification block.

There can then be up to n atom specification blocks whose names should be element_label_x. When using primitive PAOs for support functions many of these are read from the ion file.

Atom.MultisiteRange (real)

Range for multi-site support functions (the PAOs on all atoms within this range will be included in the support function)

default: 0.0

Atom.LFDRange (real)

Range for local filter diagonalisation (the Hamiltonian and overlap matrix elements from all atoms within this range will be included in the cluster diagonalisation)

default: value of Atom.MultisiteRange

Go to top.

Input-Output General Tags

IO.Title (string)

Title for calculation

default: none

IO.Partitions (string)

Name for file containing distribution of partitions over processors (generated by accompanying utilities)

default: make_prt.dat

IO.WriteOutToFile (boolean)

Specifies whether the main output information is written to standard output or to a file

default: T

IO.OutputFile (string)

Name for the main output file

default: Conquest_out

IO.DumpL (boolean)

Whether to write the auxiliary matrices L to file at each self-consistent steps

default: T

IO.DumpChargeDensity (boolean)

Whether to write out the charge density. If T, then the charge density will be written out at self-consistency; additionally, if IO.Iprint_SC is larger than 2, the charge density will be written out at every step of the SCF cycle. The resulting chden.nnn files can be converted to cube format files using the post-processing utility.

default: F

IO.Dump[Har|XC|PS|ES|Tot]Pot (boolean)

Flags to allow dumping of different local potentials (Hartree, XC, pseudopotential, electrostatic, total). Only active when a static self-consistent run is chosen. (NB each flag must be set to true for output, such as IO.DumpHarPot T etc.) Files can be converted to cube format as for charge density by setting Process.ChargeStub appropriately (e.g. locpsHar with other files replacing Har with XC, PS, ES and Tot)

default: F

IO.outputWF (boolean)

Writes wavefunction coefficients for post-processing. This output is available only for static diagonalisation calculations; CONQUEST disables it with a warning for O(N) or non-static calculations. Bands must be selected either with IO.maxnoWF and a WaveFunctionsOut block or with the IO.min_wf_E and IO.max_wf_E energy limits.

default: F

IO.maxnoWF (integer)

Number of explicitly selected bands whose wavefunction coefficients are written. A positive value requires a WaveFunctionsOut block and takes precedence over energy-range selection.

default: 0

WaveFunctionsOut (block)

Lists the band numbers to output when IO.maxnoWF is positive. The block must contain at least IO.maxnoWF entries, one band number per entry.

default: none; required when IO.maxnoWF is positive

IO.min_wf_E (real)

Lower energy limit, in Hartree, for wavefunction output when no explicit band list is active. For ordinary IO.outputWF output, the default is zero. When IO.write_proj_DOS is true, an omitted limit instead extends to the bottom of the eigenspectrum.

default: 0, or the bottom of the eigenspectrum for projected-DOS output

IO.max_wf_E (real)

Upper energy limit, in Hartree, for wavefunction output when no explicit band list is active. For ordinary IO.outputWF output, the default is zero. When IO.write_proj_DOS is true, an omitted limit instead extends to the top of the eigenspectrum.

default: 0, or the top of the eigenspectrum for projected-DOS output

IO.WFRangeRelative (boolean)

Interprets IO.min_wf_E and IO.max_wf_E relative to the Fermi level when true, and as absolute energies when false. If ordinary IO.outputWF is requested without an explicit band list and both limits remain zero, the default relative range selects no range and CONQUEST disables wavefunction output with a warning.

default: T

IO.write_proj_DOS (boolean)

Writes the ordinary and overlap-scaled wavefunction coefficients required for projected-DOS post-processing. This option also enables wavefunction output and is available only for static diagonalisation calculations.

default: F

IO.TimingOn (boolean)

Whether time information will be measured and written to output

default: F

IO.TimeAllProcessors (boolean)

Specifies whether time information will be written for all processors or just for the input/output process (the default)

default: F

IO.WriteTimeFile (boolean)

Whether time files are written or not. This flag will be ignored if IO.TimeAllProcessors is true, in which case time files are always written.

default: T

IO.TimeFileRoot (string)

Root to be used in the time files, with an extension indicating the processor number, e.g. .001

default: time

Go to top.

Atomic Coordinates

IO.Coordinates (string)

Specifies the file with atomic coordinates. See Coordinates for details on the file format

default: none

IO.FractionalAtomicCoords (boolean)

Specifies whether fractional or absolute (Cartesian) coordinates are used in the coordinate file

default: T

IO.PdbIn (boolean)

Switches between the   coordinate file format (F) and PDB format (T)

default: F

Go to top.

Levels of Output

The overall level of output is controlled by IO.Iprint and can be fine-tuned with the other IO.Iprint keywords. These are by default set to the value of IO.Iprint, but that will be over-ridden if setting them explicitly. For instance, IO.Iprint could be set to 0, but IO.Iprint_MD could be set to 2 giving more extensive information about atomic movements but little other information.

IO.Iprint (integer)

The amount of information printed out to the output file The larger the value the more detailed the output is.

0 Basic information about the system and the run
1 Overview of the SCF cycle and atom movement
2 More detail on SCF cycle, atom movement
3 Extensive detail on SCF cycle, atom movement
4 Details of energy breakdown
5 Excessive output, only for developers debugging

default: 0

IO.Iprint_init (integer)

The initialisation process

IO.Iprint_mat (integer)

Matrix operations

IO.Iprint_ops (integer)

Creation of operators H and S

IO.Iprint_DM (integer)

Density matrix

IO.Iprint_SC (integer)

Self-consistency

IO.Iprint_minE (integer)

Energy minimisation

IO.Iprint_MD (integer)

Molecular dynamics

IO.Iprint_index (integer)

Indexing routines

IO.Iprint_gen (integer)

General (not covered by other areas)

IO.Iprint_pseudo (integer)

Pseudopotentials

IO.Iprint_basis (integer)

Basis set

IO.Iprint_intgn (integer)

Integration on the grid (not used at present)

IO.Iprint_time (integer)

Timing information

Go to top.

Integration Grid

Grid.GridCutoff (real)

An energy that defines the spacing of the integration grid (though for a blip calculation must be at least twice as fine as blip grid, and will be adjusted). Note that the value chosen will automatically be forced to be a factor of 3, 4 and 5 only (to fit with default FFT routines)

Default: 50 Ha.

Grid.GridSpacing (real)

As an alternative, the grid spacing in Bohr radii can be set (the code will determine a number of grid points that will be below this value)

Default: zero (value taken from Grid.GridCutoff above)

Go to top.

Minimising Energy

minE.VaryBasis (boolean)

Chooses whether or not basis coefficients should be varied to minimise the total energy

default: F

minE.SelfConsistent (boolean)

Determines whether or not self-consistency cycles are imposed between charge density and potential

default: T

minE.MixedLSelfConsistent (boolean)

Determines whether or not to perform self-consistent cycle at the same time as energy minimisation with respect to L

default: F

minE.EnergyTolerance (real)

Fractional tolerance for energy on minimisation of support function coefficients

default: 1\(\times\)10\(^{-5}\)

minE.LTolerance (real)

Tolerance on residual in O(N) minimisation

default: 1\(\times\)10\(^{-7}\)

minE.SCTolerance (real)

Tolerance on residual in self-consistency

default: 1\(\times\)10\(^{-6}\)

minE.SupportVariations (integer)

Maximum number of support-function iterations

default: 10

minE.PreconditionBlips (boolean)

Should blip variation be pre-conditioned? Pre-conditioning is (at present) more memory-intensive than it should be, but is efficient

default: T when minE.VaryBasis is true; otherwise disabled

minE.GlobalTolerance (boolean)

Are the convergence criteria applied to minimisation summed over the whole system, or per atom?

default: T for molecular dynamics; F for other run types

Go to top.

Charge Self-Consistency

SC.LinearMixingSC (boolean)

Should Pulay mixing be used? It is recommended that this is always used

default: T

SC.LinearMixingFactor (real)

Amount of output charge density which is mixed into new charge

default: 0.5

SC.LinearMixingFactor_SpinDown (real)

Amount of output charge density which is mixed into new charge for spin down channel.

default: value of SC.LinearMixingFactor

SC.LinearMixingEnd (real)

Tolerance for end of Pulay mixing

default: minE.SCTolerance multiplied by \(10^{-4}\)

SC.LateStageReset (integer)

If using GR-Pulay, how often is residual calculated fully (rather than interpolated) ?

default: 5

SC.MaxIters (integer)

Maximum self-consistency iterations

default: 50

SC.MaxEarly (integer)

Maximum early-stage iterations

default: 3

SC.MaxPulay (integer)

Number of iterations stored and mixed during Pulay mixing

default: 5

SC.KerkerPreCondition (boolean)

Flag determining if Kerker precondition is to be used.

default: F

SC.KerkerFactor (real)

Wave-vector magnitude used in Kerker preconditioning, it is \(q_0\) from the factor \(q^2 / \left(q^2 + q_0^2\right)\)

default: 0.1

SC.WaveDependentMetric (boolean)

Flag determining if wave-dependent metric is to be used in Pulay mixing.

default: F

SC.MetricFactor (real)

Wave-vector magnitude used by wave-dependent metric method, it is \(q_1\) from the factor \(\left(q^2 + q_1^2\right) / q^2\).

default: 0.1

SC.MakeInitialChargeFromK (boolean)

Flag determining whether initial charge is made from the density matrix

This option is disabled if General.LoadDM is false.

default: T when General.LoadDM is true; F otherwise

Go to top.

Density Matrix

DM.SolutionMethod (string)

values: ordern/diagon

Selects the method for finding the ground state density matrix. This can currently be either diagonalisation (diagon: minimising the energy with respect to the density matrix elements) or an O(N) method (ordern a combination of the techniques of Li et al. [E9] and Palser and Manolopoulos [E10].)

default: diagon

DM.DFTplusU (boolean)

Enables the DFT+U correction. A DFTplusU block is required when this option is enabled. DFT+U is not available with a blip basis; CONQUEST disables it with a warning in that case.

default: F

DM.WriteOccMat (boolean)

Prints the DFT+U occupation matrices in the main output. This option is read only when DM.DFTplusU is true.

default: T when DM.DFTplusU is true

DFTplusU (block)

Defines the PAO projector and Hubbard U value for each corrected species. Each line has the form:

species  n  l  zeta  U

species is the species number, n and l are the principal and angular-momentum quantum numbers, zeta selects the zeta function, and U is given in Hartree. The current implementation stores one projector definition per species, so each corrected species should be listed once.

default: none; required when DM.DFTplusU is true

DM.L_range (real)

Cutoff applied to L matrix (total energy will converge with increasing range; suggested minimum for O(N) calculations is twice largest support function range; see Linear Scaling for more details)

default: 1.0

DM.LVariations (integer)

Maximum number of variations performed in search for ground-state density matrix

default: 50

DM.MaxPulay (integer)

Maximum number of iterations stored for Pulay minimisation

default: 5

DM.MinPulayStepSize (real)

Minimum allowed step size for Pulay minimisation in Energy minimisation stage of the calculation. Note that the actual step size is calculated by  automatically, but will be constrained within the range defined by DM.MinPulayStepSize and DM.MaxPulayStepSize. Not to be confused with the Pulay mixing step size for charge self-consistency.

default: 0.001

DM.MaxPulayStepSize (real)

Maximum allowed step size for Pulay minimisation in Energy minimisation stage of the calculation. Not to be confused with the Pulay mixing step size for charge self-consistency.

default: 0.1

DM.LinTol (real)

Tolerance on linearity required before switching to Pulay minimisation

default: 0.1

DM.InvSTolerance (real)

Tolerance on iterative minimisation to find S\(^{-1}\). If \(\Omega = \mathrm{Tr}[(I-TS)^2]/N_{\mathrm{orbitals}}\) is above this, identity will be used

default: 0.01

DM.InvSMaxSteps (integer)

Sets the maximum number of iterations for finding S\(^{-1}\)

default: 100

DM.InvSDeltaOmegaTolerance (real)

Tolerance which determines when the iterative minimisation to find S\(^{-1}\) should finish. \(\delta\Omega_n = N_{\mathrm{orbitals}} (\Omega_n - \Omega_{n-1})\), where \(\Omega\) is defined in description for DM.InvSTolerance. This parameter differs from DM.InvSTolerance in that the iterative S\(^{-1}\) finder will end iteration when \(\delta\Omega\) is less than or equal to DM.InvSDeltaOmegaTolerance, while DM.InvSTolerance determines whether to reset S\(^{-1}\) to identity (i.e. whether a satisfactory S\(^{-1}\) has been found) based on the final \(\Omega\) produced from the iterative loop

default: 0.0001

DM.ConstantMu (presence flag)

Fix the chemical potential at DM.mu. Any occurrence of this tag, including DM.ConstantMu F, enables fixed-chemical-potential mode. Omit the tag for the normal fixed-electron-number mode.

default: absent (fixed number of electrons)

DM.mu (real)

Value of Fermi level for fixed Fermi level calculations

default: 0.0

Go to top.

Diagonalisation

Diag.NumKpts (integer)

Number of explicitly listed k-points, or the number of generated points on each line when Diag.KspaceLines is true. No symmetry is applied.

default: 1 for explicit points; 2 points per line

Diag.Kpoints (block)

Lists fractional coordinates and weights of explicit k-points as x_fract y_fract z_fract weight. If this block is absent and neither a Monkhorst-Pack mesh nor k-space lines are requested, CONQUEST uses the Gamma point with unit weight.

default: absent (Gamma point only)

Diag.MPMesh (boolean)

Switches on/off the Monkhorst-Pack mesh. When true, explicit k-points and k-space lines are ignored.

default: F

Diag.KspaceLines (boolean)

Generates k-points along lines in reciprocal space. This option is used only when Diag.MPMesh is false. See the band-structure procedure for an example.

default: F

Diag.NumKptLines (integer)

Number of k-space lines used when Diag.KspaceLines is true.

default: 1

Diag.KpointLines (block)

Lists the start and end points of each k-space line in fractional coordinates. The block must contain two entries for every line specified by Diag.NumKptLines.

default: none; required when Diag.KspaceLines is true

Diag.MPMesh[X/Y/Z] (integer)

Specifies the number n of k-points along the x(y,z) axis.

default: 1

Diag.GammaCentred (boolean)

Selects Monkhorst-Pack mesh centred on the Gamma point

default: F

Diag.dk (real)

Sets the number of k-points in the Monkhorst-Pack method so that the spacing in reciprocal space is less than the specified value.

default: 0.0

Diag.PaddingHmatrix (boolean)

Setting this flag allows the Hamiltonian and overlap matrices to be made larger than their physical size, so that ScaLAPACK block sizes can be set to any value (which can significantly improve efficiency). At present, the automatic setting of block sizes does not use this functionality; if desired, block sizes must be set manually (note that the optimum block size is likely to be different on different machines). (Available from v1.2)

default: T

Diag.BlockSizeR (integer)

Block size for rows (See next). The default value is 32 when Diag.PaddingHmatrix is true. When padding is disabled and this keyword is omitted, the value is determined automatically. It is recommended to check the efficiency (CPU time) on your platform by changing this value. Usually 20-40 is appropriate.

default: 32 with padding; otherwise determined automatically

Diag.BlockSizeC (integer)

R … rows, C … columns These are ScaLAPACK parameters, and can be set heuristically by the code. Blocks are sub-divisions of matrices, used to divide up the matrices between processors. The block sizes need to be factors of the square matrix size (i.e. \(\sum_{\mathrm{atoms}}\mathrm{NSF(atom)}\)). A value of 64 is considered optimal by the ScaLAPACK user’s guide.

If Diag.PaddingHmatrix is set to true then the block sizes can take any value, but BlockSizeR and BlockSizeC must be the same.

With padding disabled, omitting Diag.BlockSizeR causes both block sizes to be determined automatically. If Diag.BlockSizeR is specified, Diag.BlockSizeC is read separately and defaults to 1 if omitted.

default: equal to Diag.BlockSizeR with padding; otherwise as described above

Diag.MPShift[X/Y/Z] (real)

Specifies the shift s of k-points along the x(y,z) axis, in fractional coordinates.

default: 0.0

Diag.SmearingType (integer)

Specifies the type of smearing used

0

Fermi-Dirac

1

Methfessel-Paxton

default: 0

Diag.kT (real)

Smearing temperature

default: 0.001

Diag.IntegerOccs (boolean)

Specifies integer occupation of eigenstates (overrides Diag.SmearingType)

default: False

Diag.AdjustEf (boolean)

With Fermi-Dirac occupations, move the Fermi level to the middle of a detected band gap. Set this false to disable the adjustment. This option does not affect Methfessel-Paxton or integer occupations; integer occupations always use the midgap Fermi level.

default: True

Diag.MPOrder (integer)

Order of Bessel function approximation to delta-function used in Methfessel-Paxton smearing

default: 0

Diag.GaussianHeight (real)
The height of Gaussian function used to determine the width of Methfessel-Paxton

approximation to delta-function (see Electronic occupation smearing)

default: 0.1

Diag.EfStepFiness (real)

Parameter controlling the finness of the Fermi energy search step used in Methfessel-Paxton smearing method (see Electronic occupation smearing)

default: 1.0

Diag.NElecLess (Real)

The number of electrons to subtract from the total number of electrons in each spin channel, which gives the starting point for searching the lower bound for Fermi energy. Used in Methfessel-Paxton smearing method (see Electronic occupation smearing)

default: 10.0

Diag.KProcGroups (integer)

Number of k-point processor groups for k-point parallelisation (see K-point parallelization)

default: 1

Diag.ProcRows (integer)

Number of rows in the processor grid for SCALAPACK within each k-point processor group

default: Determined automatically

Diag.ProcCols (integer)

Number of columns in the processor grid for SCALAPACK within each k-point processor group. The rows and columns need to multiply together to be less than or equal to the number of processors. If ProcRows \(\times\) ProcCols \(<\) number of processors, some processors will be left idle.

default: Determined automatically

Go to top.

Moving Atoms

AtomMove.TypeOfRun (string)

values: static/cg/sqnm/lbfgs/md

Options:

static — Single point calculation

cg — Structure optimisation by conjugate gradients

sqnm - Stabilised Quasi-Newton Minimisation (recommended approach)

lbfgs — Structure optimisation by LBFGS (Limited Memory Broyden–Fletcher–Goldfarb–Shanno algorithm)

md — Velocity Verlet algorithm

default: static

AtomMove.QuenchMD (boolean)

Selects Quenched MD for structure relaxation (with AtomMove.TypeOfRun md)

default: F

AtomMove.FIRE (boolean)

Selects FIRE method for structure relaxation (with AtomMove.TypeOfRun md)

default: F

AtomMove.NumSteps (integer)

Maximum number of steps for a structure optimisation or molecular dynamics run

default: 100

AtomMove.MaxForceTol (real)

The structure optimisation will stop when the maximum force component is less than AtomMove.MaxForceTol.

default: 0.0005 Ha/bohr

AtomMove.MaxSQNMStep (real)

The maximum distance any atom can move during SQNM (in Bohr). Applies to the part of the search direction not in the SQNM subspace (scaled directly by a step size, which is limited to ensure this value is not exceeded).

default: 0.2 bohr

AtomMove.Timestep (real)

Time step for molecular dynamics

default: 0.5

AtomMove.IonTemperature (real)

Initial temperature for molecular dynamics

default: 300 K for MD, 0 for Quench MD or FIRE

AtomMove.ReadVelocity (boolean)

Read velocities from md.checkpoint during an MD restart, or from velocity.dat otherwise

default: T when AtomMove.RestartRun is true; F otherwise

AtomMove.AppendCoords (boolean)

Chooses whether to append coordinates to UpdatedAtoms.dat during atomic movement (T) or to overwrite (F)

default: T

AtomMove.OutputFreq (integer)

Frequency, in ionic steps, for writing MD frames to md.frames and, when MD.TDEP is true, TDEP-compatible lattice-dynamics files. It also supplies the default MD frequency for the XSF and extended-XYZ trajectory files.

default: 50

AtomMove.WriteXSF (boolean)

Write atomic coordinates to trajectory.xsf. During MD, frames are written every AtomMove.XsfFreq steps. Structure-relaxation methods write a frame after every ionic step.

default: T

AtomMove.XsfFreq (integer)

Frequency, in MD steps, of atomic-coordinate output to trajectory.xsf. This setting is not used by structure-relaxation methods.

default: same as AtomMove.OutputFreq

AtomMove.WriteExtXYZ (boolean)

Write coordinates, lattice vectors, energy, forces and stress in extended XYZ format to trajectory.xyz. Moving-atom runs write frames every AtomMove.XyzFreq steps; a static run writes one frame.

default: F

AtomMove.XyzFreq (integer)

Frequency of output to trajectory.xyz during moving-atom runs.

default: same as AtomMove.OutputFreq for MD; 1 for other run types

AtomMove.TestForces (boolean)

Flag for testing forces with comparison of analytic and numerical calculations. Can produce large amounts of output

default: F

AtomMove.TestAllForces (boolean)

Switch to test all force contributions or not

default: T

AtomMove.CalcStress (boolean)

Toggle calculation of the stress tensor. Switching off can improve performance.

default: T

AtomMove.FullStress (boolean)

Toggle calculation of the off-diagonal elements of the stress tensor, which can be expensive, but is required for calculating certain properties.

default: F

AtomMove.AtomicStress (boolean)

Toggle calculation of atomic contributions to the stress tensor. Used in heat flux/thermal conductivity calculations. Significantly increases memory demands.

default: F

AtomMove.OptCell (boolean)

Turns on conjugate gradient relaxation of the simulation box dimensions a, b and c. Note that AtomMove.TypeOfRun must also be set to cg (except for method 2 below where sqnm will result in SQNM for atomic positions and CG for cell vectors).

default: F

AtomMove.OptCellMethod (integer)

Cell optimisation method.

default: 1

Options:

  1. Fixed fractional coordinates (only cell vectors)

  2. Alternating atomic position and cell vector optimisation (recommended for simultaneous optimisation)

  3. Simultaneous cell and atomic conjugate gradients relaxation; caution recommended (can be unstable)

AtomMove.EnthalpyTolerance (real)

Enthalpy tolerance for cell optimisation

default: 1\(\times\)10\(^{-5}\) Ha

AtomMove.StressTolerance (real)

Stress tolerance for cell optimisation

default: 0.1 GPa

AtomMove.TargetPressure (real)

External pressure for NPT molecular dynamics and cell optimisation

default: 0.0 GPa

AtomMove.OptCell.Constraint (string)

Applies a constraint to the relaxation.

none: Unconstrained relaxation.

Fixing a single cell dimension:

a: Fix the x-dimension of the simulation cell

b: Fix the y-dimension of the simulation cell

c: Fix the z-dimension of the simulation cell

Fixing multiple cell dimensions:

Any combination of the above separated by a space character. e.g: a b fixes both the x- and y-dimensions of the simulation cell.

Fixing Ratios:

Any combination of a, b or c separated by a “/” character, e.g c/a fixes the initial ratio of the z-dimension to the x-dimension.

Global scaling factor:

volume: minimize the total energy by scaling each simulation cell dimension by the same global scaling factor. Search directions are set by the mean stress.

default: none

AtomMove.TestSpecificForce (integer)

Label for which force contribution to test. Note that for PAOs non-local Pulay and Hellman-Feynman forces are found together as part of the HF calculation; \(\phi\) Pulay refers to changes in \(\phi(\mathbf{r})\) when atoms move, while S Pulay refers to changes in S when atoms move. Options:

1 Total 2 Total Hellman-Feynman 3 Total Pulay 4 Non-SC Correction 5 Non-local \(\phi\) Pulay 6 KE \(\phi\) Pulay 7 Local \(\phi\) Pulay 8 S Pulay

default: 1

AtomMove.TestForceDirection (integer)

Direction in which atom will be moved (1=x; 2=y; 3=z)

default: 1

AtomMove.TestForceAtom (integer)

Atom to move

default: 1

AtomMove.TestForceDelta (real)

Distance atom will be moved for numerical evaluation of force

default: 10\(^{-5}\) bohr

AtomMove.RestartRun (boolean)

Restart an MD run. Unless explicitly overridden, this defaults General.LoadDM, SC.MakeInitialChargeFromK and AtomMove.ReadVelocity to T. It also defaults XL.LoadX to T for XL-BOMD, and Basis.LoadCoeffs to T for MSSF and blip-basis calculations. Atomic coordinates are read from md.position; velocities and extended- system variables are read from md.checkpoint.

default: F

AtomMove.ReuseDM (boolean)

Selects the use of last-step L-matrix (ordern) or K-matrix(diagon) during MD or structure relaxation

default: T

AtomMove.ReuseSFcoeff (boolean)

Selects the use of last-step PAO coefficients of multi-site support functions during MD or structure relaxation

default: T

AtomMove.ReuseInvS (boolean)

Selects the use of T-matrix in MD run (rare)

default: F

AtomMove.SkipEarlyDM (boolean)

Selects the skip of earlyDM calculation in MD run

default: F

AtomMove.McWeenyFreq (integer)

McWeeny step is applied every N steps (with “AtomMove.ReuseDM T”)

default: 0 (disabled)

AtomMove.ExtendedLagrangian (boolean)

Selects XL-BOMD (with “AtomMove.ReuseDM T”)

default: F

AtomMove.FixCentreOfMass (boolean)

Remove the centre of mass velocity at every time step

default: T for MD, except F for FIRE; disabled when any atomic coordinate is fixed and unused for other run types

Go to top.

Molecular Dynamics

MD.Ensemble (string)

values: nve/nvt/npt

The molecular dynamics ensemble

default: nve

MD.Thermostat (string)

values: none/nhc/svr

Thermostat type

none

No thermostat (used for calculating temperature only)

nhc

Nose-Hoover chain thermostat

svr

Stochastic velocity rescaling

default: none for NVE; nhc for NVT and NPT

MD.Barostat (string)

values: none/pr/mttk

Barostat type. pr selects the Parrinello-Rahman implementation; mttk selects the Martyna-Tobias-Tuckerman-Klein implementation.

none

No barostat (used for calculating pressure only)

pr

Parrinello-Rahman (extended system) barostat

mttk

Martyna-Tobias-Tuckerman-Klein extended-system barostat

default: none for NVE and NVT; pr for NPT

MD.CellConstraint (string)

values: fixed/volume/xyz

Controls the cell degrees of freedom used by the barostat. volume uses one isotropic cell degree of freedom, preserving the cell shape. xyz allows the three orthorhombic cell lengths to change independently and is implemented for the pr barostat. The mttk implementation is isotropic and should be used with volume. When no barostat is active, CONQUEST sets the constraint to fixed; use MD.Barostat none for fixed-cell dynamics.

default: volume; changed to fixed when no barostat is active

MD.EquilSteps (integer)

Number of initial equilibration steps. A positive value is retained only when MD.Thermostat is svr; otherwise CONQUEST issues a warning and resets it to zero.

default: 0

MD.tauT (real)

Thermostat coupling time in fs. For SVR this is a relaxation timescale; for NHC it sets the thermostat frequency when MD.CalculateXLMass is true.

default: 50 fs for SVR; 10 times AtomMove.Timestep for NHC

MD.TDrag (real)

Dimensionless strength of ad hoc damping applied to the ionic Nose-Hoover-chain velocities. The internal damping factor also depends on the timestep, MD.tauT, MD.nMTS and MD.nYoshida.

default: 0.0

MD.nNHC (integer)

Number of Nosé-Hoover thermostats in chain

default: 5

MD.CellNHC (boolean)

Use a separate Nosé-Hoover chain for thermostating the unit cell (NPT only)

default: T

MD.NHCMass (block)

\(<n1> <n2> <n3> \ldots\) Masses of NHC heat baths

default: 1 1 1 1 1

MD.CellNHCMass (block)

\(<n1> <n2> <n3> \ldots\) Masses of NHC heat baths for unit cell

default: 1 1 1 1 1

MD.BulkModulusEst (real)

Reserved bulk-modulus estimate. Version 1.6 reads and stores this value, but the supported barostat algorithms do not use it.

default: 100

MD.tauP (real)

Barostat coupling time in fs. It sets the barostat frequency when MD.CalculateXLMass is true.

default: 100 times AtomMove.Timestep

MD.PDrag (real)

Dimensionless strength of ad hoc damping applied to the cell/barostat velocities and, when MD.CellNHC is true, the separate cell Nose-Hoover-chain velocities. The internal damping factor also depends on the timestep, MD.tauP, MD.nMTS and MD.nYoshida.

default: 0.0

MD.BoxMass (real)

Mass of box for extended system formalism (MTTK barostats)

default: 1

MD.CalculateXLMass (boolean)

Calculate the mass of the extended system components (thermostats, barostat) using the MTTK formulae.

default: T

MD.nYoshida (integer)

values: 1/3/5/7/15/25/125/625

Order of Yoshida-Suzuki integration

default: 1

MD.nMTS (integer)

Number of time steps in inner loop of MTS scheme

default: 1

MD.TDEP (boolean)

Dump data in a format readable by the Temperature Dependent Effective Potential (TDEP) code.

default: F

MD.ThermoDebug (boolean)

Print detailed information about thermostat and extended variables in thermostat.dat

default: F

MD.BaroDebug (boolean)

Print detailed information about barostat and extended variables in barostat.dat

default: F

MD.VariableTemperature (boolean)

Simulation with a variable temperature if .True.

default: F

MD.VariableTemperatureMethod (string)

Type of temperature profile. Only linear temperature profile is implemented.

default: linear

MD.VariableTemperatureRate (real)

Change rate for the temperature. In units of K/fs. If positive, heating. If negative, cooling.

default: 0.0

MD.InitialTemperature (real)

Initial temperature.

default: same as AtomMove.IonTemperature

MD.FinalTemperature (real)

Final temperature.

default: same as AtomMove.IonTemperature

Go to top.

Spin Polarisation

Spin.SpinPolarised (boolean)

Determines if the calculation is spin polarised (collinear) or non-spin polarised.

default: F

Spin.FixSpin (boolean)

Determines if spin populations are to be fixed. Only used if Spin.SpinPolarised is true.

default: F

Spin.NeUP (real)

Total number of electrons in spin up channel at start of calculation.

default: 0.0

Spin.NeDN (real)

Total number of electrons in spin down channel at start of calculation.

default: 0.0

Go to top.

DeltaSCF

minE.DeltaSCF (boolean)

Selects delta SCF calculation

default: F

DeltaSCF.SourceLevel (integer)

Eigenstate number to remove electron from (source)

default: 0

DeltaSCF.TargetLevel (integer)

Eigenstate number to promote electron to (target)

default: 0

DeltaSCF.SourceChannel (integer)

Spin channel for electron source

default: 1

DeltaSCF.TargetChannel (integer)

Spin channel for electron target

default: 1

DeltaSCF.SourceNFold (integer)

Allows selection of more than one level for excitation source (N-fold)

default: 1

DeltaSCF.TargetNFold (integer)

Multiplicity of target (N-fold)

default: 1

DeltaSCF.LocalExcitation (boolean)

Select an excitation localised on a group of atoms. When enabled, the cDFT.AtomGroups block and every atom-group block named within it are required; CONQUEST stops if any of these blocks is absent. At least one of DeltaSCF.HOMOLimit and DeltaSCF.LUMOLimit must be nonzero for the localised-excitation analysis to remain enabled.

default: F

DeltaSCF.HOMOLimit (integer)

How many states down from HOMO to search for localised excitation

default: 0

DeltaSCF.LUMOLimit (integer)

How many states up from LUMO to search for localised excitation

default: 0

DeltaSCF.HOMOThresh (real)

Threshold for identifying a localised occupied source state (sum of the squared moduli of coefficients on the selected atoms)

default: 0.5

DeltaSCF.LUMOThresh (real)

Threshold for identifying a localised unoccupied target state (sum of the squared moduli of coefficients on the selected atoms)

default: 0.5

Go to top.

Constrained DFT (cDFT)

cDFT.Perform_cDFT (boolean)

Selects cDFT operation

default: F

cDFT.Type (integer)

values: 1 or 2

Selects constraint to be for absolute charge on groups (1) or difference between two groups (2)

default: 2

cDFT.MaxIterations (integer)

Maximum iterations permitted

default: 50

cDFT.Tolerance (real)

Tolerance on charge

default: 0.001

cDFT.NumberAtomGroups (integer)

Number of groups of atoms

default: 1

cDFT.AtomGroups (block)

Each line specifies a group index, number of atoms, target charge and block label. For each line, a block with that label must list the atom numbers in the group.

Go to top.

Exact exchange (EXX)

EXX.Alpha (real)

Fraction of exact exchange for the density functional XC functional. For example, a value of 1 yields to full EXX with no GGA exchange.

default: 0.25

EXX.Scheme (integer)

Select the algorithm to compute EXX matrix elements based on local numerical Poisson solver. Either the contraction reduction integral (CRI) method or full/screened computation of the electron repulsion integrals (ERIs) at each SCF step. For the latter, possibility of storing the integrals computed at the first SCF step is available.

  • 1 Direct SCF using the CRI algorithm

  • 2 Direct SCF using explicit calculation of ERIs

  • 3 Indirect SCF using explicit calculation of ERIs and storage

We recommand either 1 or 3.

default: 1

EXX.Grid (string)

Grid accuracy for numerical solution of local the Poisson equation. Choose either coarse, standard or fine.

default: standard

Go to top.

vdW-DF

vdWDFT.LDAFunctionalType (integer)

Selects LDA functional to use with vdW-DF

default: 3

Go to top.

DFT-D2

DFT-D2_range (real)

DFT-D2 cutoff range (bohr)

default: 23.0

Go to top.

XL-BOMD

XL.Kappa (real)

Value of kappa

default: 2.0

XL.PropagateX (boolean)

Selects the propagation of LS in XL-BOMD

default: T

XL.PropagateL (boolean)

Selects the propagation of L matrix in XL-BOMD (inappropriate)

default: F

XL.Dissipation (boolean)

Selects the addition of dissipative force

default: F

XL.MaxDissipation (integer)

Order of dissipative force term

default: 5

XL.Integrator (string)

Selects the Verlet method or velocity Verlet method

default: velocityVerlet

XL.ResetFreq (integer)

Frequency to reset the propagation of X matrix in XL-BOMD

default: 0 (no reset)

Go to top.

Advanced and obscure tags

General (advanced)

General.LoadInvS (boolean)

Selects loading of inverse S matrix from previous step (not recommended)

default: F

General.NeutralAtomProjector (boolean)

Selects projector expansion of neutral atom potential; still in development. Only for expert use. (Allows specification of maximum l value for projectors and list of number of projectors for each l value.)

default: F

General.PAOFromFiles (boolean)

Allows you to give explicit file name for .ion files in atom block

default: F

General.MaxTempMatrices (integer)

Allows user to increase number of temporary matrices; sometimes required for wavefunction output.

default: 100

General.EwaldAccuracy (real)

Accuracy required for Ewald sum

default:1\(\times\)10\(^{-10}\)

General.AverageAtomicDiameter (real)

Related to space-filling

default: 5.0

General.GapThreshold (real)

Related to space-filling

default: 2.0*(largest support radius)

General.only_Dispersion (boolean)

Selects only DFT_D2 calculation (no electronic structure etc)

default: F

General.MixXCGGAInOut (real)

For non-SCF calculations only, chooses how to mix the proportions of GGA XC stress contribution (from the change of the electron density gradient) found using input (0.0 gives pure input) and output (1.0 gives pure output) densities. Note that this is an approximation but varying the value significantly away from 0.5 will give inconsistency between stress and energy.

default: 0.5

Go to top.

Atomic Specification (advanced)

Atom.ValenceCharge (real)

Valence charge of species (e.g. 4 for carbon, 6 for oxygen)

default: read from ion file

Atom.NumberOfSupports (integer)

Number of support functions per atom for a species. Don’t confuse support functions and PAOs ! Support functions can be expanded in a basis set of PAOs or blips

default: number of PAOs read from ion file

Atom.SupportFunctionRange (real)

Confinement radius for the support functions for a given species

default: maximal PAO radius read from ion file

Atom.SupportGridSpacing (real)

The spacing of the blip grid (if using). Equivalent (under certain circumstances) to a maximum g-vector of \(\pi\)/SupportGridSpacing plane wave cutoff as region radius and L matrix radius go to infinity. Not used for PAO calculations. N.B. Grid.GridCutoff will be reset to at least half SupportGridSpacing if too small.

default: none

Atom.NonLocalFactor (real)

This is an adjustment factor: the Hamiltonian range is (strictly) 2 \(\times\) (support function radius + non-local projector radius). However, generally without affecting the results, the Hamiltonian range can be set to 2 \(\times\) (support function radius + non_local_factor\(\times\) non-local projector radius). If you have non_local_factor = 1.0 then you get the full range, if 0.0 then the same range as the S matrix.

default: 0.0

Atom.InvSRange (real)

Range of inverse S matrix (though actual matrix range is twice this for consistency with S matrix range).

default: support function range

Atom.SpinNeUp (real)

Specify the population of spin-up electrons for setting initial spin state of atomic densities

default: 0.0

Atom.SpinNeDn (real)

Specify the population of spin-down electrons for setting initial spin state of atomic densities

default: 0.0

Go to top.

I/O General

IO.Partitions (string)

Name for file containing distribution of partitions over processors (generated by accompanying utilities)

default: make_prt.dat

IO.TimingOn (boolean)

Whether time information will be measured and written to output

default: F

IO.TimeAllProcessors (boolean)

Specifies whether time information will be written for all processors or just for the input/output process (the default)

default: F

IO.WriteTimeFile (boolean)

Whether time files are written or not. This flag will be ignored if IO.TimeAllProcessors is true, in which case time files are always written.

default: T

IO.TimeFileRoot (string)

Root to be used in the time files, with an extension indicating the processor number, e.g. .001

default: time

Go to top.

I/O Atomic Coordinates

IO.PdbAltLoc (string)

In case of PDB files with multiple locations selects an alternate location. Values: A, B, etc., as listed in the pdb file. Note that if the keyword is present in the input file but no value is given, only the parts of the system without any alternate location specification will be taken into account

default: none

IO.PdbOut (boolean)

Format of the output coordinate file. Writes a PDB file if set to T. In that case, either the input must be in pdb format or a PDB “template” file needs to be specified with IO.PdbTemplate.

default: F

IO.PdbTemplate (string)

A file used as a template for writing out coordinate files in the PDB format, i.e., the output file will contain the same information as the template, only the atomic coordinates will be overwritten. If the input file is in PDB format, it will also be used as the template, although this can still be overwritten with this keyword

default: IO.Coordinates when IO.PdbIn is true; no template otherwise

IO.AtomOutputThreshold (integer)

Threshold below which atomic positions are output on initialisation, and atomic forces are output at the end of a static run.

default: 200

Go to top.

Basis Set

Basis.BasisSet (string)

values: blips/PAOs

Selects the basis set in which to expand the support functions (localised orbitals).

Options:

  • PAOs — Pseudo-atomic orbitals [E11]

  • blips — B-splines [E12]

default: PAOs

Basis.LoadCoeffs (boolean)

Load existing support-function coefficients. Blip calculations read the per-process blip_coeffs files; MSSF calculations read the dumped SFcoeff matrix files.

default: F, or T when AtomMove.RestartRun is true (for blips and MSSF)

Basis.UsePulayForPAOs (boolean)

Determines whether to use Pulay DIIS for minimisation of PAO basis coefficients

default: F

Basis.PaoKspaceOlGridspace (real)

Determines the reciprocal-space grid spacing for PAO integrals

default: 0.1

Basis.PaoKspaceOlCutoff (real)

Determines the cutoff for reciprocal-space grid spacing for PAO integrals

default: 1000.0

Basis.PAOs_StoreAllAtomsInCell (boolean)

Determines whether coefficients for all atoms in cell are stored on each processor (improves speed but potentially memory expensive, particularly with large systems) or only local atom coefficients (increases communication overhead)

default: T

Basis.SymmetryBreaking (boolean)

Determines whether symmetry-breaking assignment of PAOs to support functions is allowed. In general, it is highly recommended that all atoms have sufficient support functions to span the space of angular momenta used in PAOs (i.e. \(2l+1\) support functions for each \(l\) channel used for PAOs); reducing the number potentially results in symmetry breaking and unphysical behaviour

default: F

Basis.PaoNormFlag (integer)

Determines whether PAOs are normalised

default: 0

Basis.TestBasisGradients (boolean)

Chooses whether gradients of energy with respect to basis function coefficients should be tested (using numerical vs. analytical gradients). WARNING : this produces large amounts of data

default: F

Basis.TestBasisGradTot (boolean)

Test total gradient ?

default: F

Basis.TestBasisGradBoth (boolean)

Test both S- and H-derived gradients (i.e. gradients arising from change of S or H when support functions vary) ?

default: F

Basis.TestBasisGrad_S (boolean)

Test S-derived gradient ?

default: F

Basis.TestBasisGrad_H (boolean)

Test H-derived gradient ?

default: F

Go to top.

Integration Grid (advanced)

Grid.PointsAlong[X/Y/Z] (integer)

Grid points along x (y,z). Overwrites the values set by Grid.GridCutoff. The default FFT code requires that the number of grid points have prime factors of 2, 3 or 5

default: 0

Grid.InBlock[X/Y/Z] (integer)

This is the size of a grid point block (i.e., how many grid points are in one block in the x (y,z) direction), which must be a multiple of 2, 3, or 5 (larger values may impact on parallel efficiency).

default: 4

Grid.ReadBlocks (boolean)

If specified, the code reads information about blocks from the file make_blk.dat

default: F

Go to top.

[E1]

J. P. Perdew and A. Zunger. Self-interaction correction to density-functional approximations for many-electron systems. Phys. Rev. B, 23:5048, 1981. doi:10.1103/PhysRevB.23.5048.

[E2]

S. Goedecker, M. Teter, and J. Hutter. Separable dual-space gaussian pseudopotentials. Phys. Rev. B, 54:1703, 1996. doi:10.1103/PhysRevB.54.1703.

[E3]

John P. Perdew and Yue Wang. Accurate and simple analytic representation of the electron-gas correlation energy. Phys. Rev. B, 45:13244, 1992. doi:10.1103/PhysRevB.45.13244.

[E4]

J. P. Perdew, K. Burke, and M. Ernzerhof. Generalized gradient approximation made simple. Phys. Rev. Lett., 77(18):3865, 1996. doi:10.1103/PhysRevLett.77.3865.

[E5]

Y. Zhang and W. Yang. Comment on “generalized gradient approximation made simple”. Phys. Rev. Lett., 80(4):890–890, 01 1998. URL: https://link.aps.org/doi/10.1103/PhysRevLett.80.890, doi:10.1103/PhysRevLett.80.890.

[E6]

B. Hammer, L. B. Hansen, and J. K. Nørskov. Improved adsorption energetics within density-functional theory using revised perdew-burke-ernzerhof functionals. Phys. Rev. B, 59:7413, 1999. doi:10.1103/PhysRevB.59.7413.

[E7]

Z. Wu and R. E. Cohen. More accurate generalized gradient approximation for solids. Phys. Rev. B, 73(23):235116, 06 2006. doi:10.1103/PhysRevB.73.235116.

[E8]

John P. Perdew, Matthias Ernzerhof, and Kieron Burke. Rationale for mixing exact exchange with density functional approximations. J. Chem. Phys., 105(22):9982, 1996. doi:10.1063/1.472933.

[E9]

X.-P. Li, R. W. Nunes, and D. Vanderbilt. Density-matrix electronic-structure method with linear system-size scaling. Phys. Rev. B, 47:10891, 1993. doi:10.1103/physrevb.47.10891.

[E10]

A. H. R. Palser and D. E. Manolopoulos. Canonical purification of the density matrix in electronic-structure theory. Phys. Rev. B, 58(19):12704, 1998. doi:10.1103/PhysRevB.58.12704.

[E11]

E. Artacho, D. Sanchez-Portal, P. Ordejon, A. Garcia, and J. M. Soler. Linear-scaling ab-initio calculations for large and complex systems. Phys. Stat. Solidi B, 215:809, 1999. doi:10.1002/(SICI)1521-3951(199909)215:1<809::AID-PSSB809>3.0.CO;2-0.

[E12]

E. Hernández, M. J. Gillan, and C. M. Goringe. Basis functions for linear-scaling first-principles calculations. Phys. Rev. B, 55:13485–13493, 1997. doi:10.1103/PhysRevB.55.13485.

Go to top.