asr.setup.defects

Summary

This is the documentation for asr.setup.defects-recipe. This recipe is comprised of a single instruction, namely:

Run this recipe through the CLI interface

$ asr run asr.setup.defects

or as a python module

$ python -m asr.setup.defects

Detailed description

Generate defective atomic structures.

Steps

asr.setup.defects

asr.setup.defects.main(atoms, chargestates=3, supercell=[0, 0, 0], maxsize=8, intrinsic=True, vacancies=True, uniform_vacuum=False, nopbc=True, halfinteger=False, general_algorithm=None)[source]

Set up defect structures for a given host.

Recipe setting up all possible defects within a reasonable supercell as well as the respective pristine system for a given input structure. Defects include: vacancies, intrinsic substitutional defects. For a given primitive input structure this recipe will create a directory tree in the following way (for the example of MoS2):

  • There has to be a ‘unrelaxed.json’ file with the primitive structure of the desired system in the folder you run setup.defects. The tree structure will then look like this:

. ‘ ├── general_parameters.json ‘ ├── MoS2_331.v_S ‘ │   ├── charge_0 ‘ │   │   ├── params.json ‘ │   │   └── unrelaxed.json ‘ │   ├── charge_1 ‘ │   │   ├── params.json ‘ │ │  └── unrelaxed.json -> ./../charge_0/structure.json ‘ │   . ‘ │ ‘ ├── MoS2_231.Mo_S ‘ │   ├── charge_0 ‘ . . ‘ . ‘ ├── pristine_sc ‘ │  ├── params.json ‘ │ └── structure.json ‘ ├── results_setup.defects.json ‘ └── unrelaxed.json ‘

  • Here, the notation for the defects is the following: ‘formula_supercellsize.defect_sustitutionposition’ where ‘v’ denotes a vacancy

  • When the general algorithm is used to set up symmetry broken supercells, the foldernames will contain ‘000’ instead of the supersize.

  • In the resulting folders you can find the unrelaxed structures, as well as a ‘params.json’ file which contains specific parameters as well as the charge states of the different defect structures.

Parameters
Return type

asr.core.results.ASRResult