Correct reference values for Hint in Slave

Issue #1 resolved
Sohrab Ismail-Beigi created an issue

Right now, the mean occupations used in the slave interaction term (Hint) come from the current spinon counts. This is clearly very self-consistent, but not necessary sensible physically for a post-processing method. Namely, the mean occupancies, which are the reference "half filling" occupancies where the interaction vanishes, keep changing during the iterative spinon<->slave solution and thus there is not a unique total energy functional being minimized in a usual sense of the word. A physical manifestation of this problem is that two different solutions with different electron counts on the sites will have the same interaction energy if the number fluctuations are very small (zero in true atomic limit) as the mean=actual value and thus we get non-sense total energies.

This is easy to fix: the U=Up=J=0 run at the start provides us with a sensible set of occupations from DFT. These should provide the fixed reference occupations and "half filling" values for the interaction since supposedly DFT will get things right if these mean occupancies don't fluctuate.

This requires 1. recording the U=J=Up=0 somewhere most sensible in slaveinfo 2. using those values when computing the mean occupancies when passing them to HamSlave from Csearch/hsearch which themselves come from slave_driver

Comments (2)

  1. Sohrab Ismail-Beigi reporter

    This was modified in commit by telesthetic eaea33d 2018-04-24. Now the occupancies used as reference in slave interaction Hamiltonian are those from "dcount0", i.e., occupancies when U=Up=J=0.

  2. Log in to comment