vibeqc.auto_ecp_centers¶
- vibeqc.auto_ecp_centers(mol, basis_name, library_name=None)[source]¶
Build
(ecp_centers, library_name)from a Molecule + basis name.For each atom in
molwhose Z appears in<basis_name>.ecp, emits anECPCenter(Z, xyz)and resolves the right libecpint XML library. The two returned values can be assigned directly toopts.ecp_centersandopts.ecp_libraryon any of the four molecular SCF Options classes.- Parameters:
mol (vibeqc.Molecule) – The molecule whose heavy atoms need ECP centres built.
basis_name (str) – Basis-set name as you’d pass to
vq.BasisSet(mol, name).library_name (Optional[str]) – Override the auto-resolved libecpint XML library. Useful when a basis ships a custom XML the user dropped into
$VIBEQC_ECP_SHARE_DIR/xml/.
- Returns:
(centers, library_name) – Empty list and the input
library_name(or"") if the basis is all-electron; otherwise a populated list.- Return type:
- Raises:
ValueError – When the molecule’s heavy atoms would need MORE THAN ONE libecpint XML library (mixed-row case — common for dhf with a Rb–Cs span). Calls out Phase 14g as the unblocker.
NotImplementedError – When the basis has at least one ECP atom whose ncore doesn’t match any standard libecpint library (vDZP-style customs).