Page 1 of 2

Multi-geminal wave functions

PostPosted: Wed May 22, 2019 7:50 am
by Fan_Wang
The manual says "Geminal and multi-geminal wave function parameters are de ned in the GEMINAL top-level block of
the parameters.casl le. More information about the speci cs of these wave functions and on the
format of the casl block is available on request."

I would like to try geminal wave function for some molecules with strong multireference character, but who should I ask for?

with best regards,

Fan

Re: Multi-geminal wave functions

PostPosted: Wed May 22, 2019 8:14 am
by Pablo_Lopez_Rios
Hi Fan,

Each geminal in the MAGP wave function requires norb x norb parameters and a global coefficient. So if you have two orbitals in your basis, you would specify a single-geminal wave function in parameters.casl as:

Code: Select all
 GEMINAL:
   Geminal 1:
     Parameters:
       c: [ 1.d0 , fixed ]
       g_1,1: [ 1.d0 , optimizable ]
       g_1,2: [ 0.d0 , optimizable ]
       g_2,1: [ 0.d0 , optimizable ]
       g_2,2: [ 1.d0 , optimizable ]


Input keywords opt_orbitals and opt_detcoeff control whether g_*,* and c are optimized.

The MAGP wave function was implemented as part of a PhD project in 2014 and, while it worked fine then in tests, it has seen little use since. Let us know if you encounter problems.

Best,
Pablo

Re: Multi-geminal wave functions

PostPosted: Wed May 22, 2019 3:31 pm
by Fan_Wang
Dear Pablo,

Thanks very much for your help. Do you any example on using it?

I calculated reaction energy for O3 -> O + O2 using single-Slater-Jastrow wavefunction in DMC and the result is rather poor. With CASSCF-Jastrow wavefunction in DMC, the result is improved, but still unsatisfactory. I would like to try some other trial wavefunction such as JAGP in DMC.

with best regards,

Fan


Pablo_Lopez_Rios wrote:Hi Fan,

Each geminal in the MAGP wave function requires norb x norb parameters and a global coefficient. So if you have two orbitals in your basis, you would specify a single-geminal wave function in parameters.casl as:

Code: Select all
 GEMINAL:
   Geminal 1:
     Parameters:
       c: [ 1.d0 , fixed ]
       g_1,1: [ 1.d0 , optimizable ]
       g_1,2: [ 0.d0 , optimizable ]
       g_2,1: [ 0.d0 , optimizable ]
       g_2,2: [ 1.d0 , optimizable ]


Input keywords opt_orbitals and opt_detcoeff control whether g_*,* and c are optimized.

The MAGP wave function was implemented as part of a PhD project in 2014 and, while it worked fine then in tests, it has seen little use since. Let us know if you encounter problems.

Best,
Pablo

Re: Multi-geminal wave functions

PostPosted: Wed May 22, 2019 3:53 pm
by Pablo_Lopez_Rios
Hi Fan,

Fan_Wang wrote:Do you any example on using it?

I'm afraid I don't.

With CASSCF-Jastrow wavefunction in DMC, the result is improved, but still unsatisfactory. I would like to try some other trial wavefunction such as JAGP in DMC.

Geminals and multigeminals remain very much untested. I would not expect to be able to get much off them though - you might be better off using some form of truncated CI expansion of a large-ish size, re-optimizing its coefficients in the presence of the Jastrow factor.

Best,
Pablo

Re: Multi-geminal wave functions

PostPosted: Sun May 26, 2019 5:27 am
by Vladimir_Konjkov
Hello Pablo, Fan

I've tried to start geminal WFN calculation for Be atom involving 2p orbitals in geminal construction.
As input I want to use geminals in form described in https://aip.scitation.org/doi/10.1063/1.1503773
I use cc-pVDZ basis which has 14 orbitals for Be atom.

Code: Select all
GEMINAL:
   Geminal 1:
     Parameters:
       c: [ 1.d0 , fixed ]
       g_2,2: [ 0.95271200 , fixed ]
       g_3,3: [ -0.17381588 , fixed ]
       g_4,4: [ -0.17381378 , fixed ]
       g_5,5: [ -0.17378866 , fixed ]


but I've got an issue

ERROR : PARSE_GMAT_EL
Error while reading label g_3,3. The row index is larger than the total
number of orbitals allowed (2). Update the number of orbitals allowed in the
input file.


How could I update the number of "orbitals allowed" in the input file?
If I do not specify the g_*,* coefficient, its value will be set to 0 and optimization type to fixed, right? (This would be a useful option since fully spin-unrestricted geminals can always be reduced to diagonal form and upon optimization I don`t wont to break this)

Fan_Wang wrote:I would like to try geminal wave function for some molecules with strong multireference character.

Brilliant idea. What active space did you choose for the ozone in CASSCF?

Best Vladimir.

Re: Multi-geminal wave functions

PostPosted: Tue May 28, 2019 7:35 am
by Pablo_Lopez_Rios
Hi Vladimir, Fan,

Regarding the use of geminals, please have a look at Pascal Bugnion's thesis, which I've placed at https://www.tcm.phy.cam.ac.uk/~pl275/download/pob_thesis.pdf. Besides describing the CASINO implementation, he looks at the use of geminals for the homogeneous electron gas (see chapters 5 and 6). There are interesting conclusions here; in particular, the single-geminal wave function provides a rather small improvement to the DMC energy over using HF nodes, especially at larger system sizes, but a multi-geminal wave function based on a CI-doubles expansion is much better in this regard (but note that the number of terms in it grows quickly with system size).

I should point out that for the 14-electron gas considered in the thesis one can get better VMC and DMC energies with a truncated CI containing less than 400 determinants (~ 10 optimizable coefficients) than with the multigeminals. This is why I said earlier that I would expect a truncated CI to be a better option than MAGP - but of course each system is a separate story..

How could I update the number of "orbitals allowed" in the input file?

Ok, this is a bug. The MAGP wave function in CASINO has only been used with electron gas orbitals, and for Gaussian orbitals the basis is mistakenly trimmed to the number of electrons (as one would do for a single-Slater-determinant wave function). I'll submit a patch for this shortly.

If I do not specify the g_*,* coefficient, its value will be set to 0 and optimization type to fixed, right? (This would be a useful option since fully spin-unrestricted geminals can always be reduced to diagonal form and upon optimization I don`t wont to break this)

There are indeed keywords in the CASL block to control this:

Code: Select all
GEMINAL:
  Default g optimizability : fixed
  Default c optimizability : optimizable
  Geminal 1:
    ...

Re: Multi-geminal wave functions

PostPosted: Tue May 28, 2019 8:52 am
by Vladimir_Konjkov
Pablo_Lopez_Rios wrote:Hi Vladimir

How could I update the number of "orbitals allowed" in the input file?

Ok, this is a bug. The MAGP wave function in CASINO has only been used with electron gas orbitals, and for Gaussian orbitals the basis is mistakenly trimmed to the number of electrons (as one would do for a single-Slater-determinant wave function). I'll submit a patch for this shortly.


Hello Pablo.

Yes, thanks, it will be interesting to check by generating input data in the QCHEM program as described in https://www.q-chem.com/qchem-website/ma ... t0042.html
I will attach the corresponding example after bugfix.

Vladimir.

Re: Multi-geminal wave functions

PostPosted: Thu May 30, 2019 1:06 pm
by Pablo_Lopez_Rios
Hi Vladimir, Fan,

I've just submitted a patch to enable geminal support for gaussian/plane-wave/blip orbitals. It was quite a bit more work than I anticipated, with the geminal.f90 module requiring a number of bugfixes.

There is a new autotest example under examples/TEST/Input/be_geminal/opt (based on Vladimir's example) whose parameters.casl file you might want to use as template/reference for your calculations when the patch lands.

Best,
Pablo

Re: Multi-geminal wave functions

PostPosted: Thu May 30, 2019 2:15 pm
by Fan_Wang
Thank you very much for your effort. I will try it.

with best regards,

Fan

Pablo_Lopez_Rios wrote:Hi Vladimir, Fan,

I've just submitted a patch to enable geminal support for gaussian/plane-wave/blip orbitals. It was quite a bit more work than I anticipated, with the geminal.f90 module requiring a number of bugfixes.

There is a new autotest example under examples/TEST/Input/be_geminal/opt (based on Vladimir's example) whose parameters.casl file you might want to use as template/reference for your calculations when the patch lands.

Best,
Pablo

Re: Multi-geminal wave functions

PostPosted: Fri May 31, 2019 10:44 pm
by Pablo_Lopez_Rios
Patch now available in current beta.

Best,
Pablo