atomate.vasp.builders package — atomate 0.9.2 documentation

# atomate.vasp.builders package

## Subpackages

- atomate.vasp.builders.examples package
  - Submodules
  - atomate.vasp.builders.examples.run_builders module
  - Module contents

## Submodules

## atomate.vasp.builders.bandgap_estimation module

class `atomate.vasp.builders.bandgap_estimation.` `BandgapEstimationBuilder`(materials_write)

  Bases: `object`

  `__init__`(materials_write)

    Starting with an existing materials collection with dielectric constant data, adds estimated band gaps that may be more accurate than typical GGA calculations.

    Run the “DielectricBuilder” before running this builder.

    Args:

      materials_write: mongodb collection for materials (write access needed)

  static `from_file`(db_file, m='materials', **kwargs)

    Get builder using only a db file.

    Args:

      db_file: (str) path to db file m: (str) name of “materials” collection **kwargs: other parameters to feed into the builder, e.g. mapi_key

    Returns:

      BandgapEstimationBuilder

  `reset`()
  `run`()

## atomate.vasp.builders.base module

class `atomate.vasp.builders.base.` `AbstractBuilder`

  Bases: `object`

  Abstract builder class. Defines the contract and must be subclassed by all builders.

  abstract classmethod `from_file`(filename)

    Set the builder from a config file, e.g., a db file

  abstract `reset`()

    Unset the building.

  abstract `run`()

    Run the builder.

## atomate.vasp.builders.boltztrap_materials module

class `atomate.vasp.builders.boltztrap_materials.` `BoltztrapMaterialsBuilder`(materials_write, boltztrap_read)

  Bases: `atomate.vasp.builders.base.AbstractBuilder`

  `__init__`(materials_write, boltztrap_read)

    Update materials collection based on boltztrap collection.

    Args:

      materials_write (pymongo.collection): mongodb collection for materials (write access needed) boltztrap_read (pymongo.collection): mongodb collection for boltztrap (suggest read-only for safety)

  classmethod `from_file`(db_file, m='materials', b='boltztrap', **kwargs)

    Get a BoltztrapMaterialsBuilder using only a db file.

    Args:

      db_file (str): path to db file m (str): name of “materials” collection b (str): name of “boltztrap” collection **kwargs: other params to put into BoltztrapMaterialsBuilder

  `reset`()

    Unset the building.

  `run`()

    Run the builder.

## atomate.vasp.builders.dielectric module

class `atomate.vasp.builders.dielectric.` `DielectricBuilder`(materials_write)

  Bases: `object`

  `__init__`(materials_write)

    Starting with an existing materials collection, adds some averages and eigenvalues for dielectric constants rather than just the tensor

    Args:

      materials_write: mongodb collection for materials (write access needed)

  static `from_file`(db_file, m='materials', **kwargs)

    Get a MaterialsEhullBuilder using only a db file.

    Args:

      db_file: (str) path to db file m: (str) name of “materials” collection **kwargs: other parameters to feed into the builder, e.g. mapi_key

    Returns:

      DielectricBuilder

  `reset`()
  `run`()

## atomate.vasp.builders.file_materials module

class `atomate.vasp.builders.file_materials.` `FileMaterialsBuilder`(materials_write, data_file, delimiter=', ', header_lines=0)

  Bases: `atomate.vasp.builders.base.AbstractBuilder`

  `__init__`(materials_write, data_file, delimiter=', ', header_lines=0)

    Updates the database using a data file. Format of file must be: <material_id or formula>, <property>, <value>

    Comment lines should start with ‘#’.

    Args:

      materials_write: mongodb collection for materials (write access needed) data_file (str): path to data file delimiter (str): delimiter for file parsing header_lines (int): number of header lines to skip in data file

  classmethod `from_file`(db_file, data_file=None, m='materials', **kwargs)

    Get a FileMaterialsBuilder using only a db file.

    Args:

      db_file (str): path to db file data_file (str): path to data file m (str): name of “materials” collection **kwargs: other parameters to feed into the builder, e.g. mapi_key

  `reset`()

    Unset the building.

  `run`()

    Run the builder.

## atomate.vasp.builders.fix_tasks module

class `atomate.vasp.builders.fix_tasks.` `FixTasksBuilder`(tasks_write)

  Bases: `atomate.vasp.builders.base.AbstractBuilder`

  `__init__`(tasks_write)

    Fix historical problems in the tasks database

    Args:

      tasks_write (pymongo.collection): mongodb collection for tasks (write access needed)

  classmethod `from_file`(db_file, t='tasks', **kwargs)

    Get a FixTasksBuilder using only a db file.

    Args:

      db_file (str): path to db file t (str): name of “tasks” collection **kwargs: other params to put into FixTasksBuilder

  `reset`()

    Unset the building.

  `run`()

    Run the builder.

## atomate.vasp.builders.materials_descriptor module

class `atomate.vasp.builders.materials_descriptor.` `MaterialsDescriptorBuilder`(materials_write, update_all=False)

  Bases: `atomate.vasp.builders.base.AbstractBuilder`

  `__init__`(materials_write, update_all=False)

    Starting with an existing materials collection, adds some compositional and structural descriptors.

    Args:

      materials_write: mongodb collection for materials (write access needed) update_all: (bool) - if true, updates all docs. If false, updates incrementally

  classmethod `from_file`(db_file, m='materials', **kwargs)

    Get a MaterialsDescriptorBuilder using only a db file.

    Args:

      db_file: (str) path to db file m: (str) name of “materials” collection **kwargs: other parameters to feed into the builder

  `reset`()

    Unset the building.

  `run`()

    Run the builder.

## atomate.vasp.builders.materials_ehull module

class `atomate.vasp.builders.materials_ehull.` `MaterialsEhullBuilder`(materials_write, mapi_key=None, update_all=False)

  Bases: `atomate.vasp.builders.base.AbstractBuilder`

  `__init__`(materials_write, mapi_key=None, update_all=False)

    Starting with an existing materials collection, adds stability information and The Materials Project ID. Args:

    > materials_write: mongodb collection for materials (write access needed) mapi_key: (str) Materials API key (if MAPI_KEY env. var. not set) update_all: (bool) - if true, updates all docs. If false, only updates

    > > docs w/o a stability key

  classmethod `from_file`(db_file, m='materials', **kwargs)

    Get a MaterialsEhullBuilder using only a db file Args:

    > db_file: (str) path to db file m: (str) name of “materials” collection **kwargs: other parameters to feed into the builder, e.g. mapi_key

  `reset`()

    Unset the building.

  `run`()

    Run the builder.

## atomate.vasp.builders.tags module

class `atomate.vasp.builders.tags.` `TagsBuilder`(materials_write, tasks_read, tasks_prefix='t')

  Bases: `atomate.vasp.builders.base.AbstractBuilder`

  `__init__`(materials_write, tasks_read, tasks_prefix='t')

    Starting with an existing materials collection, searches all its component tasks for the “tags” and key in the tasks collection and copies them to the materials collection. Thus, the “tags” for a material will be the union of all the tags for its component tasks.

    Args:

      materials_write (pymongo.collection): materials collection with write access. tasks_read (pymongo.collection): read-only(for safety) tasks collection. tasks_prefix (str): the string prefix for tasks, e.g. “t” for a task_id like “t-132”

  classmethod `from_file`(db_file, m='materials', t='tasks', **kwargs)

    Get a TagsCollector using only a db file.

    Args:

      db_file (str): path to db file m (str): name of “materials” collection **kwargs: other parameters to feed into the builder, e.g. update_all

  `reset`()

    Unset the building.

  `run`()

    Run the builder.

## atomate.vasp.builders.tasks_materials module

class `atomate.vasp.builders.tasks_materials.` `TasksMaterialsBuilder`(materials_write, counter_write, tasks_read, tasks_prefix='t', materials_prefix='m', query=None, settings_file=None)

  Bases: `atomate.vasp.builders.base.AbstractBuilder`

  `__init__`(materials_write, counter_write, tasks_read, tasks_prefix='t', materials_prefix='m', query=None, settings_file=None)

    Create a materials collection from a tasks collection.

    Args:

      materials_write (pymongo.collection): mongodb collection for materials (write access needed) counter_write (pymongo.collection): mongodb collection for counter (write access needed) tasks_read (pymongo.collection): mongodb collection for tasks (suggest read-only for safety) tasks_prefix (str): a string prefix for tasks, e.g. “t” gives a task_id like “t-132” materials_prefix (str): a string prefix to prepend to material_ids query (dict): a pymongo query on tasks_read for which tasks to include in the builder settings_file (str): filepath to a custom settings path

  classmethod `from_file`(db_file, m='materials', c='counter', t='tasks', **kwargs)

    Get a TaskMaterialsBuilder using only a db file.

    Args:

      db_file (str): path to db file m (str): name of “materials” collection c (str): name of “counter” collection t (str): name of “tasks” collection **kwargs: other params to put into TasksMaterialsBuilder

  `reset`()

    Unset the building.

  `run`()

    Run the builder.

`atomate.vasp.builders.tasks_materials.` `module_dir` = '/Users/ajain/Documents/code_matgen/atomate/atomate/vasp/builders'

  This class collects all “tasks” (individual calculations) on a single compound and produces a summary report in a new collection (“materials”). The tasks are matched based on having the same crystal structure, with some options for overriding this.

  There is lots of config for this builder in the accompanying “tasks_materials_settings.yaml” file.

## atomate.vasp.builders.utils module

This class contains common functions for builders

`atomate.vasp.builders.utils.` `dbid_to_int`(dbid)

`atomate.vasp.builders.utils.` `dbid_to_str`(prefix, dbid)

## Module contents