atomate.vasp package

Subpackages

Submodules

atomate.vasp.config module

atomate.vasp.database module

class atomate.vasp.database.VaspCalcDb(host='localhost', port=27017, database='vasp', collection='tasks', user=None, password=None)

Bases: atomate.utils.database.CalcDb

Class to help manage database insertions of Vasp drones

__init__(host='localhost', port=27017, database='vasp', collection='tasks', user=None, password=None)
build_indexes(indexes=None, background=True)

Build the indexes.

Args:
indexes (list): list of single field indexes to be built. background (bool): Run in the background or not.
TODO: make sure that the index building is sensible and check for
existing indexes.
get_band_structure(task_id)
get_dos(task_id)
insert_gridfs(d, collection='fs', compress=True, oid=None)

Insert the given document into GridFS.

Args:
d (dict): the document collection (string): the GridFS collection name compress (bool): Whether to compress the data or not oid (ObjectId()): the _id of the file; if specified, it must not already exist in GridFS
Returns:
file id, the type of compression used.
insert_task(task_doc, parse_dos=False, parse_bs=False)

Inserts a task document (e.g., as returned by Drone.assimilate()) into the database. Handles putting DOS and band structure into GridFS as needed.

Args:
task_doc: (dict) the task document parse_dos: (bool) attempt to parse dos in task_doc and insert into Gridfs parse_bs: (bool) attempt to parse bandstructure in task_doc and insert into Gridfs
Returns:
(int) - task_id of inserted document
reset()
retrieve_task(task_id)

Retrieves a task document and unpacks the band structure and DOS as dict

Args:
task_id: (int) task_id to retrieve
Returns:
(dict) complete task document with BS + DOS included

atomate.vasp.drones module

atomate.vasp.powerups module

atomate.vasp.submission_filter module

class atomate.vasp.submission_filter.SubmissionFilter(is_valid=True, potcar_exists=True, max_natoms=200, is_ordered=True, not_in_MP=True, MAPI_KEY=None, require_bandstructure=False)

Bases: pymatgen.alchemy.filters.AbstractStructureFilter

NO_POTCARS = ['Po', 'At', 'Rn', 'Fr', 'Ra', 'Am', 'Cm', 'Bk', 'Cf', 'Es', 'Fm', 'Md', 'No', 'Lr']
__init__(is_valid=True, potcar_exists=True, max_natoms=200, is_ordered=True, not_in_MP=True, MAPI_KEY=None, require_bandstructure=False)

Initialize a submission filter for checking that structures are valid for calculations.

Args:
is_valid (bool): If true, checks structure validity potcar_exists (bool): If true, ensures all elements have VASP PAW_PBE POTCAR max_natoms (int): If not None, ensures structure has <=max_natoms atoms is_ordered (bool): If true, ensures structure is ordered not_in_MP (bool): If true, ensures structure not in MP MAPI_KEY (str): For MP checks, your MAPI key if not previously set as config var require_bandstructure (bool): For MP checks, require a band structure calc
as_dict()
classmethod from_dict(d)
test(structure)

atomate.vasp.vasp_config module

atomate.vasp.vasp_powerups module

Module contents