The schema is schema/Potentials.capnp, a vendored copy of the shared potentials-schema release pinned in subprojects/potentials-schema.wrap. This page lists the fields that decide what CPMD computes. The option mapping lists every typed field with its feature ID and deck spelling.

CPMDParams

Field

Type, default

Role

functional

Text, "BLYP"

functional when no dft section sets one

cutOffRy

Float64, 70.0

plane-wave cutoff in Rydberg when no system section sets one

charge

Int32, 0

system charge when the system section does not set one

multiplicity

Int32, 1

2S+1; above 1 selects spin-polarized defaults

task

Text, "gradient"

host hint: energy, gradient, md, optimize

title

Text

comment header of the rendered deck

memoryMb

UInt32, 0

host memory hint

scratchDir, permanentDir

Text

FILEPATH in &CPMD, and the working directory for RESTART.1, LATEST, GEOMETRY, and GEOMETRY.xyz; permanentDir wins

cpmdRoot

Text

OpenCPMD tree hint for hosts

enginePath

Text

library path hint for hosts such as rgpot

inputBlocks

List(Text)

literal &SECTION ... &END blocks placed before the rendered sections

inputSections

List(CPMDInputSection)

structured sections, rendered in list order

A section missing from inputSections gets a default: &CPMD with OPTIMIZE WAVEFUNCTION and CONVERGENCE ORBITALS 1e-6, &SYSTEM with SYMMETRY 0, ANGSTROM, and the top-level cutoff, charge, and multiplicity, and &DFT with the top-level functional.

CPMDInputSection

A union; each list entry sets exactly one arm.

Arm

Payload

Renders

cpmd

CPMDCpmdSection

&CPMD

system

CPMDSystemSection

&SYSTEM

dft

CPMDDftSection

&DFT

atoms

CPMDAtomsSection

&ATOMS without coordinates

vdwParams, propParams, linresParams, pimdParams, pathParams, tddftParams, respParams, exteParams, vectorsParams

typed long-tail sections

the matching section

atom, basis, clas, eam, exte, hardness, info, linres, molstates, mts, nlcc, path, pimd, potential, prop, ptddft, resp, tddft, vdw, vectors, wavefunction

CPMDDirectiveSection: directives and nested subsections

the matching section, one line per directive

set

CPMDSetDirective: key = "SECTION.KEYWORD", value

one keyword merged into a named section

generic

CPMDGenericSection: name, directives

a section by name

raw

Text

a full &SECTION ... &END block, verbatim

CPMDDirective

Field

Meaning

keyword

the line, for example "PCG MINIMIZE"

args

List(Text); each entry becomes one indented line below the keyword

Every typed section has a directives list for keywords without a typed field.

CPMDCpmdSection, the fields a force call uses

Field

Default

Deck

optimizeWavefunction

true

OPTIMIZE WAVEFUNCTION

convergenceOrbitals

1e-6

CONVERGENCE ORBITALS

maxIter

0, omitted

MAXITER; the OpenCPMD path inserts 40 when absent

maxStep

0, omitted

MAXSTEP, the geometry step limit of CPMD’s own drivers

odiis, odiisVectors, odiisOptions

off

ODIIS and its vector count

pcg

off

PCG; PCG MINIMIZE goes in directives

diis

off

DIIS

centerMoleculeOff, centerMoleculeOn

off

CENTER MOLECULE OFF / ON

restartWavefunction

off

RESTART WAVEFUNCTION; read on the cold first call only

isolatedMolecule

off

ISOLATED MOLECULE

The OpenCPMD path ignores restarted coordinates, velocities, and geometry: the host owns them.

CPMDSystemSection, the fields that set the cell

Field

Default

Deck

symmetry

0

SYMMETRY; 0 is isolated

angstrom

true

ANGSTROM, the unit of CELL and &ATOMS

cell

empty

CELL: six values a, b/a, c/a, cos(alpha), cos(beta), cos(gamma), or nine with cellVectors

cellAbsolute, cellDegree, cellVectors

off

CELL ABSOLUTE, DEGREE, VECTORS

cutOffRy

70.0

CUTOFF

poissonSolver, poissonParameter

empty

POISSON SOLVER; SYMMETRY 0 without one adds HOCKNEY

charge, multiplicity

0, 1

CHARGE, MULTIPLICITY

kpointsMonkhorstPack

empty

KPOINTS MONKHORST-PACK

CPMDDftSection

Field

Default

Deck

functional

"BLYP"

FUNCTIONAL

lsd

false

LSD

gcCutoff

0, omitted

GC-CUTOFF

oldCode, newCode

off

OLDCODE / NEWCODE

hfx, hfxScreening

off

hybrid exchange controls

CPMDAtomsSection and CPMDAtomsPseudopotential

Field

Default

Deck

element

element symbol, such as "Si"

path

the *file line, a library name or a path

lmax, loc, skip

-1, omitted

LMAX=, LOC=, SKIP=; 0 is S, 1 P, 2 D, 3 F

kleinmanBylander

false

KLEINMAN-BYLANDER on the *file line

raggio

0, omitted

RAGGIO=

nonlinearCore

false

NLCC

The atoms section also carries constraints, isotopes, velocities, dummyAtoms, changeBonds, generate, and directives. Coordinates never go here. On the OpenCPMD path, the &ATOMS block CPMD reads is rebuilt from each step’s geometry. Entries in pseudopotentials supply the file, LMAX, LOC, and KLEINMAN-BYLANDER for the elements they name. Elements left out of that list use a built-in table for H, C, N, O, Si, and Ge; see writing a CPMDParams message.

ForceInput

Field

Default

Meaning

pos

3 * natoms coordinates in lengthUnit

atmnrs

atomic numbers

box

empty

nine values, row-major cell vectors in lengthUnit

lengthUnit

"angstrom"

unit of pos and box

energyUnit

"eV"

unit of the PotentialResult energy

PotentialConfig

A union of backend arms plus a common overlay (CommonMethodSpec). cpmdc accepts the cpmd arm, which holds a CPMDParams, or the overlay alone; see the C ABI reference for the lowering rules.