Initial commit

This commit is contained in:
Ian Jauslin
2017-09-13 23:29:54 +00:00
commit 52a5942994
29 changed files with 4583 additions and 0 deletions

View File

@ -0,0 +1,32 @@
PROJECTNAME=interaction boundary bounding_loop dimer_contour
LIBS=$(notdir $(wildcard libs/*))
PDFS=$(addsuffix .pdf, $(PROJECTNAME))
SOURCES=$(addsuffix .tikz.tex, $(PROJECTNAME))
all: $(PDFS)
$(PDFS): $(SOURCES) $(LIBS)
echo $(LIBS)
pdflatex -jobname $(basename $@) -file-line-error $(patsubst %.pdf, %.tikz.tex, $@)
$(SOURCES):
python3 dimer_conf.py
$(LIBS):
ln -fs libs/$@ ./
clean-libs:
rm -f $(LIBS)
clean-aux:
rm -f $(addsuffix .aux, $(PROJECTNAME))
rm -f $(addsuffix .log, $(PROJECTNAME))
clean-tex:
rm -f $(PDFS)
clean-sources:
rm -f $(SOURCES)
clean: clean-libs clean-aux clean-tex clean-sources

View File

@ -0,0 +1,289 @@
#!/usr/bin/env python3
import random
from math import *
# size of the grid
L=24
# boundary thickness (must be even)
l0=4
# activity and interaction
z=3
J=5
# draw random dimers in a select area
def fill_dimers(mask,direction):
if(direction=="h"):
d=[1,0]
else:
d=[0,1]
dimers=[]
# keep track of which sites are occupied
occupied=[]
for i in range(L):
occupied.append([])
for j in range(L):
occupied[i].append(0)
for i in range(10000):
# pick a random edge (indexed by its lower-left corner)
e=None
while(e==None or e[0]+d[0]>=L or e[1]+d[1]>=L or mask[e[0]][e[1]]==0 or mask[e[0]+d[0]][e[1]+d[1]]==0):
e=[random.randint(0,L-1),random.randint(0,L-1)]
# check whether a dimer can be added to the edge
if(occupied[e[0]][e[1]]==0 and occupied[e[0]+d[0]][e[1]+d[1]]==0):
# number of interactions
interactions=0
if(e[0]+2*d[0]<L and e[1]+2*d[1]<L and occupied[e[0]+2*d[0]][e[1]+2*d[1]]==1):
interactions=interactions+1
if(e[0]-d[0]>=0 and e[1]-d[1]>=0 and occupied[e[0]-d[0]][e[1]-d[1]]==1):
interactions=interactions+1
# probability of adding the dimer
p=1/(1+1/z*exp(-J*interactions))
if(p>random.random()):
# add dimer
dimers.append(e)
occupied[e[0]][e[1]]=1
occupied[e[0]+d[0]][e[1]+d[1]]=1
return(dimers)
# find interactions
def interactions(dimers,direction):
if(direction=="h"):
d=[1,0]
else:
d=[0,1]
out=[]
for d1 in dimers:
for d2 in dimers:
if(d1[0]-d2[0]==2*d[0] and d1[1]-d2[1]==2*d[1]):
out.append([d2[0]+d[0],d2[1]+d[1]])
return(out)
# find interactions with boundary
def boundary_interactions(dimers,rho):
out=[]
for d in dimers:
for v in rho:
if(d[0]==v[0] and d[1]==v[1]):
out.append([d[0],d[1]-1])
elif(d[0]==v[0] and d[1]==v[1]-1):
out.append([d[0],d[1]+1])
return(out)
# draw dimers
def draw_dimers(v_dimers,h_dimers,file_desc,color):
for d in v_dimers:
print("\\dimer{[color="+color+"]("+str(d[0])+","+str(d[1])+")}v", file=file_desc)
print("", file=file_desc)
for d in h_dimers:
print("\\dimer{[color="+color+"]("+str(d[0])+","+str(d[1])+")}h", file=file_desc)
print("", file=file_desc)
# draw interactions
def draw_interactions(v_interactions,h_interactions,file_desc):
for d in v_interactions:
print("\\interaction{("+str(d[0])+","+str(d[1])+")}v", file=file_desc)
print("", file=file_desc)
for d in h_interactions:
print("\\interaction{("+str(d[0])+","+str(d[1])+")}h", file=file_desc)
print("", file=file_desc)
# draw magnetized part of boundary
def draw_boundary(rho, file_desc):
for v in rho:
print("\\fill[color=red]("+str(v[0])+","+str(v[1])+")circle(10pt);", file=file_desc)
# draw loops
def draw_loops(loops,file_desc,color):
for loop in loops:
print("\\draw[color="+color+", line width=3pt]",end="",file=file_desc)
for e in loop:
print("("+str(e[0])+","+str(e[1])+")--",end="",file=file_desc)
print("cycle;",file=file_desc)
# init tikz file
def init_tikz(filename):
file_desc=open(filename,"w")
print("\\documentclass{standalone}\n\n\\usepackage{tikz}\n\\usepackage{dimer}\n\\usetikzlibrary{decorations.pathmorphing}\n\n\\begin{document}\n\\begin{tikzpicture}\n\n", file=file_desc)
return(file_desc)
# close tikz file
def close_tikz(file_desc):
print("\\end{tikzpicture}\n\\end{document}", file=file_desc)
file_desc.close()
mu=int(L/2)
# loops
loop1=[]
for i in range(0,2*l0):
loop1.append([mu-l0+i,mu+4.5])
for i in range(0,4):
loop1.append([mu+l0-1+0.5,mu+4-i])
for i in range(0,l0):
loop1.append([mu+l0+i,mu+0.5])
for i in range(0,6):
loop1.append([mu+2*l0-1+0.5,mu-i])
for i in range(0,4*l0):
loop1.append([mu+2*l0-1-i,mu-5.5])
for i in range(0,6):
loop1.append([mu-2*l0-0.5,mu-5+i])
for i in range(0,l0):
loop1.append([mu-2*l0+i,mu+0.5])
for i in range(0,4):
loop1.append([mu-l0-0.5,mu+1+i])
# core of loop1
core_loop1=[]
for i in range(0,2*l0-4):
core_loop1.append([mu-l0+2+i,mu+3.5])
for i in range(0,3):
core_loop1.append([mu+l0-3+0.5,mu+3-i])
core_loop1.append([mu+l0-2,mu+0.5])
core_loop1.append([mu+l0-1,mu+0.5])
for i in range(0,l0-2):
core_loop1.append([mu+l0+i,mu-1+0.5])
for i in range(0,4):
core_loop1.append([mu+2*l0-3+0.5,mu-1-i])
for i in range(0,4*l0-4):
core_loop1.append([mu+2*l0-3-i,mu-4.5])
for i in range(0,4):
core_loop1.append([mu-2*l0+2-0.5,mu-4+i])
for i in range(0,l0-2):
core_loop1.append([mu-2*l0+2+i,mu-1+0.5])
core_loop1.append([mu-l0,mu+0.5])
core_loop1.append([mu-l0+1,mu+0.5])
for i in range(0,3):
core_loop1.append([mu-l0+2-0.5,mu+1+i])
loop2=[[mu-1,mu+2.5],[mu-0.5,mu+2],[mu-0.5,mu+1],[mu-1,mu+0.5],[mu-1.5,mu+1],[mu-1.5,mu+2]]
loop3=[[mu-1,mu-1.5],[mu,mu-1.5],[mu+0.5,mu-2],[mu+0.5,mu-3],[mu,mu-3.5],[mu-1,mu-3.5],[mu-1.5,mu-3],[mu-1.5,mu-2]]
loops=[loop1,loop2,loop3]
# masks
# init
v_mask=[]
h_mask=[]
for i in range(L):
v_mask.append([])
h_mask.append([])
for j in range(L):
v_mask[i].append(1)
h_mask[i].append(0)
# draw masks
for i in range(mu-l0,mu+l0):
for j in range(mu+1,mu+5):
v_mask[i][j]=0
for i in range(mu-2*l0,mu+2*l0):
for j in range(mu-5,mu+1):
v_mask[i][j]=0
for i in range(mu-l0+2,mu+l0-2):
for j in range(mu+1,mu+4):
h_mask[i][j]=1
for i in range(mu-l0,mu+l0):
h_mask[i][mu]=1
for i in range(mu-2*l0+2,mu+2*l0-2):
for j in range(mu-4,mu):
h_mask[i][j]=1
h_mask[mu-1][mu+1]=0
h_mask[mu-1][mu+2]=0
h_mask[mu-1][mu-3]=0
h_mask[mu-1][mu-2]=0
h_mask[mu][mu-3]=0
h_mask[mu][mu-2]=0
# random dimers in mask
v_dimers=fill_dimers(v_mask,"v")
h_dimers=fill_dimers(h_mask,"h")
# mantle dimers
h_mantle=[]
for i in range(0,l0):
h_mantle.append([mu-l0+2*i,mu+4])
for i in range(0,4):
h_mantle.append([mu+l0-2,mu+4-i])
h_mantle.append([mu-l0,mu+4-i])
for i in range(0,int(l0/2)):
h_mantle.append([mu+l0+2*i,mu])
h_mantle.append([mu-l0-2-2*i,mu])
for i in range(0,5):
h_mantle.append([mu+2*l0-2,mu-i])
h_mantle.append([mu-2*l0,mu-i])
for i in range(0,2*l0):
h_mantle.append([mu-2*l0+2*i,mu-5])
v_mantle=[]
v_mantle.append([mu-1,mu+1])
v_mantle.append([mu-1,mu-3])
v_mantle.append([mu,mu-3])
# interactions
v_interactions=interactions(v_dimers+v_mantle,"v")
h_interactions=interactions(h_dimers+h_mantle,"h")
# magnetized part of the boundary
rho=[]
for i in range(0,L):
if(random.randint(0,1)==0):
rho.append([i,0])
if(random.randint(0,1)==0):
rho.append([i,L-1])
# files
interaction=init_tikz("interaction.tikz.tex")
print("\\grid{"+str(L-1)+"}{"+str(L-1)+"}{(0,0)}\n", file=interaction)
draw_interactions(v_interactions,h_interactions,interaction)
draw_dimers(v_dimers+v_mantle,h_dimers+h_mantle,interaction,"black")
close_tikz(interaction)
boundary=init_tikz("boundary.tikz.tex")
print("\\fill[color=cyan](-0.5,-0.5)--++("+str(L)+",0)--++(0,"+str(l0)+")--++("+str(-L)+",0)--cycle;", file=boundary)
print("\\fill[color=cyan](-0.5,"+str(L-l0-0.5)+")--++("+str(L)+",0)--++(0,"+str(l0)+")--++("+str(-L)+",0)--cycle;", file=boundary)
print("", file=boundary)
draw_boundary(rho,boundary)
print("\\grid{"+str(L-1)+"}{"+str(L-1)+"}{(0,0)}\n", file=boundary)
draw_interactions(boundary_interactions(v_dimers,rho),[],boundary)
draw_dimers(v_dimers+v_mantle,h_dimers+h_mantle,boundary,"black")
close_tikz(boundary)
bounding_loop=init_tikz("bounding_loop.tikz.tex")
print("\\begin{scope}", file=bounding_loop)
print(" \\clip", end="", file=bounding_loop)
for e in loop1:
print("("+str(e[0])+","+str(e[1])+")--", end="", file=bounding_loop)
print("cycle;",file=bounding_loop)
print(" \\fill[color=cyan]("+str(mu-2*l0-2)+","+str(mu-7)+")--++("+str(4*l0+3)+",0)--++(0,13)--++("+str(-4*l0-3)+",0);", file=bounding_loop)
print(" \\fill[color=red]", end="", file=bounding_loop)
for e in core_loop1:
print("("+str(e[0])+","+str(e[1])+")--", end="", file=bounding_loop)
print("cycle;",file=bounding_loop)
print("\\end{scope}\n", file=bounding_loop)
print("\\grid{"+str(4*l0+3)+"}{"+str(13)+"}{("+str(mu-2*l0-2)+","+str(mu-7)+")}\n", file=bounding_loop)
draw_loops([loop1],bounding_loop,"black")
close_tikz(bounding_loop)
contour=init_tikz("dimer_contour.tikz.tex")
print("\\draw[color=green, line width=15pt]("+str(mu-2-0.5)+","+str(mu+1)+")--++(1,0);", file=contour)
print("\\draw[color=green, line width=15pt]("+str(mu-2-0.5)+","+str(mu+2)+")--++(1,0);", file=contour)
print("\\draw[color=green, line width=15pt]("+str(mu-0.5)+","+str(mu+1)+")--++(2,0);", file=contour)
print("\\draw[color=green, line width=15pt]("+str(mu-0.5)+","+str(mu+2)+")--++(2,0);", file=contour)
print("\\grid{"+str(L-1)+"}{"+str(L-1)+"}{(0,0)}\n", file=contour)
draw_loops([loop1,loop2],contour,"green")
draw_loops([loop3],contour,"blue")
draw_interactions(v_interactions,h_interactions,contour)
draw_dimers(v_dimers,h_dimers,contour,"black")
draw_dimers(v_mantle,h_mantle,contour,"gray")
close_tikz(contour)

View File

@ -0,0 +1 @@
../../libs/dimer.sty

25
figs/libs/Makefile Normal file
View File

@ -0,0 +1,25 @@
PROJECTNAME=$(basename $(basename $(wildcard *.tikz.tex)))
LIBS=$(notdir $(wildcard libs/*))
PDFS=$(addsuffix .pdf, $(PROJECTNAME))
all: $(PDFS)
$(PDFS): $(LIBS)
echo $(LIBS)
pdflatex -jobname $(basename $@) -file-line-error $(patsubst %.pdf, %.tikz.tex, $@)
$(LIBS):
ln -fs libs/$@ ./
clean-libs:
rm -f $(LIBS)
clean-aux:
rm -f $(addsuffix .aux, $(PROJECTNAME))
rm -f $(addsuffix .log, $(PROJECTNAME))
clean-tex:
rm -f $(PDFS)
clean: clean-libs clean-aux clean-tex

33
figs/libs/dimer.sty Normal file
View File

@ -0,0 +1,33 @@
% square lattice (width #1, height #2, origin #3)
\def\grid#1#2#3{
\foreach\i in {0,...,#2}{
\draw#3++(0,\i)--++(#1,0);
}
\foreach\i in {0,...,#1}{
\draw#3++(\i,0)--++(0,#2);
}
}
% dimer (bottom-left vertex #1, vertical or horizontal #2)
\def\dimer#1#2{
\if#2h
\draw[line width=5pt]#1--++(1,0);
\fill#1circle(7pt);
\fill#1++(1,0)circle(7pt);
\else
\draw[line width=5pt]#1--++(0,1);
\fill#1circle(7pt);
\fill#1++(0,1)circle(7pt);
\fi
}
% interactions (bottom-left vertex #1, vertical or horizontal #2)
\def\interaction#1#2{
\if#2h
\draw[line width=5pt, color=white]#1--++(1,0);
\draw[line width=4pt, decorate, decoration={snake}, color=red]#1--++(1,0);
\else
\draw[line width=5pt, color=white]#1--++(0,1);
\draw[line width=4pt, decorate, decoration={snake}, color=red]#1--++(0,1);
\fi
}

View File

@ -0,0 +1 @@
../libs/Makefile

View File

@ -0,0 +1,69 @@
\documentclass{standalone}
\usepackage{tikz}
\usepackage{dimer}
\begin{document}
\begin{tikzpicture}
%% mantles
% blue
\fill[color=red](2,6.5)--++(13,0)--++(0.5,0.5)--++(0,8)--++(-0.5,0.5)--++(-13,0)--++(-0.5,-0.5)--++(0,-8)--cycle;
\fill[color=white](4,7.5)--++(9,0)--++(0.5,0.5)--++(0,6)--++(-0.5,0.5)--++(-9,0)--++(-0.5,-0.5)--++(0,-6)--cycle;
% red
\fill[color=red](6,8.5)--++(4,0)--++(0.5,0.5)--++(0,5)--++(-0.5,0.5)--++(-4,0)--++(-0.5,-0.5)--++(0,-5)--cycle;
\fill[color=white](7,10.5)--++(2,0)--++(0.5,0.5)--++(0,1)--++(-0.5,0.5)--++(-2,0)--++(-0.5,-0.5)--++(0,-1)--cycle;
% teal
\fill[color=blue](9,19.5)--++(9,0)--++(0.5,-0.5)--++(0,-10)--++(0.5,-0.5)--++(15,0)--++(0.5,0.5)--++(0,22)--++(-0.5,0.5)--++(-25,0)--++(-0.5,-0.5)--++(0,-11)--cycle;
\fill[color=white](11,20.5)--++(7,0)--++(0.5,-0.5)--++(0.5,-0.5)--++(1,0)--++(0.5,-0.5)--++(0,-9)--++(0.5,-0.5)--++(11,0)--++(0.5,0.5)--++(0,20)--++(-0.5,0.5)--++(-21,0)--++(-0.5,-0.5)--++(0,-9)--cycle;
% magenta
\fill[color=blue](13,21.5)--++(18,0)--++(0.5,0.5)--++(0,7)--++(-0.5,0.5)--++(-18,0)--++(-0.5,-0.5)--++(0,-7)--cycle;
\fill[color=white](14,23.5)--++(16,0)--++(0.5,0.5)--++(0,3)--++(-0.5,0.5)--++(-16,0)--++(-0.5,-0.5)--++(0,-3)--cycle;
% cyan
\fill[color=blue](23,11.5)--++(7,0)--++(0.5,0.5)--++(0,5)--++(-0.5,0.5)--++(-7,0)--++(-0.5,-0.5)--++(0,-5)--cycle;
\fill[color=white](24,13.5)--++(5,0)--++(0.5,0.5)--++(0,1)--++(-0.5,0.5)--++(-5,0)--++(-0.5,-0.5)--++(0,-1)--cycle;
% orange
\fill[color=blue](15,23.5)--++(5,0)--++(0.5,0.5)--++(0,3)--++(-0.5,0.5)--++(-5,0)--++(-0.5,-0.5)--++(0,-3)--cycle;
\fill[color=white](17,24.5)--++(1,0)--++(0.5,0.5)--++(0,1)--++(-0.5,0.5)--++(-1,0)--++(-0.5,-0.5)--++(0,-1)--cycle;
% green
\fill[color=blue](23,24.5)--++(3,0)--++(0.5,0.5)--++(0,1)--++(-0.5,0.5)--++(-3,0)--++(-0.5,-0.5)--++(0,-1)--cycle;
%% segments
\foreach \i in {9,...,14}{
\draw[color=red, line width=15pt](3.5,\i)--++(2,0);
\draw[color=red, line width=15pt](10.5,\i)--++(3,0);
}
\foreach \i in {12,...,17}{
\draw[color=blue, line width=15pt](20.5,\i)--++(2,0);
\draw[color=blue, line width=15pt](30.5,\i)--++(2,0);
}
\foreach \i in {22,...,29}{
\draw[color=blue, line width=15pt](10.5,\i)--++(2,0);
\draw[color=blue, line width=15pt](31.5,\i)--++(1,0);
}
\foreach \i in {23,...,26}{
\draw[color=blue, line width=15pt](\i,23.5)--++(0,1);
\draw[color=blue, line width=15pt](\i,26.5)--++(0,1);
}
%% grid
\grid{36}{36}{[color=lightgray](0,0)}
%% loops
\draw[color=black, line width=5pt](2,6.5)--++(13,0)--++(0.5,0.5)--++(0,8)--++(-0.5,0.5)--++(-13,0)--++(-0.5,-0.5)--++(0,-8)--cycle;
\draw[color=black, line width=5pt](6,8.5)--++(4,0)--++(0.5,0.5)--++(0,5)--++(-0.5,0.5)--++(-4,0)--++(-0.5,-0.5)--++(0,-5)--cycle;
\draw[color=black, line width=5pt](9,19.5)--++(9,0)--++(0.5,-0.5)--++(0,-10)--++(0.5,-0.5)--++(15,0)--++(0.5,0.5)--++(0,22)--++(-0.5,0.5)--++(-25,0)--++(-0.5,-0.5)--++(0,-11)--cycle;
\draw[color=black, line width=5pt](13,21.5)--++(18,0)--++(0.5,0.5)--++(0,7)--++(-0.5,0.5)--++(-18,0)--++(-0.5,-0.5)--++(0,-7)--cycle;
\draw[color=black, line width=5pt](23,11.5)--++(7,0)--++(0.5,0.5)--++(0,5)--++(-0.5,0.5)--++(-7,0)--++(-0.5,-0.5)--++(0,-5)--cycle;
\draw[color=black, line width=5pt](15,23.5)--++(5,0)--++(0.5,0.5)--++(0,3)--++(-0.5,0.5)--++(-5,0)--++(-0.5,-0.5)--++(0,-3)--cycle;
\draw[color=black, line width=5pt](23,24.5)--++(3,0)--++(0.5,0.5)--++(0,1)--++(-0.5,0.5)--++(-3,0)--++(-0.5,-0.5)--++(0,-1)--cycle;
\end{tikzpicture}
\end{document}

View File

@ -0,0 +1,45 @@
\documentclass{standalone}
\usepackage{tikz}
\usepackage{dimer}
\begin{document}
\begin{tikzpicture}
\path(0,0)coordinate(root);
\path(root)++(45:1)coordinate(teal);
\path(root)++(135:1)coordinate(blue);
\path(blue)++(135:1)coordinate(red);
\path(teal)++(135:1)coordinate(cyan);
\path(teal)++(45:1)coordinate(magenta);
\path(magenta)++(135:1)coordinate(orange);
\path(magenta)++(45:1)coordinate(green);
\draw(root)--(teal);
\draw(root)--(blue);
\draw(blue)--(red);
\draw(teal)--(cyan);
\draw(teal)--(magenta);
\draw(magenta)--(orange);
\draw(magenta)--(green);
\fill[color=black](root)circle(3pt);
\fill[color=teal](teal)circle(3pt);
\fill[color=blue](blue)circle(3pt);
\fill[color=red](red)circle(3pt);
\fill[color=cyan](cyan)circle(3pt);
\fill[color=magenta](magenta)circle(3pt);
\fill[color=orange](orange)circle(3pt);
\fill[color=green](green)circle(3pt);
\draw[color=black](blue)++(-135:0.3)node{\footnotesize\it a};
\draw[color=black](red)++(-135:0.3)node{\footnotesize\it b};
\draw[color=black](teal)++(-45:0.3)node{\footnotesize\it c};
\draw[color=black](magenta)++(-45:0.3)node{\footnotesize\it d};
\draw[color=black](cyan)++(-135:0.3)node{\footnotesize\it e};
\draw[color=black](orange)++(-135:0.3)node{\footnotesize\it f};
\draw[color=black](green)++(-45:0.3)node{\footnotesize\it g};
\end{tikzpicture}
\end{document}

View File

@ -0,0 +1 @@
../../libs/dimer.sty

View File

@ -0,0 +1,30 @@
\documentclass{standalone}
\usepackage{tikz}
\usepackage{dimer}
\begin{document}
\begin{tikzpicture}
\path(0,0)coordinate(blue);
\path(blue)++(45:1)coordinate(red);
\path(blue)++(135:1)coordinate(teal);
\path(teal)++(135:1)coordinate(cyan);
\draw(blue)--(red);
\draw(blue)--(teal);
\draw(teal)--(cyan);
\fill[color=blue](blue)circle(3pt);
\fill[color=red](red)circle(3pt);
\fill[color=teal](teal)circle(3pt);
\fill[color=cyan](cyan)circle(3pt);
\draw[color=black](blue)++(-135:0.3)node{\footnotesize\it a};
\draw[color=black](red)++(-45:0.3)node{\footnotesize\it b};
\draw[color=black](teal)++(-135:0.3)node{\footnotesize\it c};
\draw[color=black](cyan)++(-135:0.3)node{\footnotesize\it e};
\end{tikzpicture}
\end{document}

View File

@ -0,0 +1,76 @@
\documentclass{standalone}
\usepackage{tikz}
\usepackage{dimer}
\begin{document}
\begin{tikzpicture}[scale=0.2]
%% mantles
% blue
\fill[color=blue](2,6.5)--++(13,0)--++(0.5,0.5)--++(0,8)--++(-0.5,0.5)--++(-13,0)--++(-0.5,-0.5)--++(0,-8)--cycle;
\fill[color=white](4,7.5)--++(9,0)--++(0.5,0.5)--++(0,6)--++(-0.5,0.5)--++(-9,0)--++(-0.5,-0.5)--++(0,-6)--cycle;
% red
\fill[color=red](6,8.5)--++(4,0)--++(0.5,0.5)--++(0,5)--++(-0.5,0.5)--++(-4,0)--++(-0.5,-0.5)--++(0,-5)--cycle;
\fill[color=white](7,10.5)--++(2,0)--++(0.5,0.5)--++(0,1)--++(-0.5,0.5)--++(-2,0)--++(-0.5,-0.5)--++(0,-1)--cycle;
% teal
\fill[color=teal](9,19.5)--++(9,0)--++(0.5,-0.5)--++(0,-10)--++(0.5,-0.5)--++(15,0)--++(0.5,0.5)--++(0,22)--++(-0.5,0.5)--++(-25,0)--++(-0.5,-0.5)--++(0,-11)--cycle;
\fill[color=white](11,20.5)--++(7,0)--++(0.5,-0.5)--++(0.5,-0.5)--++(1,0)--++(0.5,-0.5)--++(0,-9)--++(0.5,-0.5)--++(11,0)--++(0.5,0.5)--++(0,20)--++(-0.5,0.5)--++(-21,0)--++(-0.5,-0.5)--++(0,-9)--cycle;
% magenta
\fill[color=teal](13,21.5)--++(18,0)--++(0.5,0.5)--++(0,7)--++(-0.5,0.5)--++(-18,0)--++(-0.5,-0.5)--++(0,-7)--cycle;
\fill[color=white](14,23.5)--++(16,0)--++(0.5,0.5)--++(0,3)--++(-0.5,0.5)--++(-16,0)--++(-0.5,-0.5)--++(0,-3)--cycle;
% cyan
\fill[color=cyan](23,11.5)--++(7,0)--++(0.5,0.5)--++(0,5)--++(-0.5,0.5)--++(-7,0)--++(-0.5,-0.5)--++(0,-5)--cycle;
\fill[color=white](24,13.5)--++(5,0)--++(0.5,0.5)--++(0,1)--++(-0.5,0.5)--++(-5,0)--++(-0.5,-0.5)--++(0,-1)--cycle;
% orange
\fill[color=teal](15,23.5)--++(5,0)--++(0.5,0.5)--++(0,3)--++(-0.5,0.5)--++(-5,0)--++(-0.5,-0.5)--++(0,-3)--cycle;
\fill[color=white](17,24.5)--++(1,0)--++(0.5,0.5)--++(0,1)--++(-0.5,0.5)--++(-1,0)--++(-0.5,-0.5)--++(0,-1)--cycle;
% green
\fill[color=teal](23,24.5)--++(3,0)--++(0.5,0.5)--++(0,1)--++(-0.5,0.5)--++(-3,0)--++(-0.5,-0.5)--++(0,-1)--cycle;
%% segments
\draw[color=teal, line width=3pt](10,15.5)--++(0,4);
\draw[color=red, line width=3pt](3.5,12)--++(2,0);
\draw[color=cyan, line width=3pt](20.5,14)--++(2,0);
\foreach \i in {22,...,29}{
\draw[color=teal, line width=3pt](31.5,\i)--++(1,0);
}
\foreach \i in {23,...,26}{
\draw[color=teal, line width=3pt](\i,23.5)--++(0,1);
\draw[color=teal, line width=3pt](\i,26.5)--++(0,1);
}
%% grid
\grid{36}{36}{[color=lightgray](0,0)}
%% loops
\draw[color=black, line width=1pt](2,6.5)--++(13,0)--++(0.5,0.5)--++(0,8)--++(-0.5,0.5)--++(-13,0)--++(-0.5,-0.5)--++(0,-8)--cycle;
\draw[color=black](2,16.5)node{\it a};
\draw[color=black, line width=1pt](6,8.5)--++(4,0)--++(0.5,0.5)--++(0,5)--++(-0.5,0.5)--++(-4,0)--++(-0.5,-0.5)--++(0,-5)--cycle;
\draw[color=black](4.5,13)node{\it b};
\draw[color=black, line width=1pt](9,19.5)--++(9,0)--++(0.5,-0.5)--++(0,-10)--++(0.5,-0.5)--++(15,0)--++(0.5,0.5)--++(0,22)--++(-0.5,0.5)--++(-25,0)--++(-0.5,-0.5)--++(0,-11)--cycle;
\draw[color=black](9,32.5)node{\it c};
\draw[color=black, line width=1pt](13,21.5)--++(18,0)--++(0.5,0.5)--++(0,7)--++(-0.5,0.5)--++(-18,0)--++(-0.5,-0.5)--++(0,-7)--cycle;
\draw[color=black, line width=1pt](23,11.5)--++(7,0)--++(0.5,0.5)--++(0,5)--++(-0.5,0.5)--++(-7,0)--++(-0.5,-0.5)--++(0,-5)--cycle;
\draw[color=black](23,18.5)node{\it e};
\draw[color=black, line width=1pt](15,23.5)--++(5,0)--++(0.5,0.5)--++(0,3)--++(-0.5,0.5)--++(-5,0)--++(-0.5,-0.5)--++(0,-3)--cycle;
\draw[color=black, line width=1pt](23,24.5)--++(3,0)--++(0.5,0.5)--++(0,1)--++(-0.5,0.5)--++(-3,0)--++(-0.5,-0.5)--++(0,-1)--cycle;
\end{tikzpicture}
\end{document}

View File

@ -0,0 +1,34 @@
\documentclass{standalone}
\usepackage{tikz}
\usepackage{dimer}
\begin{document}
\begin{tikzpicture}[scale=0.2]
\grid{36}{36}{[color=lightgray](0,0)}
\draw[color=blue, line width=1pt](2,6.5)--++(13,0)--++(0.5,0.5)--++(0,8)--++(-0.5,0.5)--++(-13,0)--++(-0.5,-0.5)--++(0,-8)--cycle;
\draw[color=black](2,16.5)node{\it a};
\draw[color=red, line width=1pt](6,8.5)--++(4,0)--++(0.5,0.5)--++(0,5)--++(-0.5,0.5)--++(-4,0)--++(-0.5,-0.5)--++(0,-5)--cycle;
\draw[color=black](4.5,13)node{\it b};
\draw[color=teal, line width=1pt](9,19.5)--++(9,0)--++(0.5,-0.5)--++(0,-10)--++(0.5,-0.5)--++(15,0)--++(0.5,0.5)--++(0,22)--++(-0.5,0.5)--++(-25,0)--++(-0.5,-0.5)--++(0,-11)--cycle;
\draw[color=black](9,32.5)node{\it c};
\draw[color=magenta, line width=1pt](13,21.5)--++(18,0)--++(0.5,0.5)--++(0,7)--++(-0.5,0.5)--++(-18,0)--++(-0.5,-0.5)--++(0,-7)--cycle;
\draw[color=black](13,30.5)node{\it d};
\draw[color=cyan, line width=1pt](23,11.5)--++(7,0)--++(0.5,0.5)--++(0,5)--++(-0.5,0.5)--++(-7,0)--++(-0.5,-0.5)--++(0,-5)--cycle;
\draw[color=black](23,18.5)node{\it e};
\draw[color=orange, line width=1pt](15,23.5)--++(5,0)--++(0.5,0.5)--++(0,3)--++(-0.5,0.5)--++(-5,0)--++(-0.5,-0.5)--++(0,-3)--cycle;
\draw[color=black](15,28.5)node{\it f};
\draw[color=green, line width=1pt](23,24.5)--++(3,0)--++(0.5,0.5)--++(0,1)--++(-0.5,0.5)--++(-3,0)--++(-0.5,-0.5)--++(0,-1)--cycle;
\draw[color=black](23,27.5)node{\it g};
\end{tikzpicture}
\end{document}

View File

@ -0,0 +1,76 @@
\documentclass{standalone}
\usepackage{tikz}
\usepackage{dimer}
\begin{document}
\begin{tikzpicture}
%% mantles
% blue
\fill[color=gray](2,6.5)--++(13,0)--++(0.5,0.5)--++(0,8)--++(-0.5,0.5)--++(-13,0)--++(-0.5,-0.5)--++(0,-8)--cycle;
\fill[color=white](4,7.5)--++(9,0)--++(0.5,0.5)--++(0,6)--++(-0.5,0.5)--++(-9,0)--++(-0.5,-0.5)--++(0,-6)--cycle;
% red
\fill[color=gray](6,8.5)--++(4,0)--++(0.5,0.5)--++(0,5)--++(-0.5,0.5)--++(-4,0)--++(-0.5,-0.5)--++(0,-5)--cycle;
\fill[color=white](7,10.5)--++(2,0)--++(0.5,0.5)--++(0,1)--++(-0.5,0.5)--++(-2,0)--++(-0.5,-0.5)--++(0,-1)--cycle;
% teal
\fill[color=gray](9,19.5)--++(9,0)--++(0.5,-0.5)--++(0,-10)--++(0.5,-0.5)--++(15,0)--++(0.5,0.5)--++(0,22)--++(-0.5,0.5)--++(-25,0)--++(-0.5,-0.5)--++(0,-11)--cycle;
\fill[color=white](11,20.5)--++(7,0)--++(0.5,-0.5)--++(0.5,-0.5)--++(1,0)--++(0.5,-0.5)--++(0,-9)--++(0.5,-0.5)--++(11,0)--++(0.5,0.5)--++(0,20)--++(-0.5,0.5)--++(-21,0)--++(-0.5,-0.5)--++(0,-9)--cycle;
% magenta
\fill[color=gray](13,21.5)--++(18,0)--++(0.5,0.5)--++(0,7)--++(-0.5,0.5)--++(-18,0)--++(-0.5,-0.5)--++(0,-7)--cycle;
\fill[color=white](14,23.5)--++(16,0)--++(0.5,0.5)--++(0,3)--++(-0.5,0.5)--++(-16,0)--++(-0.5,-0.5)--++(0,-3)--cycle;
% cyan
\fill[color=gray](23,11.5)--++(7,0)--++(0.5,0.5)--++(0,5)--++(-0.5,0.5)--++(-7,0)--++(-0.5,-0.5)--++(0,-5)--cycle;
\fill[color=white](24,13.5)--++(5,0)--++(0.5,0.5)--++(0,1)--++(-0.5,0.5)--++(-5,0)--++(-0.5,-0.5)--++(0,-1)--cycle;
% orange
\fill[color=gray](15,23.5)--++(5,0)--++(0.5,0.5)--++(0,3)--++(-0.5,0.5)--++(-5,0)--++(-0.5,-0.5)--++(0,-3)--cycle;
\fill[color=white](17,24.5)--++(1,0)--++(0.5,0.5)--++(0,1)--++(-0.5,0.5)--++(-1,0)--++(-0.5,-0.5)--++(0,-1)--cycle;
% green
\fill[color=gray](23,24.5)--++(3,0)--++(0.5,0.5)--++(0,1)--++(-0.5,0.5)--++(-3,0)--++(-0.5,-0.5)--++(0,-1)--cycle;
%% segments
\draw[color=gray, line width=15pt](4,-0.5)--++(0,7);
\draw[color=gray, line width=15pt](10,15.5)--++(0,4);
\draw[color=gray, line width=15pt](11,15.5)--++(0,4);
\draw[color=gray, line width=15pt](9,31.5)--++(0,5);
\foreach \i in {9,...,14}{
\draw[color=gray, line width=15pt](3.5,\i)--++(2,0);
\draw[color=gray, line width=15pt](10.5,\i)--++(3,0);
}
\foreach \i in {12,...,17}{
\draw[color=gray, line width=15pt](20.5,\i)--++(2,0);
\draw[color=gray, line width=15pt](30.5,\i)--++(2,0);
}
\foreach \i in {22,...,29}{
\draw[color=gray, line width=15pt](10.5,\i)--++(2,0);
\draw[color=gray, line width=15pt](31.5,\i)--++(1,0);
}
\foreach \i in {23,...,26}{
\draw[color=gray, line width=15pt](\i,23.5)--++(0,1);
\draw[color=gray, line width=15pt](\i,26.5)--++(0,1);
}
%% grid
\grid{36}{36}{[color=lightgray](0,0)}
%% loops
\draw[color=black, line width=5pt](2,6.5)--++(13,0)--++(0.5,0.5)--++(0,8)--++(-0.5,0.5)--++(-13,0)--++(-0.5,-0.5)--++(0,-8)--cycle;
\draw[color=black, line width=5pt](6,8.5)--++(4,0)--++(0.5,0.5)--++(0,5)--++(-0.5,0.5)--++(-4,0)--++(-0.5,-0.5)--++(0,-5)--cycle;
\draw[color=black, line width=5pt](9,19.5)--++(9,0)--++(0.5,-0.5)--++(0,-10)--++(0.5,-0.5)--++(15,0)--++(0.5,0.5)--++(0,22)--++(-0.5,0.5)--++(-25,0)--++(-0.5,-0.5)--++(0,-11)--cycle;
\draw[color=black, line width=5pt](13,21.5)--++(18,0)--++(0.5,0.5)--++(0,7)--++(-0.5,0.5)--++(-18,0)--++(-0.5,-0.5)--++(0,-7)--cycle;
\draw[color=black, line width=5pt](23,11.5)--++(7,0)--++(0.5,0.5)--++(0,5)--++(-0.5,0.5)--++(-7,0)--++(-0.5,-0.5)--++(0,-5)--cycle;
\draw[color=black, line width=5pt](15,23.5)--++(5,0)--++(0.5,0.5)--++(0,3)--++(-0.5,0.5)--++(-5,0)--++(-0.5,-0.5)--++(0,-3)--cycle;
\draw[color=black, line width=5pt](23,24.5)--++(3,0)--++(0.5,0.5)--++(0,1)--++(-0.5,0.5)--++(-3,0)--++(-0.5,-0.5)--++(0,-1)--cycle;
\end{tikzpicture}
\end{document}

View File

@ -0,0 +1,132 @@
\documentclass{standalone}
\usepackage{tikz}
\usepackage{dimer}
\begin{document}
\begin{tikzpicture}
%% mantles
% blue
\fill[color=blue](2,6.5)--++(13,0)--++(0.5,0.5)--++(0,8)--++(-0.5,0.5)--++(-13,0)--++(-0.5,-0.5)--++(0,-8)--cycle;
\fill[color=white](4,7.5)--++(9,0)--++(0.5,0.5)--++(0,6)--++(-0.5,0.5)--++(-9,0)--++(-0.5,-0.5)--++(0,-6)--cycle;
% red
\fill[color=red](6,8.5)--++(4,0)--++(0.5,0.5)--++(0,5)--++(-0.5,0.5)--++(-4,0)--++(-0.5,-0.5)--++(0,-5)--cycle;
\fill[color=white](7,10.5)--++(2,0)--++(0.5,0.5)--++(0,1)--++(-0.5,0.5)--++(-2,0)--++(-0.5,-0.5)--++(0,-1)--cycle;
% teal
\fill[color=teal](9,19.5)--++(9,0)--++(0.5,-0.5)--++(0,-10)--++(0.5,-0.5)--++(15,0)--++(0.5,0.5)--++(0,22)--++(-0.5,0.5)--++(-25,0)--++(-0.5,-0.5)--++(0,-11)--cycle;
\fill[color=white](11,20.5)--++(7,0)--++(0.5,-0.5)--++(0.5,-0.5)--++(1,0)--++(0.5,-0.5)--++(0,-9)--++(0.5,-0.5)--++(11,0)--++(0.5,0.5)--++(0,20)--++(-0.5,0.5)--++(-21,0)--++(-0.5,-0.5)--++(0,-9)--cycle;
% magenta
\fill[color=magenta](13,21.5)--++(18,0)--++(0.5,0.5)--++(0,7)--++(-0.5,0.5)--++(-18,0)--++(-0.5,-0.5)--++(0,-7)--cycle;
\fill[color=white](14,23.5)--++(16,0)--++(0.5,0.5)--++(0,3)--++(-0.5,0.5)--++(-16,0)--++(-0.5,-0.5)--++(0,-3)--cycle;
% cyan
\fill[color=cyan](23,11.5)--++(7,0)--++(0.5,0.5)--++(0,5)--++(-0.5,0.5)--++(-7,0)--++(-0.5,-0.5)--++(0,-5)--cycle;
\fill[color=white](24,13.5)--++(5,0)--++(0.5,0.5)--++(0,1)--++(-0.5,0.5)--++(-5,0)--++(-0.5,-0.5)--++(0,-1)--cycle;
% orange
\fill[color=orange](15,23.5)--++(5,0)--++(0.5,0.5)--++(0,3)--++(-0.5,0.5)--++(-5,0)--++(-0.5,-0.5)--++(0,-3)--cycle;
\fill[color=white](17,24.5)--++(1,0)--++(0.5,0.5)--++(0,1)--++(-0.5,0.5)--++(-1,0)--++(-0.5,-0.5)--++(0,-1)--cycle;
% green
\fill[color=green](23,24.5)--++(3,0)--++(0.5,0.5)--++(0,1)--++(-0.5,0.5)--++(-3,0)--++(-0.5,-0.5)--++(0,-1)--cycle;
%% segments
\foreach \i in {0,...,1}{
\draw[color=gray, line width=15pt](\i,-0.5)--++(0,37);
}
\foreach \i in {2,...,8}{
\draw[color=gray, line width=15pt](\i,-0.5)--++(0,7);
\draw[color=gray, line width=15pt](\i,15.5)--++(0,21);
}
\foreach \i in {9,...,15}{
\draw[color=gray, line width=15pt](\i,-0.5)--++(0,7);
\draw[color=gray, line width=15pt](\i,15.5)--++(0,4);
\draw[color=gray, line width=15pt](\i,31.5)--++(0,5);
}
\foreach \i in {16,...,18}{
\draw[color=gray, line width=15pt](\i,-0.5)--++(0,20);
\draw[color=gray, line width=15pt](\i,31.5)--++(0,5);
}
\foreach \i in {19,...,34}{
\draw[color=gray, line width=15pt](\i,-0.5)--++(0,9);
\draw[color=gray, line width=15pt](\i,31.5)--++(0,5);
}
\foreach \i in {35,...,36}{
\draw[color=gray, line width=15pt](\i,-0.5)--++(0,37);
}
\draw[color=blue, line width=15pt](3.5,8)--++(10,0);
\foreach \i in {9,...,14}{
\draw[color=blue, line width=15pt](3.5,\i)--++(2,0);
\draw[color=blue, line width=15pt](10.5,\i)--++(3,0);
}
\foreach \i in {7,...,9}{
\draw[color=red, line width=15pt](\i,10.5)--++(0,2);
}
\foreach \i in {10,...,11}{
\draw[color=teal, line width=15pt](20.5,\i)--++(12,0);
}
\foreach \i in {12,...,17}{
\draw[color=teal, line width=15pt](20.5,\i)--++(2,0);
\draw[color=teal, line width=15pt](30.5,\i)--++(2,0);
}
\foreach \i in {18,...,19}{
\draw[color=teal, line width=15pt](20.5,\i)--++(12,0);
}
\draw[color=teal, line width=15pt](18.5,20)--++(14,0);
\draw[color=teal, line width=15pt](10.5,21)--++(22,0);
\foreach \i in {22,...,29}{
\draw[color=teal, line width=15pt](10.5,\i)--++(2,0);
\draw[color=teal, line width=15pt](31.5,\i)--++(1,0);
}
\draw[color=teal, line width=15pt](10.5,30)--++(22,0);
\foreach \i in {24,...,29}{
\draw[color=cyan, line width=15pt](\i,13.5)--++(0,2);
}
\draw[color=magenta, line width=15pt](14,23.5)--++(0,4);
\foreach \i in {21,...,22}{
\draw[color=magenta, line width=15pt](\i,23.5)--++(0,4);
}
\foreach \i in {23,...,26}{
\draw[color=magenta, line width=15pt](\i,23.5)--++(0,1);
\draw[color=magenta, line width=15pt](\i,26.5)--++(0,1);
}
\foreach \i in {27,...,30}{
\draw[color=magenta, line width=15pt](\i,23.5)--++(0,4);
}
\foreach \i in {25,...,26}{
\draw[color=orange, line width=15pt](16.5,\i)--++(2,0);
}
%% grid
\grid{36}{36}{[color=lightgray](0,0)}
%% loops
% blue
\draw[color=black, line width=5pt](2,6.5)--++(13,0)--++(0.5,0.5)--++(0,8)--++(-0.5,0.5)--++(-13,0)--++(-0.5,-0.5)--++(0,-8)--cycle;
% red
\draw[color=black, line width=5pt](6,8.5)--++(4,0)--++(0.5,0.5)--++(0,5)--++(-0.5,0.5)--++(-4,0)--++(-0.5,-0.5)--++(0,-5)--cycle;
% teal
\draw[color=black, line width=5pt](9,19.5)--++(9,0)--++(0.5,-0.5)--++(0,-10)--++(0.5,-0.5)--++(15,0)--++(0.5,0.5)--++(0,22)--++(-0.5,0.5)--++(-25,0)--++(-0.5,-0.5)--++(0,-11)--cycle;
% magenta
\draw[color=black, line width=5pt](13,21.5)--++(18,0)--++(0.5,0.5)--++(0,7)--++(-0.5,0.5)--++(-18,0)--++(-0.5,-0.5)--++(0,-7)--cycle;
% cyan
\draw[color=black, line width=5pt](23,11.5)--++(7,0)--++(0.5,0.5)--++(0,5)--++(-0.5,0.5)--++(-7,0)--++(-0.5,-0.5)--++(0,-5)--cycle;
% orange
\draw[color=black, line width=5pt](15,23.5)--++(5,0)--++(0.5,0.5)--++(0,3)--++(-0.5,0.5)--++(-5,0)--++(-0.5,-0.5)--++(0,-3)--cycle;
%green
\draw[color=black, line width=5pt](23,24.5)--++(3,0)--++(0.5,0.5)--++(0,1)--++(-0.5,0.5)--++(-3,0)--++(-0.5,-0.5)--++(0,-1)--cycle;
\end{tikzpicture}
\end{document}

1
figs/smallest.fig/Makefile Symbolic link
View File

@ -0,0 +1 @@
../libs/Makefile

View File

@ -0,0 +1 @@
../../libs/dimer.sty

View File

@ -0,0 +1,16 @@
\documentclass{standalone}
\usepackage{tikz}
\usepackage{dimer}
\begin{document}
\begin{tikzpicture}
\fill[color=gray](2,0.5)--++(3,0)--++(1.5,1.5)--++(-1.5,1.5)--++(-3,0)--++(-1.5,-1.5)--cycle;
\fill[color=white](3,1.5)--++(1,0)--++(0.5,0.5)--++(-0.5,0.5)--++(-1,0)--++(-0.5,-0.5)--cycle;
\grid{7}{4}{[color=lightgray](0,0)}
\draw[color=black, line width=5pt](2,0.5)--++(3,0)--++(1.5,1.5)--++(-1.5,1.5)--++(-3,0)--++(-1.5,-1.5)--cycle;
\end{tikzpicture}
\end{document}

View File

@ -0,0 +1,15 @@
\documentclass{standalone}
\usepackage{tikz}
\usepackage{dimer}
\begin{document}
\begin{tikzpicture}
\fill[color=gray](1,0.5)--++(1,0)--++(0.5,0.5)--++(-0.5,0.5)--++(-1,0)--++(-0.5,-0.5)--cycle;
\grid{3}{2}{[color=lightgray](0,0)}
\draw[color=black, line width=5pt](1,0.5)--++(1,0)--++(0.5,0.5)--++(-0.5,0.5)--++(-1,0)--++(-0.5,-0.5)--cycle;
\end{tikzpicture}
\end{document}