[ALPS-users] Nonperiodic deterministic lattice

Andre Vieira apvieira at if.usp.br
Fri Aug 4 03:38:16 CEST 2017


I tried to follow your instructions, but I am doing something wrong and
cannot find out what it is. In order to test creating a graph with
different coupling types, I created a file called 'my_lattices.xml'
implementing a 9-site dimerized chain with the following contents:

<LATTICES>
 <GRAPH name = "open chain dimerized lattice" dimension="1" vertices="9"
edges="8">
  <VERTEX id="1"/>
  <VERTEX id="2"/>
  <VERTEX id="3"/>
  <VERTEX id="4"/>
  <VERTEX id="5"/>
  <VERTEX id="6"/>
  <VERTEX id="7"/>
  <VERTEX id="8"/>
  <VERTEX id="9"/>
  <EDGE source="1" target="2" id="1" type="0"/>
  <EDGE source="2" target="3" id="2" type="1"/>
  <EDGE source="3" target="4" id="3" type="0"/>
  <EDGE source="4" target="5" id="4" type="1"/>
  <EDGE source="5" target="6" id="5" type="0"/>
  <EDGE source="6" target="7" id="6" type="1"/>
  <EDGE source="7" target="8" id="7" type="0"/>
  <EDGE source="8" target="9" id="8" type="1"/>
 </GRAPH>
</LATTICES>

I then adapted a Python file from the tutorials in order to calculate the
susceptibility of an antiferromagnetic Heisenberg model sitting on the
sites of the dimerized lattice, using 'J0' and 'J1' to refer to the
couplings associated with edge types 0 and 1, which I set equal to each
other for testing:

import pyalps
import matplotlib.pyplot as plt
import pyalps.plot

#prepare the input parameters
#skip this part if you already ran the simulation from the command line
parms = []
for t in [0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0, 1.25, 1.5,
1.75, 2.0]:
    parms.append(
        {
          'LATTICE_LIBRARY': 'my_lattice.xml',
          'LATTICE'        : 'open chain dimerized lattice',
          'T'              : t,
          'local_S'        : 0.5,
          'J0'             : 1.0,
          'J1'             : 1.0,
          'THERMALIZATION' : 10000,
          'SWEEPS'         : 500000,
          'ALGORITHM'      : 'loop',
          'MODEL'          : 'spin'
        }
    )

#write the input file and run the simulation
input_file = pyalps.writeInputFiles('parm2a',parms)
pyalps.runApplication('loop',input_file,Tmin=5)


#load the susceptibility and collect it as function of temperature T
data =
pyalps.loadMeasurements(pyalps.getResultFiles(prefix='parm2a'),'Susceptibility')
susceptibility = pyalps.collectXY(data,x='T',y='Susceptibility')

#make plot
plt.figure()
plt.title("Antiferromagnetic Heisenberg chain")
pyalps.plot.plot(susceptibility)
plt.show()

When I run the code with alpspython, I get a segmentation fault, but if I
use the standard lattice library and an 'open chain lattice' with 9 sites,
everything works as it should.

Is there anything obviously silly in what I am doing?

2017-08-02 19:14 GMT-03:00 Matthias Troyer <troyer at phys.ethz.ch>:

> You need to create a graph with different coupling types and specify all
> couplings individually.
>
> On 2 Aug 2017, at 13:45, Andre Vieira <apvieira at if.usp.br> wrote:
>
> Hi,
>
> is there a way of using the 'inhomogeneous chain lattice' definition to
> implement an arbitrary nonperiodic but deterministic lattice for QMC
> applications? To be specific, I would like to implement a spin model in
> which, for instance, J(1), J(2), J(3), etc. are all different, but not
> defined by a simple function, nor randomly chosen.
>
> Thanks in advance for your help,
> Andre.
>
>
> ----
> Comp-phys-alps-users Mailing List for the ALPS Project
> http://alps.comp-phys.org/
>
> List info: https://lists.phys.ethz.ch//listinfo/comp-phys-alps-users
> Archive: https://lists.phys.ethz.ch//pipermail/comp-phys-alps-users
>
> Unsubscribe by writing a mail to comp-phys-alps-users-leave@
> lists.phys.ethz.ch.
>
>
>
>
>
> ----
> Comp-phys-alps-users Mailing List for the ALPS Project
> http://alps.comp-phys.org/
>
> List info: https://lists.phys.ethz.ch//listinfo/comp-phys-alps-users
> Archive: https://lists.phys.ethz.ch//pipermail/comp-phys-alps-users
>
> Unsubscribe by writing a mail to comp-phys-alps-users-leave@
> lists.phys.ethz.ch.
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.phys.ethz.ch/pipermail/comp-phys-alps-users/attachments/20170803/36fa9095/attachment.html>


More information about the Comp-phys-alps-users mailing list