Skip to content

CFOUR/MRCC format support for canonical ccECP pseudopotentials and basis sets #126

Description

@romanfanta4

I have converted the complete scalar-relativistic canonical ccECP family in PseudopotentialLibrary.org, together with the associated Gaussian orbital basis sets, to formats that can be used directly with CFOUR and MRCC.

The conversion operates only on

recipes/<ELEMENT>/ccECP/

and does not include ccECP-soft, eCEPP, CEPP, BFD, RRKJ, TM, grid-based AREP/SOREP data, or other pseudopotential families.

For the current Pseudopotential Library data, the conversion contains:

65 canonical ccECP pseudopotentials
841 associated Gaussian orbital basis-set entries
20 distinct basis-set families, including cc-pVXZ, aug-cc-pVXZ, cc-pCVXZ, and aug-cc-pCVXZ where available

The generated files include:

  • GENBAS — CFOUR orbital basis-set library
  • ECPDATA — CFOUR effective-core-potential library
  • GENBAS.mrcc — combined basis/ECP library for MRCC
  • ECPDATA.maxprec — optional ECP library using the most precise available analytic source rendering for each element
  • per-element CFOUR/MRCC files

I have also prepared a standalone Python converter, convert_ccecp_to_cfour.py, so the files can be regenerated directly from the canonical Pseudopotential Library recipes.

The conversion does not refit or otherwise alter the scientific data. Basis exponents, contraction coefficients, ECP coefficients, radial powers, and channel ordering are preserved numerically from the source data.

Several validation layers are included:

  • independent parsing and comparison of the available GAMESS, Gaussian, NWChem, native ccECP, and MOLPRO ECP representations where applicable
  • cross-format numerical consistency checks
  • independent Basis Set Exchange parsing and convention checks when basis_set_exchange is installed
  • checks of NCORE, LMAX, local/nonlocal channel ordering, radial powers, primitive counts, contraction counts, and angular momenta
  • numerical write/read round-trip validation of every generated GENBAS and ECPDATA entry
  • PySCF atomic calculations reproducing the published ccECP PBE reference energies
  • direct MRCC tests of representative converted ECPs and basis sets

One MRCC-specific formatting requirement was identified during testing. MRCC 25.1.1 and 26.1.1 read the NCORE/LMAX record using

read(gbasfile,"(11x,i3,11x,i1)") ncorecp(iatoms),lmax

Therefore the converter explicitly places NCORE in columns 12–14 and LMAX in column 26. Representative NCORE > 0 calculations were subsequently checked against PySCF.

The canonical H and He ccECPs have NCORE = 0. These entries are generated correctly from the source data, but executable testing indicates that MRCC 25.1.1 and 26.1.1 do not handle NCORE = 0 ECP entries correctly. The converter therefore documents this as a target-program limitation and does not modify the H or He pseudopotentials to work around it.

For the generated CFOUR/MRCC orbital basis labels, I currently append a -ccECP suffix, for example

Fe:cc-pVTZ-ccECP
Fe:aug-cc-pVQZ-ccECP

while the ECP label remains

Fe:ccECP

The suffix is only a target-program naming convention. It avoids collisions with basis-set names already present in CFOUR/MRCC libraries and can be disabled with the converter if the original names are preferred. The source Pseudopotential Library basis names themselves are unchanged.

I would be happy to contribute this support to PseudopotentialLibrary.org. The attachment includes both the converter and the complete generated files - not per element.

I can adapt the file naming and repository structure to the maintainers' preferred convention.

I can also provide the full validation output, mapping tables, and the ready-to-use CFOUR/MRCC library archive for review.

ccECP_CFOUR_MRCC.tar.gz

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions