pymatgen.analysis.defects.core module¶
-
class
Defect(structure, defect_site, charge=0.0)[source]¶ Bases:
monty.json.MSONableAbstract class for a single point defect
Initializes an abstract defect
Parameters: - structure – Pymatgen Structure without any defects
- defect_site (Site) – site for defect within structure must have same lattice as structure
- charge – (int or float) defect charge default is zero, meaning no change to NELECT after defect is created in the structure
-
bulk_structure¶ Returns the structure without any defects.
-
charge¶ Returns the charge of a defect
-
defect_composition¶ Returns the defect composition as a Composition object
-
generate_defect_structure(supercell=(1, 1, 1))[source]¶ Given structure and defect_site (and type of defect) should return a defect_structure that is charged :param supercell: supercell integer, vector, or scaling matrix :type supercell: int, [3x1], or [[]] (3x3)
-
multiplicity¶ Returns the multiplicity of a defect site within the structure (needed for concentration analysis)
-
name¶ Returns a name for this defect
-
set_charge(new_charge=0.0)[source]¶ Sets the overall charge :param charge: new charge to set :type charge: float
-
site¶ Returns the defect position as a site object
-
class
DefectCorrection[source]¶ Bases:
monty.json.MSONableA Correction class modeled off the computed entry correction format
-
class
DefectEntry(defect, uncorrected_energy, corrections=None, parameters=None, entry_id=None)[source]¶ Bases:
monty.json.MSONableAn lightweight DefectEntry object containing key computed data for many defect analysis.
Parameters: - defect – A Defect object from pymatgen.analysis.defects.core
- uncorrected_energy (float) – Energy of the defect entry. Usually the difference between the final calculated energy for the defect supercell - the perfect supercell energy
- corrections ([Correction]) – List of Correction classes (from pymatgen.analysis.defects.corrections) which correct energy due to charge (e.g. Freysoldt or Kumagai) or other factors (e.g. Shallow level shifts)
- parameters (dict) – An optional dict of calculation parameters and data to use with correction schemes (examples of parameter keys: supercell_size, axis_grid, bulk_planar_averages defect_planar_averages )
- entry_id (obj) – An id to uniquely identify this defect, can be any MSONable type
- Optional:
note that if you intend to use this defect entry with Charge Corrections but the bulk_structure stored in defect is not the final supercell, then ‘scaling_matrix’ must be stored in parameters
for example: parameters = {‘scaling_matrix’: [3,3,3]}
-
bulk_structure¶
-
charge¶
-
copy()[source]¶ Convenience method to get a copy of the DefectEntry.
Returns: A copy of the DefectEntry.
-
defect_concentration(chemical_potentials, temperature=300, fermi_level=0.0)[source]¶ Get the defect concentration for a temperature and Fermi level. :param temperature: the temperature in K :param fermi_level: the fermi level in eV (with respect to the VBM)
Returns: defects concentration in cm^-3
-
energy¶ Returns the corrected energy of the entry
-
formation_energy(chemical_potentials=None, fermi_level=0)[source]¶ Computes the formation energy for a defect taking into account a given chemical potential and fermi_level
-
multiplicity¶
-
name¶ Returms the defect name
-
site¶
-
class
Interstitial(structure, defect_site, charge=0.0, site_name=u'', multiplicity=1)[source]¶ Bases:
pymatgen.analysis.defects.core.DefectSubclass of Defect to capture essential information for a single Interstitial defect structure.
Initializes an interstial defect. User must specify multiplity. Default is 1 :param structure: Pymatgen Structure without any defects :param defect_site: the site for the interstial :type defect_site: Site :param charge: (int or float) defect charge
default is zero, meaning no change to NELECT after defect is created in the structureParameters: - site_name –
- allows user to give a unique name to defect, since Wyckoff symbol/multiplicity is
- insufficient to categorize the defect type
default is no name.
- multiplicity (int) – multiplicity default is 1,
-
defect_composition¶
-
generate_defect_structure(supercell=(1, 1, 1))[source]¶ Returns Defective Interstitial structure, decorated with charge :param supercell: supercell integer, vector, or scaling matrix :type supercell: int, [3x1], or [[]] (3x3)
-
multiplicity¶ Returns the multiplicity of a defect site within the structure (needed for concentration analysis)
-
name¶ Returns a name for this defect
- site_name –
-
class
Substitution(structure, defect_site, charge=0.0)[source]¶ Bases:
pymatgen.analysis.defects.core.DefectSubclass of Defect to capture essential information for a single Substitution defect structure.
Initializes an abstract defect
Parameters: - structure – Pymatgen Structure without any defects
- defect_site (Site) – site for defect within structure must have same lattice as structure
- charge – (int or float) defect charge default is zero, meaning no change to NELECT after defect is created in the structure
-
defect_composition¶
-
generate_defect_structure(supercell=(1, 1, 1))[source]¶ Returns Defective Substitution structure, decorated with charge :param supercell: supercell integer, vector, or scaling matrix :type supercell: int, [3x1], or [[]] (3x3)
-
multiplicity¶ Returns the multiplicity of a defect site within the structure (needed for concentration analysis)
-
name¶ Returns a name for this defect
-
class
Vacancy(structure, defect_site, charge=0.0)[source]¶ Bases:
pymatgen.analysis.defects.core.DefectSubclass of Defect to capture essential information for a single Vacancy defect structure.
Initializes an abstract defect
Parameters: - structure – Pymatgen Structure without any defects
- defect_site (Site) – site for defect within structure must have same lattice as structure
- charge – (int or float) defect charge default is zero, meaning no change to NELECT after defect is created in the structure
-
defect_composition¶
-
generate_defect_structure(supercell=(1, 1, 1))[source]¶ Returns Defective Vacancy structure, decorated with charge :param supercell: supercell integer, vector, or scaling matrix :type supercell: int, [3x1], or [[]] (3x3)
-
multiplicity¶ Returns the multiplicity of a defect site within the structure (needed for concentration analysis)
-
name¶ Returns a name for this defect