Schema for Phonon calculation¶
The schema to configure the input file for phonon calculation.
Schema:¶
### Schema for YAML configuration to run CLI script
stages:
type: list
required: True
# - build_structure # build the atomic structures
# - optimize_structure # optimize the structure
# - sampling_space # explore the sampling space
# - run_dft # run the DFTsinglepoint/AIMD simulation
# - collect_data # collect the data
structure: ### ANCHOR: Define atomic structure
type: dict
required: True
schema:
normalize_cell: # normalize the cell to upper triangular matrix, to able to use NPT ensemble
type: boolean
from_extxyz: # list-of-paths to the EXTXYZ files to be used as the initial structure. If provided, the structure will be read from the file, and the other structure parameters will be ignored.
type: list
from_scratch:
type: dict
schema:
structure_type: # bulk, molecule, surface,
type: 'string'
chem_formula: # chemical formula/element. e.g., "H2O", "Mg2O2", "Mg",
type: 'string'
supercell: # size of the supercell
type: list
pbc:
type: list
add_vacuum: # add vacuum space into each dimension x, y, z. Note: vacuum is total on both sides.
type: list
ase_arg: # ASE kwargs for building the structure. https://wiki.fysik.dtu.dk/ase/ase/build/build.html#
type: dict
required: True
allow_unknown: True
calc: ### SECTION Parameters of calculators
type: dict
required: True
schema:
gpaw: ### ANCHOR: GPAW calculator. Accept all GPAW parameters: https://gpaw.readthedocs.io/documentation/basic.html
type: dict ### See also [ASE schema](https://thangckt.github.io/alff_doc/schema/config_ase/)
dftd3: ### ANCHOR: DFT-D3 calculator for Van der Waals correction
type: dict
schema:
damping: # use DFT-D3 damping. Default is "d3zero" (zero-damping). Choices: "d3bj","d3zero","d3bjm","d3zerom","d3op".
type: string
### ANCHOR: Define ASE's calculator by two ways: using 'pyfile' or 'pyscript'.
py_file: # python file that defines ASE's calculator. Python script must return the variable `calc`.
type: string
py_script: # list[str] of python-code to directly define ASE's calculator. Python script must return the variable `calc`. Example:
type: list
lammps: ### ANCHOR: LAMMPS parameters
type: dict