API reference
Index
PseudoPotentialIO.HghFilePseudoPotentialIO.PsPFilePseudoPotentialIO.Psp8FilePseudoPotentialIO.UpfFilePseudoPotentialIO.UpfFilePseudoPotentialIO.elementPseudoPotentialIO.formalismPseudoPotentialIO.formatPseudoPotentialIO.functionalPseudoPotentialIO.has_model_core_charge_densityPseudoPotentialIO.has_spin_orbitPseudoPotentialIO.identifierPseudoPotentialIO.is_norm_conservingPseudoPotentialIO.is_pawPseudoPotentialIO.is_ultrasoftPseudoPotentialIO.load_psp_filePseudoPotentialIO.save_psp_filePseudoPotentialIO.valence_charge
Types
PseudoPotentialIO.PsPFile — Type
abstract type PsPFileAbstract type representing a pseudopotential file.
The structure of the data should closely mirror the format of the file, and the values of quantities should be exactly those found in the file.
PseudoPotentialIO.UpfFile — Type
struct UpfFile <: PsPFileUniversal Pseudopotential Format file contents.
identifier::String: Identifierversion::String: UPF format versioninfo::Union{Nothing, String}: Optional general information about the pseudopotential, often generation inputheader::PseudoPotentialIO.UpfHeader: Various pseudopotential metadatamesh::PseudoPotentialIO.UpfMesh: Radial mesh, mesh integration factors, and other mesh informationnlcc::Union{Nothing, Vector{Float64}}: Pseudized core charge on the radial grid, (ignored ifcore_correctionis false)local_::Union{Nothing, Vector{Float64}}: Local part of the pseudopotential on the radial grid (ignored ifis_coulomb)nonlocal::PseudoPotentialIO.UpfNonlocal: Nonlocal part of the pseudopotentialpswfc::Vector{PseudoPotentialIO.UpfChi}: Pseudo-atomic valence wavefunctionsfull_wfc::Union{Nothing, PseudoPotentialIO.UpfFullWfc}: All-electron wavefunctionsrhoatom::Vector{Float64}: Pseudo-atomic valence charge density on the radial grid with prefactor 4πr²spin_orb::Union{Nothing, PseudoPotentialIO.UpfSpinOrb}: Spin-orbit coupling data, (ignored ifhas_sois false)paw::Union{Nothing, PseudoPotentialIO.UpfPaw}: PAW data, (ignored ifis_pawis false)gipaw::Union{Nothing, PseudoPotentialIO.UpfGipaw}: GIPAW data
PseudoPotentialIO.Psp8File — Type
struct Psp8File <: PsPFileABINIT PSeudoPotential format 8 file contents. Information on the file format specification and the meaning of the quantities within the file can be found on the "psp8" page of the ABINIT documentation.
identifier::String: Identifierheader::PseudoPotentialIO.Psp8Header: Various pseudopotential metadatargrid::Vector{Float64}: Uniform radial grid starting atr = 0.0v_local::Vector{Float64}: Local part of the pseudopotentialprojectors::Vector{Vector{Vector{Float64}}}: Radial part of the Kleinman-Bylander projectors for each angular momentumekb::Vector{Vector{Float64}}: Kleinman-Bylander energies for each angular momentumprojectors_so::Union{Nothing, Vector{Vector{Vector{Float64}}}}: Radial part of the spin-orbit Kleinman-Bylander projectors for each angular momentumekb_so::Union{Nothing, Vector{Vector{Float64}}}: Spin-orbit Kleinman-Bylander energies for each angular momentumrhoc::Union{Nothing, Vector{Float64}}: Model core charge density with 4π prefactord_rhoc_dr::Union{Nothing, Vector{Float64}}: First derivative of the model core charge densityd2_rhoc_dr2::Union{Nothing, Vector{Float64}}: Second derivative of the model core charge densityd3_rhoc_dr3::Union{Nothing, Vector{Float64}}: Third derivative of the model core charge densityd4_rhoc_dr4::Union{Nothing, Vector{Float64}}: Fourth derivative of the model core charge densityrhov::Union{Nothing, Vector{Float64}}: Valence charge density with 4π prefactorae_rhov::Union{Nothing, Vector{Float64}}: All-electron valence charge density with 4π prefactorae_rhoc::Union{Nothing, Vector{Float64}}: All-electron core charge density with 4π prefactor
PseudoPotentialIO.HghFile — Type
struct HghFile <: PsPFileHartwigsen-Goedecker-Hutter pseudopotential file contents.
identifier::String: Identifierfunctional::String: Functional guessed from the source file path if availabletitle::String: Descriptionzion::Vector{Int64}: Pseudo-atomic (valence) chargerloc::Float64: Cutoff radius for the local part of the pseudopotentialnloc::Int64: Number of coefficients defining the local part of the pseudopotentialcloc::Vector{Float64}: Coefficients of the local part of the pseudopotentiallmax::Int64: Maximum angular momentumrp::Vector{Float64}: Non-local projector cutoff radius for each angular momentumh::Vector{Matrix{Float64}}: Kleinman-Bylander energies
Functions
Loading and saving
PseudoPotentialIO.load_psp_file — Function
load_psp_file(path::AbstractString) -> Any
Parse a pseudopotential file into a PsPFile struct.
load_psp_file(path)defined at /home/runner/work/PseudoPotentialIO.jl/PseudoPotentialIO.jl/src/load.jl:8.
PseudoPotentialIO.save_psp_file — Function
save_psp_file(
path::AbstractString,
psp::PsPFile,
args...;
kwargs...
)
Save a PsPFile struct into a file. The file type depends on the type of the file to save (e.g. a Psp8File file is saved to a .psp8 or a UpfFile to a .upf). An important keyword argument is format, which enables to request a particular version of the file format to be employed.
save_psp_file(path, psp, args; kwargs...)defined at /home/runner/work/PseudoPotentialIO.jl/PseudoPotentialIO.jl/src/save.jl:7.
Conversion
PseudoPotentialIO.UpfFile — Method
UpfFile(file::Psp8File) -> UpfFile
UpfFile(file::Psp8File)Convert a Psp8File into an equivalent UpfFile.
UpfFile(file)defined at /home/runner/work/PseudoPotentialIO.jl/PseudoPotentialIO.jl/src/conversion/to_upf.jl:83.
Metadata
Note that these functions are not exported, but part of the public API.
PseudoPotentialIO.identifier — Function
identifier(file::PsPFile) -> String
Identifying data.
identifier(file)defined at /home/runner/work/PseudoPotentialIO.jl/PseudoPotentialIO.jl/src/file/file.jl:12.
identifier(psp)defined at /home/runner/work/PseudoPotentialIO.jl/PseudoPotentialIO.jl/src/file/hgh.jl:102.
identifier(file)defined at /home/runner/work/PseudoPotentialIO.jl/PseudoPotentialIO.jl/src/file/psp8.jl:354.
identifier(psp)defined at /home/runner/work/PseudoPotentialIO.jl/PseudoPotentialIO.jl/src/file/upf.jl:414.
PseudoPotentialIO.format — Function
format(file::PsPFile) -> String
Pseudopotential file format.
format(file)defined at /home/runner/work/PseudoPotentialIO.jl/PseudoPotentialIO.jl/src/file/file.jl:17.
format(_)defined at /home/runner/work/PseudoPotentialIO.jl/PseudoPotentialIO.jl/src/file/hgh.jl:103.
format(_)defined at /home/runner/work/PseudoPotentialIO.jl/PseudoPotentialIO.jl/src/file/psp8.jl:355.
format(file)defined at /home/runner/work/PseudoPotentialIO.jl/PseudoPotentialIO.jl/src/file/upf.jl:415.
PseudoPotentialIO.element — Function
element(file::PsPFile) -> PeriodicTable.Element
The element which the pseudopotential was constructed to reproduce.
element(file)defined at /home/runner/work/PseudoPotentialIO.jl/PseudoPotentialIO.jl/src/file/file.jl:22.
element(psp)defined at /home/runner/work/PseudoPotentialIO.jl/PseudoPotentialIO.jl/src/file/hgh.jl:104.
element(file)defined at /home/runner/work/PseudoPotentialIO.jl/PseudoPotentialIO.jl/src/file/psp8.jl:356.
element(file)defined at /home/runner/work/PseudoPotentialIO.jl/PseudoPotentialIO.jl/src/file/upf.jl:447.
PseudoPotentialIO.functional — Function
functional(file::PsPFile) -> Vector{Symbol}
Exchange-correlation functional identifiers (Libxc-compatible), or empty if unknown.
functional(file)defined at /home/runner/work/PseudoPotentialIO.jl/PseudoPotentialIO.jl/src/file/file.jl:27.
functional(psp)defined at /home/runner/work/PseudoPotentialIO.jl/PseudoPotentialIO.jl/src/file/hgh.jl:111.
functional(file)defined at /home/runner/work/PseudoPotentialIO.jl/PseudoPotentialIO.jl/src/file/psp8.jl:357.
functional(file)defined at /home/runner/work/PseudoPotentialIO.jl/PseudoPotentialIO.jl/src/file/upf.jl:446.
PseudoPotentialIO.valence_charge — Function
valence_charge(file::PsPFile) -> Int64
Pseudo-atomic core charge.
valence_charge(file)defined at /home/runner/work/PseudoPotentialIO.jl/PseudoPotentialIO.jl/src/file/file.jl:32.
valence_charge(psp)defined at /home/runner/work/PseudoPotentialIO.jl/PseudoPotentialIO.jl/src/file/hgh.jl:112.
valence_charge(file)defined at /home/runner/work/PseudoPotentialIO.jl/PseudoPotentialIO.jl/src/file/psp8.jl:358.
valence_charge(file)defined at /home/runner/work/PseudoPotentialIO.jl/PseudoPotentialIO.jl/src/file/upf.jl:453.
PseudoPotentialIO.is_norm_conserving — Function
is_norm_conserving(file::PsPFile) -> Bool
Whether the pseudopotential is of the norm-conserving kind.
is_norm_conserving(file)defined at /home/runner/work/PseudoPotentialIO.jl/PseudoPotentialIO.jl/src/file/file.jl:37.
is_norm_conserving(_)defined at /home/runner/work/PseudoPotentialIO.jl/PseudoPotentialIO.jl/src/file/hgh.jl:113.
is_norm_conserving(file)defined at /home/runner/work/PseudoPotentialIO.jl/PseudoPotentialIO.jl/src/file/psp8.jl:359.
is_norm_conserving(file)defined at /home/runner/work/PseudoPotentialIO.jl/PseudoPotentialIO.jl/src/file/upf.jl:448.
PseudoPotentialIO.is_ultrasoft — Function
is_ultrasoft(file::PsPFile) -> Bool
Whether the pseudopotential is of the ultrasoft kind.
is_ultrasoft(file)defined at /home/runner/work/PseudoPotentialIO.jl/PseudoPotentialIO.jl/src/file/file.jl:42.
is_ultrasoft(_)defined at /home/runner/work/PseudoPotentialIO.jl/PseudoPotentialIO.jl/src/file/hgh.jl:114.
is_ultrasoft(file)defined at /home/runner/work/PseudoPotentialIO.jl/PseudoPotentialIO.jl/src/file/psp8.jl:360.
is_ultrasoft(file)defined at /home/runner/work/PseudoPotentialIO.jl/PseudoPotentialIO.jl/src/file/upf.jl:449.
PseudoPotentialIO.is_paw — Function
is_paw(file::PsPFile) -> Bool
Whether the pseudopotential is of the plane-augmented wave kind.
is_paw(file)defined at /home/runner/work/PseudoPotentialIO.jl/PseudoPotentialIO.jl/src/file/file.jl:47.
is_paw(_)defined at /home/runner/work/PseudoPotentialIO.jl/PseudoPotentialIO.jl/src/file/hgh.jl:115.
is_paw(file)defined at /home/runner/work/PseudoPotentialIO.jl/PseudoPotentialIO.jl/src/file/psp8.jl:361.
is_paw(file)defined at /home/runner/work/PseudoPotentialIO.jl/PseudoPotentialIO.jl/src/file/upf.jl:450.
PseudoPotentialIO.has_spin_orbit — Function
has_spin_orbit(file::PsPFile) -> Bool
Whether the pseudopotential contains relativistic spin-orbit coupling data.
has_spin_orbit(file)defined at /home/runner/work/PseudoPotentialIO.jl/PseudoPotentialIO.jl/src/file/file.jl:52.
has_spin_orbit(_)defined at /home/runner/work/PseudoPotentialIO.jl/PseudoPotentialIO.jl/src/file/hgh.jl:116.
has_spin_orbit(file)defined at /home/runner/work/PseudoPotentialIO.jl/PseudoPotentialIO.jl/src/file/psp8.jl:362.
has_spin_orbit(file)defined at /home/runner/work/PseudoPotentialIO.jl/PseudoPotentialIO.jl/src/file/upf.jl:451.
PseudoPotentialIO.has_model_core_charge_density — Function
has_model_core_charge_density(file::PsPFile) -> Bool
Whether the pseudopotential contains a model core charge density used in non-linear core correction.
has_model_core_charge_density(file)defined at /home/runner/work/PseudoPotentialIO.jl/PseudoPotentialIO.jl/src/file/file.jl:57.
has_model_core_charge_density(_)defined at /home/runner/work/PseudoPotentialIO.jl/PseudoPotentialIO.jl/src/file/hgh.jl:117.
has_model_core_charge_density(file)defined at /home/runner/work/PseudoPotentialIO.jl/PseudoPotentialIO.jl/src/file/psp8.jl:363.
has_model_core_charge_density(file)defined at /home/runner/work/PseudoPotentialIO.jl/PseudoPotentialIO.jl/src/file/upf.jl:452.
PseudoPotentialIO.formalism — Function
formalism(file::PsPFile) -> String
Formalism of the pseudopotential.
formalism(file)defined at /home/runner/work/PseudoPotentialIO.jl/PseudoPotentialIO.jl/src/file/file.jl:62.