# 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 principal: list momenta: list occupation: list
element()

Get the element described by the pseudopotential.

Returns: The element. PeriodicTableElement
exchangeCorrelation()
Returns: The exchange-correlation of the pseudo-potential. ExchangeCorrelation
fileName()

Get the file name.

Returns: The user given file name. str
load()

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. PhysicalQuantity | False
localPotentialCutoffThreshold()

Get the local potential to Coulomb potential cutoff threshold.

Returns: The potential difference threshold in units of energy. PhysicalQuantity
momenta()

Get the angular momenta of the pseudo wave functions.

Returns: A list of angular momenta. list
occupation()

Get the occupations of the pseudo wave functions.

Returns: A list of occupations. list
principal()

Get the principal quantum numbers of the pseudo wave functions.

Returns: A list of principal quantum numbers. list

## 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.