fbuessen / SpinParser

Pseudofermion functional renormalization group solver for (frustrated) quantum magnets in two and three spatial dimensions.
MIT License
24 stars 6 forks source link

Issue while implementing fisher lattice #7

Closed Sourin-chatterjee closed 2 years ago

Sourin-chatterjee commented 2 years ago

I am trying to implement fisher lattice using Spinparser.(https://journals.aps.org/prb/abstract/10.1103/PhysRevB.102.224404) Lattice definition that i used: [unitcell name="fisher"] [primitive x="1" y="0" z="0" /] [primitive x="0" y="1" z="0" /] [primitive x="0" y="0" z="1" /]

<site x="-1/3" y="0" z="0" />
<site x="0" y="-1/3" z="0" />
<site x="1/3" y="0" z="0" />
<site x="0" y="1/3" z="0" />

<bond from="0" to="1" da0="0" da1="0" da2="0" />
<bond from="1" to="2" da0="0" da1="0" da2="0" />
<bond from="2" to="3" da0="0" da1="0" da2="0" />
<bond from="3" to="0" da0="0" da1="0" da2="0" />
<bond from="2" to="0" da0="1" da1="0" da2="0" />
<bond from="3" to="1" da0="0" da1="1" da2="0" />

[/unitcell]

The unit cell that i am taking is: unitcell_fisher

The error message is:

error

fbuessen commented 2 years ago

Hi, Thanks for pointing this out. In principle, the Fisher lattice should work -- I'll take a look!

fbuessen commented 2 years ago

There was a small issue in the code which could trigger the exception for lattices that contain multiple lattice bonds of different length (as is the case for your unit cell definition of the Fisher lattice). I just pushed a patch #8 for the issue and successfully tested your lattice definition in combination with a nearest neighbor Heisenberg model (see below for the model definition.)

<unitcell name="fisher">
    <primitive x="1" y="0" z="0" />
    <primitive x="0" y="1" z="0" />
    <primitive x="0" y="0" z="1" />

    <site x="-1/3" y="0" z="0" />
    <site x="0" y="-1/3" z="0" />
    <site x="1/3" y="0" z="0" />
    <site x="0" y="1/3" z="0" />

    <bond from="0" to="1" da0="0" da1="0" da2="0" />
    <bond from="1" to="2" da0="0" da1="0" da2="0" />
    <bond from="2" to="3" da0="0" da1="0" da2="0" />
    <bond from="3" to="0" da0="0" da1="0" da2="0" />
    <bond from="2" to="0" da0="1" da1="0" da2="0" />
    <bond from="3" to="1" da0="0" da1="1" da2="0" />
</unitcell>
<model name="fisher-heisenberg">
    <!-- Heisenberg model on the Fisher lattice -->
    <interaction parameter="j" from="0,0,0,0" to="0,0,0,1" type="heisenberg" />
    <interaction parameter="j" from="0,0,0,1" to="0,0,0,2" type="heisenberg" />
    <interaction parameter="j" from="0,0,0,2" to="0,0,0,3" type="heisenberg" />
    <interaction parameter="j" from="0,0,0,3" to="0,0,0,0" type="heisenberg" />
    <interaction parameter="j" from="0,0,0,2" to="1,0,0,0" type="heisenberg" />
    <interaction parameter="j" from="0,0,0,3" to="0,1,0,1" type="heisenberg" />
</model>
Sourin-chatterjee commented 2 years ago

Thanks, Finn. It's working fine now .