electronic-structure / SIRIUS

Domain specific library for electronic structure calculations
BSD 3-Clause "New" or "Revised" License
115 stars 40 forks source link

Constrained Hubbard #917

Closed mtaillefumier closed 8 months ago

mtaillefumier commented 8 months ago

This PR implements the Hubbard calculations in SIRIUS using constrained occupancies. The non-colinear case is not covered in this PR (although it will work) because qe does not support it and we should find a way to describe complex numbers using the json format. The API has one additional call that set which orbital should be constrained.

mtaillefumier commented 8 months ago

I do not mind enforcing indentation but please merge the formatting PR first then I can fix all these needy greedy formatting errors.

toxa81 commented 8 months ago

@mtaillefumier we should do the opposite - merge this first, then apply formatting

mtaillefumier commented 8 months ago

I still have two things to fix

mtaillefumier commented 8 months ago

I think I fixed all remaining issues. pure QE is buggy with original implementation and only converges after 151 iterations while q-e-sirius converges after 31 iterations.

toxa81 commented 8 months ago

@mtaillefumier ci/cd passes, so it's good from my side. OK to merge?

mtaillefumier commented 8 months ago

let's merge.