The cp2k input structure

CP2K input reference

Version information

This html manual can be generated automatically from a given cp2k executable using the --html-manual command line option. The manual describes exactly that version of the code. This version has been generated using a cp2k version compiled on Wed Jul 22 15:44:55 WEDT 2009. The latest CVS entry found is /qs_gspace_mixing.F/1.7/Mon May 25 22:07:06 2009//.

Search the online input reference manual

Journal papers

List of references cited in the CP2K input manual.

Units of Measurement

List of unites organized into groups based on the physical quantity they measure. The units can be used to specify an alternative unit of measurement for keyword values, for which a default unit has been explicitly defined.

Internal Input Preprocessor

Before the input is parsed, the input is run through a very simple internal preprocessor. The preprocessor recognizes the following directives independent of capitalization:
@INCLUDE 'filename.inc'
The file referenced by filename.inc is included into the input file and parsed. Recursive inclusions are not allowed and the files have to exist in the current working directory. There can be only one @INCLUDE statement per line. Single or double quotes can be used and have to be used if the filename contains blanks.
@SET VAR value
Assigns the text value to the preprocessing variable VAR. value is the text following VAR with the outer whitespace removed. The variable can be recalled with a ${VAR} statement. There can be only one @SET statement per line.
${VAR}
Expand the variable VAR. The text ${VAR} is replaced with the value assigned to VAR in the last corresponding @SET directive. There can be multiple variables per line. The expansion process is repeated until no more variables are found.
@IF / @ENDIF
Conditional block. The text from the @IF line up to the next line with a valid @ENDIF is skipped, if the expression following @IF resolves to false. Available expressions are lexical comparisons for equality '==' or inequality '/='. If none of the two operators are found, a '0' or whitespace resolves to false while any text resolves to true. @IF/@ENDIF blocks cannot be nested and cannot span across files. There can be only one test (== or /=) per @IF statement.

Input structure

All sections that can be part of a cp2k input file are shown with their allowed nestings. A description of each section, and a list of keywords can be obtained clicking on the links.


Back to the CP2K homepage