## Overview

Quest generates many files in the course of a calculation. The purpose of this page is to summarize the more important of these. The convention Quest adopts is to use a common prefix (currently chosen to be “lcao”, but can be trivially changed), and alter the suffix for each file, with the suffix being suggestive of the contents. A few files are immediately interesting to the user (such as the output listing file, or the file with a relaxed geometry), some become useful for post-processing purposes, and some are big binary files that the code spits out to reduce the memory footprint of the code.

## Quest files (by suffix)

Notes:

- All files are binary format, unless otherwise noted.
- All arrays, both grid fields and orbital matrices, are real*8.
- Grid fields are written as a full array

grid_array( ngrid_A , ngrid_B , ngrid_C ),

where*ngrid_X*is the dimension of the grid along a lattice vector*X*. - Orbitals matrices are dimensioned as

orbital_matrix( n_basis , n_basis , n_kpoints )

and are written as either the full array on a line, or one k-point (n_basis^2 matrix), at a time, as indicated in the description below. - All big binary I/O (both grid fields and orbital matrices) is length-limited. If a record is longer than a specified length (set at compile time in the “utl” file, defined by the parameter “maxlen”), the read/write of an array is automatically broken up into multiple lines of “maxlen” length until entire array is done. The length-segmented write can be disabled at run-time with a “-1” input to maxlen.
**Important**: Contents and formats of files are subject to change.

### Primary input files:

**in** (ASCII)

Quest main input file.

**atm** (ASCII)

Presumptive suffix for atom files used as input. Quest will accept atom files as any name and any suffix, but uses the **atm** suffix to construct default type (element) names used in aliasing atom types in the input.

**geom_in** (ASCII)

Geometry input file (if invoked in setup phase) (2.66)

### Primary output files:

**out** (ASCII)

Main user output file. Usually the code is configured so that this output is written to standard out (to a file given by a “redirect”), but if it is to a named file, it has this suffix. It is user readable. Almost all the interesting data has a unique identifier that can be easily selected using a “grep”. For example, do a “grep seconds” to find all timing diagnostics (e.g. to see how far the calculation has gone and how long each step of the calculation takes). A “grep TOTAL” will elicit the SCF convergence of the energy, a “grep fermi” will give the fermi energies, and “grep FINAL” will reveal the final converged SCF energies.

**neb_out** (ASCII)

If a NEB calculation, the output listing file of the NEB driver.

### Output files, also potentially useful for new input:

**geom** (ASCII)

From a geometry relaxation calculation, the current geometry updated at every geometry step. When the calculation converges, this will be the converged geometry. It is the exact format of the input geometry (scaling, units), so that it could be directly inserted into the input file.

**neb_geom** (ASCII)

If a NEB calculation, the full NEB atomic configuration. It contains the atomic position for every image in the NEB. This file is in the exact format of the neb input section, so that it could be inserted directly into the Quest input file (e.g., to continue a NEB calculation further). Note: this file does not contain the flags (antikink, etc.) of the original input file, so these would need to be added by hand.

### Output files to feed post-processing:

**hist** (ASCII)

Keyword-driven history of the structural energetics obtained by the code (total energies, geometries). This file feeds a post-processing code (tentatively called *outpost*) to generate the input to a molecular visualizer (e.g. MOLDEN).

**post** (ASCII)

Generated if “do post” selected. Keyword-driven listing of additional output need to drive post-processing code for electronic properties (e.g. pDOS). It contains the eigenvalues spectrum, for example.

**neb_post** (ASCII)

Generated if NEB calculation selected. NEB path information for post-analysis.

**lcao.bands** (ASCII) – for plotting band structure (if do bands)

Contains band energies along paths (branches) in k-space

**lcao.bandlbls** (ASCII) – for plotting band structure (if do bands)

Contains labels of high symmetry points and their positions along this path.

### Other files:

**broy*_elec**

Files used for the Broyden blending scheme for the SCF calculation. Complicated contents of no value to anything except to the Broyden.

**broy*_geom**

Files used for the Broyden blending scheme for the geometry relax. Complicated contents of no value to anything except to the Broyden.

**dh**

Orbital matrices: the difference between the current full Hamiltonian matrix and the reference Hamiltonian matrix.

( dH( 1:n_basis , 1:n_basis , k ) ; k=1,n_kpoints )

**dmat**

Orbital matrices: the density matrix

( dmat( 1:n_basis , 1:n_basis , k ) ; k=1,n_kpoints )

**drh0**

Grid fields: if GGA calculation (and hence need density derivatives), derivatives of the total reference density.

( d_rho0 ; for derivatives=x,y,z,xx,yy,zz,xy,yz,zx )

**drho**

Grid fields: if GGA calculation (and hence need density derivatives), derivatives of the “delta” density (rhotot-rho0).

( d_rho ; for derivatives=x,y,z,xx,yy,zz,xy,yz,zx )

**drhs**

Grid fields: if spin-polarized GGA calculation, derivatives of the spin-polarized delta up-spin density.

( d_rho[spin-up] ; for derivatives=x,y,z,xx,yy,zz,xy,yz,zx )

**emat**

Orbital matrix: Energy-weighted density matrix for use in forces

( emat( 1:n_basis , 1:n_basis , k ) ; k=1,n_kpoints )

**ges**

Orbital matrix: Used to construct guess Hamiltonian for SCF

ges_H( 1:n_basis , 1:n_basis , 1:n_kpoint )

**grd**

Grid Fields: SCF grid quantities – delta densities, electrostatic potential, total (es+xc) delta potentials. saved as *difference* from reference quantity (in **grd0**). Possibly used in subsequent defect-LMCC calculation

No spin: delta_rho ; delta_Ves ; delta_pot

With spin: delta_rho[up] ; delta_rho[dn] ; delta_Ves; delta_pot[up] ; delta_pot[dn]

**grdref** (input)

Grid Fields: if defect-LMCC calculation, input crystal reference density and potential (copy of crystal output **grd** file)

(see **grd** for contents)

**grd0**

Grid fields: Reference grid quantities, e.g. density, potentials

rho_ref ; rho_core ; Vxc_ref ; Exc_ref

**grho**

Grid fields: If GGA, total density gradients (“grho”, “g2rho”, “gpggp” ) for xc-potentials:

∇ρ ; ∇^{2}ρ ; ∇ρ⋅∇|∇ρ|

If spin-polarized GGA, then append additional spin-resolved fields:

∇ρ^{↑} ; ∇ρ^{↓} ; ∇^{2}ρ^{↑} ; ∇ρ^{↑}⋅∇|∇ρ^{↑}| ; ∇ρ^{↓} ; ∇^{2}ρ^{↓} ; ∇ρ^{↓}⋅∇|∇ρ^{↓}|

Note: that ∇ρ^{↓} is written twice to this file is intentional.

**h0**

Orbital matrices: reference total Hamiltonian

( H_ref( 1:n_basis , 1:n_basis , k ) ; k=1,n_kpoints )

**h0t**

Orbital matrices: KE (kinetic energy) reference Hamiltonian

( kinetic( 1:n_basis , 1:n_basis , k ) ; k=1,n_kpoints )

**h0nl**

Orbital matrices: non-local ps-potl reference Hamiltonian

( ps_potl( 1:n_basis , 1:n_basis , k ) ; k=1,n_kpoints )

**h0exc**

Orbital matrices: Exc (xc energy density) part of reference Hamiltonian

( Exc_ref( 1:n_basis , 1:n_basis , k ) ; k=1,n_kpoints )

**h0vxc**

Orbital matrices: Vxc (xc potential) part of reference Hamiltonian

( Vxc_ref( 1:n_basis , 1:n_basis , k ) ; k=1,n_kpoints )

**neb_efrc** (ASCII)

Keyword driven file that maintains running status of NEB calculation

**s**

Orbital matrix: overlap matrix

( overlap( 1:n_basis , 1:n_basis , k ) ; k=1,n_kpoints )

**set0**

Complicated contents from setup phase that is used only in the event of a restart

**stat** (ASCII)

Keyword-driven file that maintains current status of calculation for restart

**vec**

Orbital matrices: eigenvectors

( eigvec( 1:n_basis , 1:n_state , k ) ; k=1,n_kpoints )

Note: this is real*8 for a single k-point gamma point calculation, otherwise double complex.

**vxyz** (ASCII)

Maintains restart data for molecular dynamics – velocities, positions, thermostat info, …