Species
Name AllElectronANCParam
Section System::Species
Type integer
Default 4
Default values for the parameter anc_a. This is usefull
for specifying multiple atoms without specifying the species block.
Name AllElectronSigma
Section System::Species
Type integer
Default 0.6
Default value for the parameter gaussian_width. This is useful
for specifying multiple atoms without specifying the species block. The
default value is taken from the recommendation in
Phys. Rev. B 55, 10289 (1997).
Name AllElectronType
Section System::Species
Type integer
Default no
Selects the type of all-electron species that applies by default to all
atoms. This is not compatible with PseudopotentialSet, but it is
compatible with the Species block.
Options:
- no:
Do not specify any default all-electron type of species. All species must be
specified in the Species block.
- full_delta:
All atoms are supposed to be by default of type species_full_delta.
- full_gaussian:
All atoms are supposed to be by default of type species_full_gaussian.
- full_anc:
All atoms are supposed to be by default of type species_full_anc.
Name PseudopotentialSet
Section System::Species
Type integer
Default standard
Selects the set of pseudopotentials used by default for species
not defined in the Species block.
These sets of pseudopotentials come from different sources. Octopus developers have not validated them. We include them with the code for convenience of the users, but you are expected to check the quality and suitability of the pseudopotential for your application.
Options:
- none:
Do not load any pseudopotential by default. All species must be
specified in the Species block.
- standard:
The standard set of Octopus that provides LDA pseudopotentials
in the PSF format for some elements: H, Li, C, N, O, Na, Si, S, Ti, Se, Cd.
- sg15:
The set of Optimized Norm-Conserving Vanderbilt
PBE pseudopotentials. Ref: M. Schlipf and F. Gygi, Comp. Phys. Commun. 196, 36 (2015).
This set provides pseudopotentials for elements up to Z = 83
(Bi), excluding Lanthanides.
Current version of the set is 1.2.
- hgh_lda:
The set of Hartwigsen-Goedecker-Hutter LDA pseudopotentials for elements from H to Rn.
Ref: C. Hartwigsen, S. Goedecker, and J. Hutter, Phys. Rev. B 58, 3641 (1998).
- hgh_lda_sc:
The semicore set of Hartwigsen-Goedecker-Hutter LDA pseudopotentials.
Ref: C. Hartwigsen, S. Goedecker, and J. Hutter, Phys. Rev. B 58, 3641 (1998).
- hscv_lda:
The set of Hamann-Schlueter-Chiang-Vanderbilt (HSCV) potentials
for LDA exchange and correlation downloaded from http://fpmd.ucdavis.edu/potentials/index.htm.
These pseudopotentials were originally intended for the QBox
code. They were generated using the method of Hamann, Schluter
and Chiang. Ref: D. Vanderbilt, Phys. Rev. B 32, 8412 (1985).
Warning from the original site: The potentials provided in this
site are distributed without warranty. In most cases,
potentials were not tested. Potentials should be thoroughly
tested before being used in simulations.
- hscv_pbe:
PBE version of the HSCV pseudopotentials. Check the
documentation of the option hscv_lda for details and warnings.
- pseudodojo_pbe:
PBE version of the pseudopotentials of http://pseudo-dojo.org. Version 0.4.
- pseudodojo_lda:
LDA pseudopotentials of http://pseudo-dojo.org. Version 0.4.
- pseudodojo_pbesol:
PBEsol version of the pseudopotentials of http://pseudo-dojo.org. Version 0.3.
Name Species
Section System::Species
Type block
A species is by definition either an "ion" (nucleus + core electrons) described
through a pseudopotential, or a model potential.
Note that some sets of pseudopotentials are distributed with the code. To use these pseudopotentials, you do not need to define them explicitly in the Species block, as default parameters are provided. You can select the set for default pseudopotentials using the PseudopotentialSet variable.
Additional pseudopotentials can be downloaded from the octopus homepage or from other sources. Supported norm-conserving pseudopotential formats are detected by the file extension: UPF (.upf), PSF (SIESTA, .psf), FHI (ABINIT 6, .fhi), CPI (Fritz-Haber, .cpi), QSO (quantum-simulation.org, for Qbox, .xml), HGH (Hartwigsen-Goedecker-Hutter, .hgh). PSPIO format can also be used via species_pspio if that library is linked. Note: pseudopotentials may only be used in 3D.
Note that not all pseudopotential format are supporting spin-orbit coupling (SOC). At the moment, only HGH, UPF1 and UPF2 formats are supporting SOC. Some fully-relativistic pseudopotentials can still be used, but only without SOC.
The format of this block is the following: The first field is a string that defines the name of the species. The second field defines the type of species (the valid options are detailed below).
Then a list of parameters follows. The parameters are specified by a first field with the parameter name and the field that follows with the value of the parameter. Some parameters are specific to a certain species while others are accepted by all species. These are mass, max_spacing, and min_radius.
These are examples of possible species:
%Species
‘O’ | species_pseudo | file | ‘O.psf’ | lmax | 1 | lloc | 1
‘H’ | species_pseudo | file | ‘../H.hgh’
‘Xe’ | species_pseudo | set | pseudojo_pbe_stringent
‘C’ | species_pseudo | file | "carbon.xml"
‘jlm’ | species_jellium | jellium_radius | 5.0
‘rho’ | species_charge_density | density_formula | "exp(-r/a)" | mass | 17.0 | valence | 6
‘udf’ | species_user_defined | potential_formula | "1/2*r^2" | valence | 8
‘He_all’ | species_full_delta
‘H_all’ | species_full_gaussian | gaussian_width | 0.2
‘Li1D’ | species_soft_coulomb | softening | 1.5 | valence | 3
‘H_all’ | species_full_anc | anc_a | 4
%
Options:
- species_pseudo:
The species is a pseudopotential. How to get the
pseudopotential can be specified by the file or
the set parameters. If both are missing, the
pseudopotential will be taken from the PseudopotentialSet
specified for the run, this is useful if you want to change
some parameters of the pseudo, like the mass.
The optional parameters for this type of species are lmax, that defines the maximum angular momentum component to be used, and lloc, that defines the angular momentum to be considered as local. When these parameters are not set, the value for lmax is the maximum angular component from the pseudopotential file. The default value for lloc is taken from the pseudopotential if available, if not, it is set to 0. Note that, depending on the type of pseudopotential, it might not be possible to select lmax and lloc, if that is the case the parameters will be ignored.
- species_pspio:
(experimental) Alternative method to read pseudopotentials
using the PSPIO library. This species uses the same parameters
as species_pseudo.
- species_user_defined:
Species with user-defined potential. The potential for the
species is defined by the formula given by the potential_formula
parameter.
The
valence parameter determines the number of electrons
associated with the species. By default, a valence of 0 is assumed.
- species_charge_density:
The potential for this species is created from the distribution
of charge given by the density_formula parameter.
The
valence parameter determines the number of electrons
associated with the species. By default, a valence of 0 is assumed.
- species_point:
- species_jellium:
Jellium sphere.
The charge associated with this species must be given by the valence parameter.
- species_jellium_slab:
A slab of jellium that extends across the simulation box in the
xy-plane. The dimension along the z direction is
determined by the required parameter thickness.
The charge associated with this species must be given by the valence parameter.
- species_full_delta:
Full atomic potential represented by a delta charge
distribution. The atom will be displaced to the nearest grid
point. The atomic number is determined from the name of the species.
- species_full_anc:
Analytical norm-conserving regulized Coulomb potential from
[Gygi J. Chem. Theory Comput. 2023, 19, 1300−1309].
- species_full_gaussian:
A full-potential atom is defined by a Gaussian accumulation of
positive charge (distorted if curvilinear coordinates are
used), in the form:
$q(r) = z \beta \exp[ - (\vec{r}-\vec{r_0})^2 / (\sqrt{2} \delta \sigma) ] $
$\beta$ is chosen in order to maintain proper normalization (the integral of $q$ should sum up to $z$). $\delta$ is the grid spacing (the grid spacing in the first dimension, to be precise). $\vec{r_0}$ is calculated in such a way that the the first moment of $q(r)/z$ is equal to the atomic position. For a precise description, see N. A. Modine, Phys. Rev. B 55, 10289 (1997). The width of the Gaussian is set by parameter gaussian_width. The atomic number is determined from the name of the species.
- species_from_file:
The potential is read from a file. Accepted file formats, detected by extension: obf, ncdf and csv.
The
valence parameter determines the number of electrons
associated with the species. By default, a valence of 0 is assumed.
- species_soft_coulomb:
The potential is a soft-Coulomb function, i.e. a function in the form:
$v(r) = - z_{val} / \sqrt{a^2 + r^2}$
The value of a should be given by the mandatory softening parameter. The charge associated with this species must be given by the valence parameter.
- species_jellium_charge_density:
The parameter is the name of a volume block specifying the shape of the jellium.
- lmax:
The maximum angular-momentum channel that will be used for the pseudopotential.
- lloc:
The angular-momentum channel of the pseudopotential to be considered local.
- mass:
The mass of the species in atomic mass units, i.e. the mass of a proton is
roughly one. It is set automatically for pseudopotentials from the
NIST values.
For other species, the default is 1.0.
- valence:
The number of electrons of the species. It is set automatically from the name of the species.
if it correspond to the name in the periodic table. If not specified and if the name
does not match an atom name, a value of 0 is assumed.
- jellium_radius:
The radius of the sphere for species_jellium. If this value is not specified,
the default of 0.5 bohr is used.
- set:
For a species_pseudo, get the pseudopotential from a
particular set. This flag must be followed with one of the
valid values for the variable PseudopotentialSet.
- gaussian_width:
The width of the Gaussian (in units of spacing) used to represent
the nuclear charge for species_full_gaussian. If not present,
the default is 0.6.
- softening:
The softening parameter a for species_soft_coulomb in units of length.
- file:
The path for the file that describes the species.
- db_file:
Obsolete. Use the set option of the PseudopotentialSet variable instead.
- potential_formula:
Mathematical expression that defines the potential for species_user_defined. You can use
any of the x, y, z or r variables.
- density_formula:
Mathematical expression that defines the charge density for species_charge_density. You can use
any of the x, y, z or r variables.
- thickness:
The thickness of the slab for species_jellium_slab. Must be positive.
- vdw_radius:
The van der Waals radius that will be used for this species.
- volume:
Name of a volume block
- hubbard_l:
The angular-momentum for which the effective U will be applied.
- hubbard_u:
The effective U that will be used for the DFT+U calculations.
- hubbard_j:
The value of j (hubbard_l-1/2 or hubbard_l+1/2) on which the effective U is applied.
- hubbard_alpha:
The strength of the potential constraining the occupations of the localized subspace
as defined in PRB 71, 035105 (2005)
- anc_a:
The value of the parameter a of the ANC potential, as defined in [Gygi, JCTC 2023, 19, 1300−1309].
This parameter has the unit of inverse length and determines the range of regularization.
Name SpeciesProjectorSphereThreshold
Section System::Species
Type float
Default 0.001
The pseudopotentials may be composed of a local part, and a linear combination of nonlocal
operators. These nonlocal projectors have "projector" form, $ \left| v \right> \left< v \right| $
(or, more generally speaking, $ \left| u \right> \left< v \right| $).
These projectors are localized in real space – that is, the function $v$
has a finite support around the nucleus. This region where the projectors are localized should
be small or else the computation time required to operate with them will be very large.
In practice, this localization is fixed by requiring the definition of the projectors to be
contained in a sphere of a certain radius. This radius is computed by making sure that the
absolute value of the projector functions, at points outside the localization sphere, is
below a certain threshold. This threshold is set by SpeciesProjectorSphereThreshold.
Name SpeciesTimeDependent
Section System::Species
Type logical
Default no
When this variable is set, the potential defined in the block Species is calculated
and applied to the Hamiltonian at each time step. You must have at least one species_user_defined
type of species to use this.