PristineConfiguration¶
- class PristineConfiguration(configuration, reference_calculator, band_gap_calculator=None, phonon_calculator=None, symmetry_tolerance=None, supercell_repetitions=None, finite_size_correction_parameters=None, include_vibrations=None)¶
Create a pristine reference for a defect.
- Parameters:
configuration (
BulkConfiguration
) – The unit cell of the pristine material.reference_calculator (
All calculators
) – The calculator used for the formation energy. This calculator must be suitable for calculating both pristine configuration and defect energies.band_gap_calculator (
All calculators
| None) – The calculator used for the band gap. If not given the reference calculator is used for the band gap.phonon_calculator (
All calculators
| None) – The calculator used for the vibrational energy. If not given, the reference calculator is used to calculate the phonon density of states. As with the reference calculator, this calculator is used on both pristine and defect configurations.symmetry_tolerance (PhysicalQuantity of type length) – The tolerance used for calculating the symmetry. Default: 0.1 Angstrom
supercell_repetitions (Tuple of integers of length 3) – The supercell repetitions used to create the defect. Default: (1, 1, 1)
finite_size_correction_parameters (
IsotropicFiniteSizeCorrectionParameters
|InterfaceFiniteSizeCorrectionParameters
| Disabled | None) – Parameters for the finite size correction applied to the defect. If Disabled, finite size corrections are ignored. Default: IsotropicFiniteSizeCorrectionParametersinclude_vibrations (bool) – Whether vibrational terms are included in calculating the formation energy. The configuration will be optimized with the phonon calculator before calculating vibrations. Default: False
- addChargeCorrection()¶
- Returns:
Whether calculations are done for correcting charged states.
- Return type:
bool
- bandGapCalculator()¶
- Returns:
The calculator used for the band gap. None if no specific calculator provided.
- Return type:
All calculators
| None
- chargeCorrectionString()¶
- Returns:
A string describing the charge correction.
- Return type:
str
- conductionBandMinimum(band_gap)¶
Get the conduction band minimum using either the formation energy or band gap calculator.
- Parameters:
band_gap (bool) – Whether the value from the band gap calculator is returned. If no band gap calculator was given then None is returned.
- Returns:
The calculated conduction band minimum.
- Return type:
PhysicalQuantity of type energy
- configuration()¶
- Returns:
The unit cell that defines the pristine material.
- Return type:
- electrostaticPotential()¶
- Returns:
The pristine electrostatic difference potential.
- Return type:
- fermiLevel(band_gap)¶
Get the conduction band minimum using either the formation energy or band gap calculator.
- Parameters:
band_gap (bool) – Whether the value from the band gap calculator is returned. If no band gap calculator was given then None is returned.
- Returns:
The calculated Fermi level.
- Return type:
PhysicalQuantity of type energy
- finiteSizeCorrectionParameters()¶
- Returns:
The parameters for the finite size correction.
- Return type:
float
- includeVibrations()¶
- Returns:
Whether vibrational corrections are calculated.
- Return type:
bool
- phononCalculator()¶
- Returns:
The calculator used for the vibrational energy. None if no specific calculator provided.
- Return type:
All calculators
| None
- phononDensityOfStates()¶
- Returns:
The calculated phonon density of states if vibrational corrections are enabled. None if not.
- Return type:
PhononDensityOfStates
| None
- pristineSymmetry()¶
- Returns:
The symmetry information of the pristine unit cell.
- Return type:
dict
- referenceCalculator()¶
- Returns:
The original given reference calculator.
- Return type:
All calculators
- superCell()¶
- Returns:
The super cell of the pristine material using the given repetitions.
- Return type:
- supercellRepetitions()¶
- Returns:
The supercell repetitions used to create the defect.
- Return type:
tuple
- supercellSymmetry()¶
- Returns:
The symmetry information of the supercell.
- Return type:
dict
- symmetryTolerance()¶
- Returns:
The tolerance used for detecting the symmetry.
- Return type:
PhysicalQuantity of type length
- totalEnergy()¶
- Returns:
The reference energy calculated with the formation energy calculator.
- Return type:
- uniqueString()¶
Return a unique string representing the state of the object.
- unitCell()¶
- Returns:
The unit cell that defines the pristine material.
- Return type:
- update()¶
Perform the necessary calculations
- valenceBandMaximum(band_gap)¶
Get the valence band maximum using either the formation energy or band gap calculator.
- Parameters:
band_gap (bool) – Whether the value from the band gap calculator is returned. If no band gap calculator was given then None is returned.
- Returns:
The calculated valence band maximum.
- Return type:
PhysicalQuantity of type energy
- vibrations()¶
- Returns:
The vibrations if vibrational corrections are enabled. None if not.
- Return type:
PhysicalQuantity of type inverse time | None
Notes¶
The PristineConfiguration object contains the information about the original host material used in ChargedPointDefectConfiguration calculations. Where applicable, the information in the PristineConfiguration object is used in also calculating the defect, ensuring consistent settings between a range of defect calculations.
The PristineConfiguration is created by supplying a host configuration and a reference
energy calculator. This calculator is also used as the reference calculator in
the ChargedPointDefectConfiguration calculation. The defect supercell size is given with
the supercell_repetitions
argument. The correction for the defect charge can be specified using
the finite_size_correction_parameters
argument. If no correction is desired, the keyword
Disabled
should be given.
Some calculators can also be specified for specific parts of the calculation. This is useful in
cases where the appropriate reference energy calculator is unsuitable. A band gap calculator can be
given using the band_gap_calculator
argument. This calculation is performed with the pristine
unit cell, and thus this calculator can be reasonably more computationally expensive than the
reference calculator. Additionally, a calculator for the vibrational correction can be given by
using the phonon_calculator
argument and setting the include_vibrations
argument to
True
. If vibrations are included here they should also be included in the calculation of atomic
chemical potentials.