Skip to content

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