Skip to content

Cusp Correction & nstates Issues in QMCPACK #5593

Description

@NastaMauger

I am trying to export CASSCF wavefunctions generated using QP2.
Because the converter treats all MOs as the number of states, after the conversion is done, I manually modify the HDF5 file so that the MultiDet/nstate group corresponds to the number of MOs in my CAS space (which is 30 in this case).

As a result, my converted file changes from:

    <determinantset type="MolecularOrbital" name="LCAOBSet" source="ion0" transform="yes" cuspCorrection="yes" href="QP2_CAS_4_4.h5">
      <sposet basisset="LCAOBSet" name="spo-up" size="296" cuspInfo="../spo-up.cuspInfo.xml">
        <occupation mode="ground"/>
        <coefficient size="296" spindataset="0"/>
      </sposet>
      <sposet basisset="LCAOBSet" name="spo-dn" size="296" cuspInfo="../spo-dn.cuspInfo.xml">
        <occupation mode="ground"/>
        <coefficient size="296" spindataset="0"/>
      </sposet>
      <multideterminant optimize="no" spo_up="spo-up" spo_dn="spo-dn">
        <detlist size="36" type="DETS" nca="0" ncb="0" nea="28" neb="28" nstates="296" cutoff="1e-20" ext_level="0" href="QP2_CAS_4_4.h5"/>
      </multideterminant>
    </determinantset>

to:


<wavefunction name="psi0" target="e">
  <determinantset type="MolecularOrbital" name="LCAOBSet" source="ion0" transform="yes" cuspCorrection="yes" href="QP2_CAS_4_4.h5">
    <sposet basisset="LCAOBSet" name="spo-up" size="30" cuspInfo="spo-up.cuspInfo.xml">
      <occupation mode="ground"/>
      <coefficient size="296" spindataset="0"/>
    </sposet>
    <sposet basisset="LCAOBSet" name="spo-dn" size="30" cuspInfo="spo-dn.cuspInfo.xml">
      <occupation mode="ground"/>
      <coefficient size="296" spindataset="0"/>
    </sposet>
    <multideterminant optimize="no" spo_up="spo-up" spo_dn="spo-dn">
      <detlist size="36" type="DETS" nca="0" ncb="0" nea="28" neb="28" nstates="30" cutoff="1e-20" ext_level="0" href="QP2_CAS_4_4.h5"/>

Please note that the key change is in the nstates and size attribute.
For reference, I have also included the QMCPACK output produced by the converter using GAMESS output, and it matches my modified XML file from QP2.

However, applying the cusp corrections leads to incorrect results:
-379.338340 whereas the QP2 reference energy is -379.410416553535.

I also noticed that during the conversion it prints:

Done reading CIs!!
QMCGaussianParserBase::dump

which might explain why, although I set up the correct number of states, it still treats the wavefunction as a CI.

Is there a way I can tweak the converter so that QP2 CASSCF wavefunctions are correctly converted?

QP2_CAS_4_4_modified.h5.txt

QP2_CAS_4_4_unmodified.h5.txt

qmcpack_from_gamess.wfj.xml.txt

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

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions