NormConservingPseudoPotential¶
- class NormConservingPseudoPotential(file_name, principal=None, momenta=None, occupation=None, local_potential_cutoff_threshold=None, local_potential_cutoff_radius=None)¶
Create a norm-conserving pseudopotential from file data.
- Parameters:
file_name (str) – Name of the file containing the pseudopotential data.
principal – The principal quantum numbers of the valence states. If
None
the information will be read from the pseudopotential file.momenta – The angular momenta of the valence states. If
None
the information will be read from the pseudopotential file.occupation – The occupations of the valence states. If
None
the information will be read from the pseudopotential file.local_potential_cutoff_threshold (PhysicalQuantity) – When the difference between the local potential and the Coulomb potential drop below this threshold value, the local potential is set equal to the exact Coulomb potential. Must be have units of energy. Default: 0.0 Hartree
local_potential_cutoff_radius (PhysicalQuantity) – The local potential is set equal the Coulomb potential beyond this radius. If
False
the local potential will not be modified. Must otherwise be a PhysicalQuantity with units of length. Default:False
- Type:
principal: list
- Type:
momenta: list
- Type:
occupation: list
- element()¶
Get the element described by the pseudopotential.
- Returns:
The element.
- Return type:
- exchangeCorrelation()¶
- Returns:
The exchange-correlation of the pseudo-potential.
- Return type:
- fileName()¶
Get the file name.
- Returns:
The user given file name.
- Return type:
str
- load()¶
Load the pseudopotential from file.
- localPotentialCutoffRadius()¶
Get the maximum local potential to Coulomb potential cutoff radius.
- Returns:
The maximum cutoff radius in units of length or
False
if no maximum cutoff radius should be enforced.- Return type:
PhysicalQuantity |
False
- localPotentialCutoffThreshold()¶
Get the local potential to Coulomb potential cutoff threshold.
- Returns:
The potential difference threshold in units of energy.
- Return type:
- momenta()¶
Get the angular momenta of the pseudo wave functions.
- Returns:
A list of angular momenta.
- Return type:
list
- nlinfo()¶
- Returns:
The nlinfo.
- Return type:
dict
- occupation()¶
Get the occupations of the pseudo wave functions.
- Returns:
A list of occupations.
- Return type:
list
- principal()¶
Get the principal quantum numbers of the pseudo wave functions.
- Returns:
A list of principal quantum numbers.
- Return type:
list
- uniqueString()¶
Return a unique string representing the state of the object.
Usage Examples¶
Define a norm-conserving pseudo-potential for hydrogen, specified in the zipped file H.LDAPZ.zip
:
pseudopotential = NormConservingPseudoPotential('normconserving/H.LDAPZ.zip')
To see the contents of H.LDAPZ.zip
, go to the directory where QuantumATK is installed (install_dir
) and unpack the pseudo-potential file:
$ cd install_dir/share/pseudopotentials/normconserving
$ unzip H.LDAPZ.zip
This will produce the file H.LDAPZ.upf
. You can also specify the unzipped file:
pseudopotential = NormConservingPseudoPotential('normconserving/H.LDAPZ.upf')
Notes¶
ATK uses the Unified Pseudopotential Format (UPF) defined by the PWscf consortium. From their website it is possible to download tools that can convert several different kinds of pseudopotentials into the UPF format.
ATK comes with a built-in set of pseudopotentials, found in the directory install_dir/share/pseudopotentials
, where install_dir
is the name of the directory where QuantumATK was installed.