6
$\begingroup$

The lack of interoperability of quantum chemistry software is one of the main issues holding back the field. Unfortunately, not all programs implement every possible type of calculation, and often one would like to use two programs together in a workflow, but this is not possible since such interfaces do not exist; see my recent perspective and proposed workaround in J. Chem. Phys. 159, 180901 (2023). Some programs can, however, already be used together through mutual support for e.g. the GAUSSIAN formatted checkpoint format, or through third-party add-on solutions like MOKIT.

A colleague just asked me if it was possible to read in molecular orbitals from Turbomole into the Q-Chem program, since they need some features that only exist in each of these programs.

This coupling does not appear to be possible with MOKIT, since I could not find any mention of Turbomole in their documentation (although interestingly, orbitals can be transferred from GAUSSIAN into Q-Chem!)

Does anyone know of a way to read in orbitals from Turbomole into Q-Chem?

Addendum: it appears that a solution is possible by dumping out Molden data from Turbomole, as suggested by Uwe below, and then parsing this Molden file with the specified Turbomole provenance into a Gaussian formatted checkpoint with MOKIT and from then on again into Q-Chem again with MOKIT, as described by jxzou.

It would be really nice if programs adopted an interoperable format; the TREX I/O library seems to be the best solution available at the moment...

$\endgroup$

2 Answers 2

7
$\begingroup$

dear Prof. Susi Lehtola,

Recently I write two utilities molden2fch and fch2tm in MOKIT. The MOKIT documentation has not been updated. molden2fch converts a .molden file into a Gaussian .fch file. And fch2tm converts a Gaussian .fch(k) file into Turbomole files control and mos. Combining molden2fch with the existing utility fch2qchem, molecular orbitals can be transferred from Turbomole to Q-Chem. Let's look at a simple example:

assuming an RHF/cc-pVDZ calculation for a water molecule has been performed using Turbomole, and files control as well as mos are in the current directory, then we can type

tm2molden
h2o.molden
[Enter]
[Enter]

tm2molden is a utility of Turbomole. After h2o.molden is generated, run the following commands

molden2fch h2o.molden -tm
fch2qchem h2o.fch

molden format strongly depends on its corresponding quantum chemistry program, so -tm is specified to tell the utility that this is a Turbomole-type .molden file (By the way, this utility also supports -orca where ORCA-type .molden file can be dealt with).

I've tested the two new utilities using Turbomole v7.1. For molden2fch/fch2tm, basis functions up to g/h angular momenta are supported, respectively. tm2molden cannot generate .molden file beyond g angular momentum. Please install or update to MOKIT-v1.2.6rc23 if you want to use new utilities.

There are two extra limitations for molden2fch: 1) Cartesian-type (6D 10F) function are not supported currently, please use spherical harmonic (5D 7F) functions; 2) ECP/PP are not supported since there is no ECP/PP data in .molden file generated by Turbomole.

If you and your colleague want more features, or you encounter some questions during using these utilities, you can open an issue here.

$\endgroup$
2
  • $\begingroup$ Thanks! I've passed this information onto my colleague. The need to pass flags to specify what program was used speaks a sad truth that programs can't even agree on a given format.. $\endgroup$ Feb 20 at 13:38
  • $\begingroup$ Yes. molden file (and its transferring to other formats) is used by a lot of users, but many programs do not obey the molden standard, so molden2fch has to deal with them one format by one. I'm afraid many users was not aware of the correctness of transferring molden to other formats. A similar problem also happens when transferring MOs from Gaussian .fch to GAMESS .inp, some other programs totally do not take care of the basis function order. The SCF in GAMESS cannot be converged in 1 cycle and even diverge for transition metal molecules. MOKIT does take care of this carefully. $\endgroup$
    – jxzou
    Feb 21 at 2:52
4
$\begingroup$

Turbomole and Q-Chem (as Gaussian, Molpro, Orca, Gamess, PySCF, ...) use Gaussian-type orbitals (that's not really news) for molecular input. Turbomole, Gaussian and PySCF also for crystal structures using periodic boundary conditions. Using the same input coordinates and basis set, they all should generate the same molecular orbitals. Not necessarily the identical numerical values in the same order, but they should all generate the same properties.

While I do remember the times when molecular orbitals have sometimes been painful to get (computationally demanding or hard to achieve convergence) and were considered as very valuable - nowadays Hartree-Fock or DFT single-point energy calculations to get converged molecular orbitals are hardly ever a time-critical task. But there might be other reasons I am not aware of why those orbitals must be converted rather than re-calculated...

@Susi: I know you are an 'old hand' in quantum chemistry, so nothing new for you so far. So let me try to give at least some help for the first step of the Turbomole -> Q-Chem conversion, namely to get a known and documented format of molecular orbitals:

I am not familiar with Q-Chem, so I do not know which formats for MOs as input can be provided. From Turbomole side I'd however recommend to generate a common format like molden input file (run tm2molden -norm in a directory with a finished Turbomole job), or use the proper tool that comes with Turbomole to generate for example a wfn file. Another possibility is to use the AOMix file format that tm2aomix generates. That's just for the export, but perhaps there is someone out there who knows a molden to Q-Chem or wfn to Q-Chem tool which converts the orbitals for the import part?

$\endgroup$
1
  • $\begingroup$ Thanks for the partial answer, Uwe. Together with MOKIT, it appears the problem can be solved. $\endgroup$ Feb 20 at 16:43

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .