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
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/nstategroup corresponds to the number of MOs in my CAS space (which is 30 in this case).As a result, my converted file changes from:
to:
Please note that the key change is in the
nstatesandsizeattribute.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:
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