ChemicalPotential¶
- class ChemicalPotential(configuration=None)¶
A class for representing the ChemicalPotential.
- Parameters:
configuration (
MoleculeConfiguration
|BulkConfiguration
|DeviceConfiguration
|SurfaceConfiguration
) – The configuration for which the chemical potential should be calculated.
- evaluate(spin=None)¶
Get the chemical potential(s).
- Parameters:
spin (
Spin.Up
|Spin.Down
|Spin.All
) – The spin channel the chemical potential should be returned for. Must be eitherSpin.Up
,Spin.Down
orSpin.All
. The chemical potential will only depend on spin when the calculation has been done with a fixed spin moment. In that case ifSpin.All
is chosen a list of both chemical potentials is returned. Default:Spin.All
- Returns:
The chemical potential. For a device the chemical potentials of the electrodes are returned.
- Return type:
PhysicalQuantity of type energy
- metatext()¶
- Returns:
The metatext of the object or None if no metatext is present.
- Return type:
str | None
- nlinfo()¶
- Returns:
The chemical potential information.
- Return type:
dict
- nlprint(stream=None)¶
Print a string containing an ASCII table useful for plotting the AnalysisSpin object.
- Parameters:
stream (python stream) – The stream the table should be written to. Default:
NLPrintLogger()
- setMetatext(metatext)¶
Set a given metatext string on the object.
- Parameters:
metatext (str | None) – The metatext string that should be set. A value of “None” can be given to remove the current metatext.
- uniqueString()¶
Return a unique string representing the state of the object.
Usage Examples¶
Calculate the chemical potential of a bulk system and print the result:
chemical_potential_object = ChemicalPotential(bulk_configuration)
fermi_level = chemical_potential_object.evaluate()[0]
print 'Fermi level = ', fermi_level.inUnitsOf(eV), ' eV'
Calculate the chemical potentials of a device system and print the results:
chemical_potential_object = ChemicalPotential(device_configuration)
left_chemical_potential = chemical_potential_object.evaluate()[0]
right_chemical_potential = chemical_potential_object.evaluate()[1]
print 'left chemical potential = ', left_chemical_potential.inUnitsOf(eV), ' eV'
print 'right chemical potential = ', right_chemical_potential.inUnitsOf(eV), ' eV'