3. IngredientsΒΆ

Each ingredient is a separate calculation. Ingredients make up recipes.

Each ingredient is responsible for updating its child ingredients through an update_children method.

The ingredient directory will contain:

  • Any input files written by MAST or delivered by the parent ingredients.
  • Any output files generated by the calculation
  • A metadata.txt file, which stores important information for MAST
  • A jobids file, which stores job ID numbers that the ingredient has had on the queue.

An ingredient object (created by MAST from the input file, and accessible to MAST while MAST is running) will have:

  • A name, which is the full path to the ingredient’s directory and is automatically generated from information in the input file.

  • A dictionary of keywords, which come from the ingredient’s ingredient type in The Ingredients section.

    • Program-specific keywords

    • MAST keywords, including:

      • The write method: which files the ingredient should write out before running (e.g., create the INCAR)
      • The ready method: how MAST can tell if the ingredient is ready to run (often, in addition to writing its own files, an ingredient must also wait for data from its parent ingredient(s)).
      • The run method: what MAST should do to run the ingredient (e.g. submit a submission script to a queue, or perform some other action)
      • The complete method: how MAST can tell if the ingredient is considered complete
      • The update children method: what information an ingredient passes on to its children, and how this information is passed on
  • A pymatgen Structure object representing the very first structure created from The Structure section.