InterstitialList(material_specifications, interstitial_element, charge_states=None, processes_per_defect=None, interstitial_types=None)¶
A class which describes the list of possible interstitial defects for a given host material.
- material_specifications (
MaterialSpecifications) – A descriptor of a bulk material, plus the information needed to perform the calculations.
- interstitial_element (
PeriodicTableElement) – The element to add as interstitial defect.
- charge_states (int | sequence of int) – The charge states to calculate for each defect.
- processes_per_defect (int) – The number of processes assigned to calculating a single defect. Default: All available processes.
- interstitial_types (
VoronoiVerticesAndFaces) – How the interstitials in the material should be automatically created. Default:
Returns: The charge states to calculate for each defect. Return type: list of int
filterByDistance(distance, cartesian_coordinates=None, fractional_coordinates=None)¶
Method for filtering defects by distance. Given a origin in the supercell and a distance, all defects within a bigger distance will be filtered. After filtering, the wyckoff indices with no defects will be erased.
- distance (PhysicalQuantity of type length) – Maximum distance
- cartesian_coordinates (sequence (size 3) of PhysicalQuantity of type length) – The position of the reference to measure distances, given in absolute coordinates.
This option is mutually exclusive to
fractional_coordinates. Default: None
- fractional_coordinates (sequence (size 3) of float) – The position of the reference to measure distances, given in fractional coordinates
of the bulk unit cell. This option is mutually exclusive to
cartesian_coordinates. Default: None
A filtered defect list.
Method for filtering the list of inequivalent point defects by selecting specific Wyckoff indices.
Parameters: wyckoff_indices (int | list of int) – The list of Wyckoff indices to keep after filtering. Returns: A filtered defect list. Return type: The same type as the unfiltered list.
Returns: The element to add as interstitial defect. Return type:
Returns: How the interstitials in the material should be automatically created. Return type:
Returns: The descriptor of a bulk material, plus the information needed to perform the calculations. Return type:
nlprint(stream=<_io.TextIOWrapper name='<stdout>' mode='w' encoding='UTF-8'>)¶
Prints a summary of the wyckoff indices created and equivalent defects
Returns: The list of inequivalent point defects. Return type:
Returns: The number of processes to be assigned to calculating each defect. If None, all available processes should perform the calculation for each defect collaboratively. Return type: int | None
Method for retrieving calculated defect studies.
Parameters: discard_faulty (bool) – Flag to determine whether faulty defect studies should be discarded. Default:
Returns: The list of defect studies stored on the object. Return type: list of
Update all the harmonic charged point defect studies contained in the defect list.
Returns: The Wyckoff indices for the current defect list. Return type: list of int
- material_specifications (
InterstitialList creates directory names with a structure
for a carbon interstitial with Wyckoff index 0, at the interstitial site 4.
- All interstitial are stored in a directory call interstitial
- element represents the interstitial element.
- wyckoff is the Wyckoff number for the defect, different for all inequivalent positions.
- site contains the particular defect index correlated with its location. Different equivalent interstitials have different sites.
- hash is hash string representing the material specifications.
The following shows an example of use. It uses the specification Si_64_tersoff defined in MaterialSpecifications.
from SMW import * reference = MaterialSpecificationsDatabase.Si_64_tersoff interstitial = InterstitialList(reference, Silicon) nlprint(interstitial) interstitial.update() nlsave('defects.hdf5', interstitial)