# -*- coding: utf-8 -*-
"""The PAW potentials VASP uses by default, by set and element, and named
variants of a set (e.g. "hard"), available without the graphical interface.
The tables were in tk_energy.py, so a calculation set up without the dialog
had no potentials at all (an empty "potentials" parameter gave a KeyError).
"""
default_potentials = {
"potpaw_PBE.64": {
"H": "H",
"He": "He",
"Li": "Li_sv",
"Be": "Be",
"B": "B",
"C": "C",
"N": "N",
"O": "O",
"F": "F",
"Ne": "Ne",
"Na": "Na_pv",
"Mg": "Mg",
"Al": "Al",
"Si": "Si",
"P": "P",
"S": "S",
"Cl": "Cl",
"Ar": "Ar",
"K": "K_sv",
"Ca": "Ca_sv",
"Sc": "Sc_sv",
"Ti": "Ti_sv",
"V": "V_sv",
"Cr": "Cr_pv",
"Mn": "Mn_pv",
"Fe": "Fe",
"Co": "Co",
"Ni": "Ni",
"Cu": "Cu",
"Zn": "Zn",
"Ga": "Ga_d",
"Ge": "Ge_d",
"As": "As",
"Se": "Se",
"Br": "Br",
"Kr": "Kr",
"Rb": "Rb_sv",
"Sr": "Sr_sv",
"Y": "Y_sv",
"Zr": "Zr_sv",
"Nb": "Nb_sv",
"Mo": "Mo_sv",
"Tc": "Tc_pv",
"Ru": "Ru_pv",
"Rh": "Rh_pv",
"Pd": "Pd",
"Ag": "Ag",
"Cd": "Cd",
"In": "In_d",
"Sn": "Sn_d",
"Sb": "Sb",
"Te": "Te",
"I": "I",
"Xe": "Xe",
"Cs": "Cs_sv",
"Ba": "Ba_sv",
"La": "La",
"Ce": "Ce",
"Pr": "Pr_3",
"Nd": "Nd_3",
"Pm": "Pm_3",
"Sm": "Sm_3",
"Eu": "Eu_2",
"Gd": "Gd_3",
"Tb": "Tb_3",
"Dy": "Dy_3",
"Ho": "Ho_3",
"Er": "Er_3",
"Tm": "Tm_3",
"Yb": "Yb_2",
"Lu": "Lu_3",
"Hf": "Hf_pv",
"Ta": "Ta_pv",
"W": "W_sv",
"Re": "Re",
"Os": "Os",
"Ir": "Ir",
"Pt": "Pt",
"Au": "Au",
"Hg": "Hg",
"Tl": "Tl_d",
"Pb": "Pb_d",
"Bi": "Bi_d",
"Po": "Po_d",
"At": "At",
"Rn": "Rn",
"Fr": "Fr_sv",
"Ra": "Ra_sv",
"Ac": "Ac",
"Th": "Th",
"Pa": "Pa",
"U": "U",
"Np": "Np",
"Pu": "Pu",
"Am": "Am",
"Cm": "Cm",
"Cf": "Cf",
},
"potpaw_LDA.64": {
"H": "H",
"He": "He",
"Li": "Li_sv",
"Be": "Be",
"B": "B",
"C": "C",
"N": "N",
"O": "O",
"F": "F",
"Ne": "Ne",
"Na": "Na_pv",
"Mg": "Mg",
"Al": "Al",
"Si": "Si",
"P": "P",
"S": "S",
"Cl": "Cl",
"Ar": "Ar",
"K": "K_sv",
"Ca": "Ca_sv",
"Sc": "Sc_sv",
"Ti": "Ti_sv",
"V": "V_sv",
"Cr": "Cr_pv",
"Mn": "Mn_pv",
"Fe": "Fe",
"Co": "Co",
"Ni": "Ni",
"Cu": "Cu",
"Zn": "Zn",
"Ga": "Ga_d",
"Ge": "Ge_d",
"As": "As",
"Se": "Se",
"Br": "Br",
"Kr": "Kr",
"Rb": "Rb_sv",
"Sr": "Sr_sv",
"Y": "Y_sv",
"Zr": "Zr_sv",
"Nb": "Nb_sv",
"Mo": "Mo_sv",
"Tc": "Tc_pv",
"Ru": "Ru_pv",
"Rh": "Rh_pv",
"Pd": "Pd",
"Ag": "Ag",
"Cd": "Cd",
"In": "In_d",
"Sn": "Sn_d",
"Sb": "Sb",
"Te": "Te",
"I": "I",
"Xe": "Xe",
"Cs": "Cs_sv",
"Ba": "Ba_sv",
"La": "La",
"Ce": "Ce",
"Pr": "Pr_3",
"Nd": "Nd_3",
"Pm": "Pm_3",
"Sm": "Sm_3",
"Eu": "Eu_2",
"Gd": "Gd_3",
"Tb": "Tb_3",
"Dy": "Dy_3",
"Ho": "Ho_3",
"Er": "Er_3",
"Tm": "Tm_3",
"Yb": "Yb_2",
"Lu": "Lu_3",
"Hf": "Hf_pv",
"Ta": "Ta_pv",
"W": "W_sv",
"Re": "Re",
"Os": "Os",
"Ir": "Ir",
"Pt": "Pt",
"Au": "Au",
"Hg": "Hg",
"Tl": "Tl_d",
"Pb": "Pb_d",
"Bi": "Bi_d",
"Po": "Po_d",
"At": "At",
"Rn": "Rn",
"Fr": "Fr_sv",
"Ra": "Ra_sv",
"Ac": "Ac",
"Th": "Th",
"Pa": "Pa",
"U": "U",
"Np": "Np",
"Pu": "Pu",
"Am": "Am",
"Cm": "Cm",
"Cf": "Cf",
},
"potpaw_PBE.64_GW": {
"H": "H_GW",
"He": "He_GW",
"Li": "Li_sv_GW",
"Be": "Be_sv_GW",
"B": "B_GW",
"C": "C_GW",
"N": "N_GW",
"O": "O_GW",
"F": "F_GW",
"Ne": "Ne_GW",
"Na": "Na_sv_GW",
"Mg": "Mg_sv_GW",
"Al": "Al_GW",
"Si": "Si_GW",
"P": "P_GW",
"S": "S_GW",
"Cl": "Cl_GW",
"Ar": "Ar_GW",
"K": "K_sv_GW",
"Ca": "Ca_sv_GW",
"Sc": "Sc_sv_GW",
"Ti": "Ti_sv_GW",
"V": "V_sv_GW",
"Cr": "Cr_sv_GW",
"Mn": "Mn_sv_GW",
"Fe": "Fe_sv_GW",
"Co": "Co_sv_GW",
"Ni": "Ni_sv_GW",
"Cu": "Cu_sv_GW",
"Zn": "Zn_sv_GW",
"Ga": "Ga_d_GW",
"Ge": "Ge_d_GW",
"As": "As_GW",
"Se": "Se_GW",
"Br": "Br_GW",
"Kr": "Kr_GW",
"Rb": "Rb_sv_GW",
"Sr": "Sr_sv_GW",
"Y": "Y_sv_GW",
"Zr": "Zr_sv_GW",
"Nb": "Nb_sv_GW",
"Mo": "Mo_sv_GW",
"Tc": "Tc_sv_GW",
"Ru": "Ru_sv_GW",
"Rh": "Rh_sv_GW",
"Pd": "Pd_sv_GW",
"Ag": "Ag_sv_GW",
"Cd": "Cd_sv_GW",
"In": "In_d_GW",
"Sn": "Sn_d_GW",
"Sb": "Sb_d_GW",
"Te": "Te_GW",
"I": "I_GW",
"Xe": "Xe_GW",
"Cs": "Cs_sv_GW",
"Ba": "Ba_sv_GW",
"La": "La_GW",
"Ce": "Ce_GW",
"Hf": "Hf_sv_GW",
"Ta": "Ta_sv_GW",
"W": "W_sv_GW",
"Re": "Re_sv_GW",
"Os": "Os_sv_GW",
"Ir": "Ir_sv_GW",
"Pt": "Pt_sv_GW",
"Au": "Au_sv_GW",
"Hg": "Hg_sv_GW",
"Tl": "Tl_d_GW",
"Pb": "Pb_d_GW",
"Bi": "Bi_d_GW",
"Po": "Po_d_GW",
"At": "At_d_GW",
"Rn": "Rn_d_GW",
},
"potpaw_LDA.64_GW": {
"H": "H_GW",
"He": "He_GW",
"Li": "Li_sv_GW",
"Be": "Be_sv_GW",
"B": "B_GW",
"C": "C_GW",
"N": "N_GW",
"O": "O_GW",
"F": "F_GW",
"Ne": "Ne_GW",
"Na": "Na_sv_GW",
"Mg": "Mg_sv_GW",
"Al": "Al_GW",
"Si": "Si_GW",
"P": "P_GW",
"S": "S_GW",
"Cl": "Cl_GW",
"Ar": "Ar_GW",
"K": "K_sv_GW",
"Ca": "Ca_sv_GW",
"Sc": "Sc_sv_GW",
"Ti": "Ti_sv_GW",
"V": "V_sv_GW",
"Cr": "Cr_sv_GW",
"Mn": "Mn_sv_GW",
"Fe": "Fe_sv_GW",
"Co": "Co_sv_GW",
"Ni": "Ni_sv_GW",
"Cu": "Cu_sv_GW",
"Zn": "Zn_sv_GW",
"Ga": "Ga_d_GW",
"Ge": "Ge_d_GW",
"As": "As_GW",
"Se": "Se_GW",
"Br": "Br_GW",
"Kr": "Kr_GW",
"Rb": "Rb_sv_GW",
"Sr": "Sr_sv_GW",
"Y": "Y_sv_GW",
"Zr": "Zr_sv_GW",
"Nb": "Nb_sv_GW",
"Mo": "Mo_sv_GW",
"Tc": "Tc_sv_GW",
"Ru": "Ru_sv_GW",
"Rh": "Rh_sv_GW",
"Pd": "Pd_sv_GW",
"Ag": "Ag_sv_GW",
"Cd": "Cd_sv_GW",
"In": "In_d_GW",
"Sn": "Sn_d_GW",
"Sb": "Sb_d_GW",
"Te": "Te_GW",
"I": "I_GW",
"Xe": "Xe_GW",
"Cs": "Cs_sv_GW",
"Ba": "Ba_sv_GW",
"La": "La_GW",
"Ce": "Ce_GW",
"Hf": "Hf_sv_GW",
"Ta": "Ta_sv_GW",
"W": "W_sv_GW",
"Re": "Re_sv_GW",
"Os": "Os_sv_GW",
"Ir": "Ir_sv_GW",
"Pt": "Pt_sv_GW",
"Au": "Au_sv_GW",
"Hg": "Hg_sv_GW",
"Tl": "Tl_d_GW",
"Pb": "Pb_d_GW",
"Bi": "Bi_d_GW",
"Po": "Po_d_GW",
"At": "At_d_GW",
"Rn": "Rn_d_GW",
},
"potpaw_PBE.54": {
"H": "H",
"He": "He",
"Li": "Li_sv",
"Be": "Be",
"B": "B",
"C": "C",
"N": "N",
"O": "O",
"F": "F",
"Ne": "Ne",
"Na": "Na_pv",
"Mg": "Mg",
"Al": "Al",
"Si": "Si",
"P": "P",
"S": "S",
"Cl": "Cl",
"Ar": "Ar",
"K": "K_sv",
"Ca": "Ca_sv",
"Sc": "Sc_sv",
"Ti": "Ti_sv",
"V": "V_sv",
"Cr": "Cr_pv",
"Mn": "Mn_pv",
"Fe": "Fe",
"Co": "Co",
"Ni": "Ni",
"Cu": "Cu",
"Zn": "Zn",
"Ga": "Ga_d",
"Ge": "Ge_d",
"As": "As",
"Se": "Se",
"Br": "Br",
"Kr": "Kr",
"Rb": "Rb_sv",
"Sr": "Sr_sv",
"Y": "Y_sv",
"Zr": "Zr_sv",
"Nb": "Nb_sv",
"Mo": "Mo_sv",
"Tc": "Tc_pv",
"Ru": "Ru_pv",
"Rh": "Rh_pv",
"Pd": "Pd",
"Ag": "Ag",
"Cd": "Cd",
"In": "In_d",
"Sn": "Sn_d",
"Sb": "Sb",
"Te": "Te",
"I": "I",
"Xe": "Xe",
"Cs": "Cs_sv",
"Ba": "Ba_sv",
"La": "La",
"Ce": "Ce",
"Pr": "Pr_3",
"Nd": "Nd_3",
"Pm": "Pm_3",
"Sm": "Sm_3",
"Eu": "Eu_2",
"Gd": "Gd_3",
"Tb": "Tb_3",
"Dy": "Dy_3",
"Ho": "Ho_3",
"Er": "Er_3",
"Tm": "Tm_3",
"Yb": "Yb_2",
"Lu": "Lu_3",
"Hf": "Hf_pv",
"Ta": "Ta_pv",
"W": "W_sv",
"Re": "Re",
"Os": "Os",
"Ir": "Ir",
"Pt": "Pt",
"Au": "Au",
"Hg": "Hg",
"Tl": "Tl_d",
"Pb": "Pb_d",
"Bi": "Bi_d",
"Po": "Po_d",
"At": "At",
"Rn": "Rn",
"Fr": "Fr_sv",
"Ra": "Ra_sv",
"Ac": "Ac",
"Th": "Th",
"Pa": "Pa",
"U": "U",
"Np": "Np",
"Pu": "Pu",
"Am": "Am",
"Cm": "Cm",
"Cf": "Cf",
},
"potpaw_LDA.54": {
"H": "H",
"He": "He",
"Li": "Li_sv",
"Be": "Be",
"B": "B",
"C": "C",
"N": "N",
"O": "O",
"F": "F",
"Ne": "Ne",
"Na": "Na_pv",
"Mg": "Mg",
"Al": "Al",
"Si": "Si",
"P": "P",
"S": "S",
"Cl": "Cl",
"Ar": "Ar",
"K": "K_sv",
"Ca": "Ca_sv",
"Sc": "Sc_sv",
"Ti": "Ti_sv",
"V": "V_sv",
"Cr": "Cr_pv",
"Mn": "Mn_pv",
"Fe": "Fe",
"Co": "Co",
"Ni": "Ni",
"Cu": "Cu",
"Zn": "Zn",
"Ga": "Ga_d",
"Ge": "Ge_d",
"As": "As",
"Se": "Se",
"Br": "Br",
"Kr": "Kr",
"Rb": "Rb_sv",
"Sr": "Sr_sv",
"Y": "Y_sv",
"Zr": "Zr_sv",
"Nb": "Nb_sv",
"Mo": "Mo_sv",
"Tc": "Tc_pv",
"Ru": "Ru_pv",
"Rh": "Rh_pv",
"Pd": "Pd",
"Ag": "Ag",
"Cd": "Cd",
"In": "In_d",
"Sn": "Sn_d",
"Sb": "Sb",
"Te": "Te",
"I": "I",
"Xe": "Xe",
"Cs": "Cs_sv",
"Ba": "Ba_sv",
"La": "La",
"Ce": "Ce",
"Hf": "Hf_pv",
"Ta": "Ta_pv",
"W": "W_sv",
"Re": "Re",
"Os": "Os",
"Ir": "Ir",
"Pt": "Pt",
"Au": "Au",
"Hg": "Hg",
"Tl": "Tl_d",
"Pb": "Pb_d",
"Bi": "Bi_d",
"Po": "Po_d",
"At": "At",
"Rn": "Rn",
"Fr": "Fr_sv",
"Ra": "Ra_sv",
"Ac": "Ac",
"Th": "Th",
"Pa": "Pa",
"U": "U",
"Np": "Np",
"Pu": "Pu",
"Am": "Am",
"Cm": "Cm",
},
"potpaw_PBE.54_GW": {
"H": "H_GW",
"He": "He_GW",
"Li": "Li_sv_GW",
"Be": "Be_sv_GW",
"B": "B_GW",
"C": "C_GW",
"N": "N_GW",
"O": "O_GW",
"F": "F_GW",
"Ne": "Ne_GW",
"Na": "Na_sv_GW",
"Mg": "Mg_sv_GW",
"Al": "Al_GW",
"Si": "Si_GW",
"P": "P_GW",
"S": "S_GW",
"Cl": "Cl_GW",
"Ar": "Ar_GW",
"K": "K_sv_GW",
"Ca": "Ca_sv_GW",
"Sc": "Sc_sv_GW",
"Ti": "Ti_sv_GW",
"V": "V_sv_GW",
"Cr": "Cr_sv_GW",
"Mn": "Mn_sv_GW",
"Fe": "Fe_sv_GW",
"Co": "Co_sv_GW",
"Ni": "Ni_sv_GW",
"Cu": "Cu_sv_GW",
"Zn": "Zn_sv_GW",
"Ga": "Ga_d_GW",
"Ge": "Ge_d_GW",
"As": "As_GW",
"Se": "Se_GW",
"Br": "Br_GW",
"Kr": "Kr_GW",
"Rb": "Rb_sv_GW",
"Sr": "Sr_sv_GW",
"Y": "Y_sv_GW",
"Zr": "Zr_sv_GW",
"Nb": "Nb_sv_GW",
"Mo": "Mo_sv_GW",
"Tc": "Tc_sv_GW",
"Ru": "Ru_sv_GW",
"Rh": "Rh_sv_GW",
"Pd": "Pd_sv_GW",
"Ag": "Ag_sv_GW",
"Cd": "Cd_sv_GW",
"In": "In_d_GW",
"Sn": "Sn_d_GW",
"Sb": "Sb_d_GW",
"Te": "Te_GW",
"I": "I_GW",
"Xe": "Xe_GW",
"Cs": "Cs_sv_GW",
"Ba": "Ba_sv_GW",
"La": "La_GW",
"Ce": "Ce_GW",
"Hf": "Hf_sv_GW",
"Ta": "Ta_sv_GW",
"W": "W_sv_GW",
"Re": "Re_sv_GW",
"Os": "Os_sv_GW",
"Ir": "Ir_sv_GW",
"Pt": "Pt_sv_GW",
"Au": "Au_sv_GW",
"Hg": "Hg_sv_GW",
"Tl": "Tl_d_GW",
"Pb": "Pb_d_GW",
"Bi": "Bi_d_GW",
"Po": "Po_d_GW",
"At": "At_d_GW",
"Rn": "Rn_d_GW",
},
"potpaw_LDA.54_GW": {
"H": "H_GW",
"He": "He_GW",
"Li": "Li_sv_GW",
"Be": "Be_sv_GW",
"B": "B_GW",
"C": "C_GW",
"N": "N_GW",
"O": "O_GW",
"F": "F_GW",
"Ne": "Ne_GW",
"Na": "Na_sv_GW",
"Mg": "Mg_sv_GW",
"Al": "Al_GW",
"Si": "Si_GW",
"P": "P_GW",
"S": "S_GW",
"Cl": "Cl_GW",
"Ar": "Ar_GW",
"K": "K_sv_GW",
"Ca": "Ca_sv_GW",
"Sc": "Sc_sv_GW",
"Ti": "Ti_sv_GW",
"V": "V_sv_GW",
"Cr": "Cr_sv_GW",
"Mn": "Mn_sv_GW",
"Fe": "Fe_sv_GW",
"Co": "Co_sv_GW",
"Ni": "Ni_sv_GW",
"Cu": "Cu_sv_GW",
"Zn": "Zn_sv_GW",
"Ga": "Ga_d_GW",
"Ge": "Ge_d_GW",
"As": "As_GW",
"Se": "Se_GW",
"Br": "Br_GW",
"Kr": "Kr_GW",
"Rb": "Rb_sv_GW",
"Sr": "Sr_sv_GW",
"Y": "Y_sv_GW",
"Zr": "Zr_sv_GW",
"Nb": "Nb_sv_GW",
"Mo": "Mo_sv_GW",
"Tc": "Tc_sv_GW",
"Ru": "Ru_sv_GW",
"Rh": "Rh_sv_GW",
"Pd": "Pd_sv_GW",
"Ag": "Ag_sv_GW",
"Cd": "Cd_sv_GW",
"In": "In_d_GW",
"Sn": "Sn_d_GW",
"Sb": "Sb_d_GW",
"Te": "Te_GW",
"I": "I_GW",
"Xe": "Xe_GW",
"Cs": "Cs_sv_GW",
"Ba": "Ba_sv_GW",
"La": "La_GW",
"Ce": "Ce_GW",
"Hf": "Hf_sv_GW",
"Ta": "Ta_sv_GW",
"W": "W_sv_GW",
"Re": "Re_sv_GW",
"Os": "Os_sv_GW",
"Ir": "Ir_sv_GW",
"Pt": "Pt_sv_GW",
"Au": "Au_sv_GW",
"Hg": "Hg_sv_GW",
"Tl": "Tl_d_GW",
"Pb": "Pb_d_GW",
"Bi": "Bi_d_GW",
"Po": "Po_d_GW",
"At": "At_d_GW",
"Rn": "Rn_d_GW",
},
}
#: Named variants of a set: element -> potential, overriding the defaults.
#: "hard" uses the hard PAW potentials where VASP has them (the MBE water
#: protocol uses O_h and H_h at 1200 eV); other elements keep their default.
variants = {
"hard": {
"H": "H_h",
"B": "B_h",
"C": "C_h",
"N": "N_h",
"O": "O_h",
"F": "F_h",
"P": "P_h",
"S": "S_h",
"Cl": "Cl_h",
},
}
[docs]
def potentials_for(potential_set, elements, chosen=None, variant=None):
"""The potential of each element: the one chosen, else the variant's,
else the set's default.
Parameters
----------
potential_set : str
e.g. "potpaw_PBE.64".
elements : [str]
Element symbols.
chosen : {str: str} or None
Potentials chosen explicitly, by element.
variant : str or None
A named variant, e.g. "hard".
Returns
-------
{str: str}
"""
chosen = chosen or {}
overlay = variants[variant] if variant else {}
defaults = default_potentials.get(potential_set, {})
result = {}
for element in elements:
if element in chosen:
result[element] = chosen[element]
elif element in overlay:
result[element] = overlay[element]
elif element in defaults:
result[element] = defaults[element]
else:
raise ValueError(
f"No potential for {element} in the set {potential_set}: choose "
"one explicitly."
)
return result