How to calculate DFA1@DFA2

Hi all,

I’ve been trying for ages to work out how to do the following:

  1. calcuate energy and wfn object from one SCF method (DFA1)

  2. read the wfn object in and then calculate the non-SCF energy only using a different method (DFA2)

e.g. some pseudo-code would be
EHF, wf = energy(‘HF’, return_wfn=True)
EPBE = energy(‘PBE’, read_wfn=wf, maxiter=1)

Sadly, I can’t work out how to do the second step. Any help would be very much appreciated.

All the best,


This seems to work for me:

molecule {
   H 1 0.9
   H 2 0.9 1 105

set basis sto-3g

escf = energy('scf')

set {
   guess read
   maxiter 0
   fail_on_maxiter false
epbe = energy('pbe')

As a sanity check, I switched the pbe call to scf and it yielded the converged SCF energy from the first call.

1 Like

Thanks so much. That should work for me, for now at least.

Looking to the future, a more general ability to start from a previous calculation might be nice e.g. for testing different approaches to seeding the SCF routine. But since it’s open sources I guess I should put up or shut up :slight_smile:


The Python iterations are now fully in Python so it is quite easy to alter that code. Ping us on Slack or here for help and hooks on how to integrate this!

We should be close to allowing users to pass in wavefunctions for SCF as we have straightened out that code quiet a bit!

Awesome news. Sadly the “putting up” part of my offer won’t happen soon. But I’ll take a look at the new versions ASAP.


I went ahead and marked Andy’s post as solving the issue, for the sake of organization.

Feel free to ask again if your questions aren’t solved.

1 Like

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.