Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Multideterminant code fails with only alpha determinants (no down electrons) #2698

Closed
anbenali opened this issue Sep 10, 2020 · 3 comments
Closed
Labels

Comments

@anbenali
Copy link
Contributor

Describe the bug
When beta determinants are absent / only up electrons, the multideterminant code is broken. QMCPACK will request removing particle set for beta electrons with size 0, but multideterminant will require and sposet down. An sposet down with size 0 will force qmcpack to exit asking to remove particleset with 0 particle.

To Reproduce
Steps to reproduce the behavior:

  1. download example files from link: https://anl.box.com/s/p3xn8r64rpk8h0zj3nredxjyqs97e81o
  2. run:

qmcpack Li-quadruplet-MD.qmc.in-wfj.xml

Expected behavior
Code will fail if particle set with down electron specified with size 0;

Fatal Error. Aborting at ParticleSet::resetGroups() Failed. ParticleSet 'e' has group 'd' containing 0 particles. Remove this group from input!

When commented out from Li-quadruplet-MD.structure.xml

Norm of ci vector (sum of ci^2): 1
Found 40 unique up determinants.
Found 1 unique down determinants.
Number of terms in pairs array: 39
Fatal Error. Aborting at Error in SlaterDetBuilder::createMSDFast, problems with ci configuration list.
Abort(1) on node 0 (rank 0 in comm 0): application called MPI_Abort(MPI_COMM_WORLD, 1) - process 0

System:
all

@camelto2
Copy link
Contributor

Also relevant for molecular spin-orbit calculations, as there is only electron group by construction

@prckent prckent added the bug label Sep 10, 2020
@prckent prckent changed the title Multideterminant with only alpha determinants (no down electrons) Multideterminant code fails with only alpha determinants (no down electrons) Sep 11, 2020
@camelto2
Copy link
Contributor

For reference, I have a hacked version of qmcpack that works for this. Essentially, every variable that is hardcoded as X_up and X_dn I have generalized to be a vector called Xs and depends on the number of groups in the electron particleset. Since this part of the code is being redesigned in the future, in case anyone needs this working for a particular problem feel free to contact me for the hacked code

@ye-luo
Copy link
Contributor

ye-luo commented Mar 21, 2021

VMC runs fine after removing beta

    <determinantset type="MolecularOrbital" name="LCAOBSet" source="ion0" transform="yes" cuspCorrection="yes" href="Li-quadruplet-MD.h5">
      <sposet basisset="LCAOBSet" name="spo-up" size="18" cuspInfo="spo-up.cuspInfo.xml">
        <occupation mode="ground"/>
        <coefficient size="18" spindataset="0"/>
      </sposet>
      <multideterminant optimize="no" spo_0="spo-up">
        <detlist size="40" type="DETS" nc0="0" ne0="3" nstates="18" cutoff="1e-20" href="Li-quadruplet-MD.h5"/>
      </multideterminant>
    </determinantset>

@ye-luo ye-luo closed this as completed Mar 21, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

4 participants