qmcpack icon indicating copy to clipboard operation
qmcpack copied to clipboard

How to Optimize Orbitals and CI Coefficients

Open NastaMauger opened this issue 2 months ago • 4 comments

Hello,

I want to optimize my orbitals along with CI coefficients and the Jastrow factor produce by GAMESS. My XML file has two <basisset> entries—does this mean I need to add the following twice?

<rotated_sposet name="rot_spo_up" method="global">
  <sposet name="spo_up" basisset="LCAOBSet" size="27">
    <coefficient spindataset="0"> </coefficient>
  </sposet>
</rotated_sposet>

<rotated_sposet name="rot_spo_down" method="global">
  <sposet name="spo_down" basisset="LCAOBSet" size="27">
    <coefficient spindataset="0"> </coefficient>
  </sposet>
</rotated_sposet>

Also, how should rotateSPO be set for the determinant part if I also want to optimize CI coefficients? I also want to keep cusp corrections—is that possible?

I’ve attached my original GAMESS file converted via the converter. Any guidance would be greatly appreciated, as I couldn’t find detailed tutorials online.

Thank you for your help

cas_6_6.original.wfj.xml

NastaMauger avatar Oct 04 '25 04:10 NastaMauger

The one online tutorial for OO that we have is at https://github.com/QMCPACK/qmcpack_workshop_2023/blob/main/Townsend_Dumi_Orbital_Optimization_Tutorial.pdf, https://www.youtube.com/watch?v=Ta4mW6iy8YA , and https://github.com/QMCPACK/qmcpack_workshop_2023/tree/main/day2_orbital_optimization

prckent avatar Oct 06 '25 15:10 prckent

Thank you.

Following this, I always get two "errors" stating that orbital optimization with cusp correction is not supported, and that using single CSFs is not available with MSJ orbital optimization.

I would have thought this would not be an issue. Is a specific branch needed? I am using the develop branch using 7f1dd802c7d5c003c79779c3529676a04d7539df-dirty commit

NastaMauger avatar Oct 06 '25 17:10 NastaMauger

AFAIK it is expected to still work. A quick look indicates the examples use ccECPs, so no cusp correction should be needed.

prckent avatar Oct 06 '25 17:10 prckent

Hello,

I am confused by your answer because my input still produces this error: Fatal Error. Aborting at Currently, Using CSF is not available with MSJ Orbital Optimization!

My input file is as follow:

<?xml version="1.0"?>
<qmcsystem>
  <wavefunction name="psi0" target="e">
     <sposet_collection type="MolecularOrbital" href="../cas_6_6.orbs.h5" source="ion0">
        <basisset name="LCAOBSet" id="atomicBasisSet0" keyword="GTO" transform="no">
        </basisset>
        <rotated_sposet name="rot_spo_up" method="global">
          <sposet name="spo_up" basisset="LCAOBSet" size="24" >
            <coefficient spindataset="0"> </coefficient>
          </sposet>
        </rotated_sposet>
        <rotated_sposet name="rot_spo_down" method="global">
          <sposet name="spo_down" basisset="LCAOBSet" size="24" >
            <coefficient spindataset="0"> </coefficient>
          </sposet>
        </rotated_sposet>
      </sposet_collection>
      <determinantset key="GTO" source="ion0" transform="no" type="MO" >
       <multideterminant optimize="no" spo_up="rot_spo_up" spo_dn="rot_spo_down">
        <detlist size="46" type="CSF" nca="18" ncb="18" nea="3" neb="3" nstates="6" cutoff="1e-20">
            .....
          </csf>
        </detlist>
      </multideterminant>
    </determinantset>
  </wavefunction>
</qmcsystem>

NastaMauger avatar Oct 07 '25 17:10 NastaMauger