Skip to content

Schema for Data Generation

The schema to configure the input file for data generation.

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

          # crystalstructure: "bcc" # choices: sc,fcc,bcc,tetragonal,bct,hcp,rhombohedral,orthorhombic,mcl,diamond,zincblende,rocksalt,cesiumchloride,fluorite,wurtzite.
          # a: 3.98  # lattice constant
          # # cubic: True


sampling_space:         # sampling `scaled structures` in ranges of temperatures; Or sampling `original structures` in ranges of temperatues and stressess.
  type: dict
  required: True
  schema:
    scale:
      type: dict
      schema:
        scale_x:        # scale the structure in x-direction. E.g., [0.5, 1.5]
          type: list
        scale_y:        # scale the structure in y-direction. E.g., [0.5, 1.5]
          type: list
        scale_z:        # scale the structure in z-direction. E.g., [0.5, 1.5]
          type: list
        temps:          # list of temperatures in K. E.g., [300, 600]
          type: list

    temp_stress:        # sampling in temperature and stress
      type: dict
      schema:
        temps:          # list of temperatures in K
          type: list
        stresses:       # list of stress in GPa
          type: list


dft:                    ### ANCHOR: DFT calculators
  type: dict
  required: True
  schema:
    calc:               # accept all keywords for ['ase.calc'](https://thang.eu.org/alff_doc/schema/config_ase/)
      type: dict
      required: True
      schema:
        gpaw:           # GPAW calculator parameters
          type: dict
          required: True
        dftd3:          # DFT-D3 calculator for Van der Waals correction
          type: dict

    optimize:           # run DFT to optimize the structure
      type: dict

    md:                 # run AIMD simulation
      type: dict