Ian Jauslin
summaryrefslogtreecommitdiff
path: root/figs
diff options
context:
space:
mode:
Diffstat (limited to 'figs')
-rw-r--r--figs/bands.fig/Makefile23
-rw-r--r--figs/bands.fig/bands.gnuplot42
-rw-r--r--figs/bands.fig/bands.py55
-rw-r--r--figs/bands_first.fig/Makefile23
-rw-r--r--figs/bands_first.fig/bands_first.gnuplot42
-rw-r--r--figs/bands_first.fig/bands_first.py56
-rw-r--r--figs/bands_second.fig/Makefile23
-rw-r--r--figs/bands_second.fig/bands_second.gnuplot42
-rw-r--r--figs/bands_second.fig/bands_second.py56
-rw-r--r--figs/bands_third.fig/Makefile23
-rw-r--r--figs/bands_third.fig/bands_third.gnuplot41
-rw-r--r--figs/bands_third.fig/bands_third.py86
l---------figs/bilayer.fig/Makefile1
-rw-r--r--figs/bilayer.fig/bilayer.tex17
l---------figs/bilayer.fig/libs/graphene.sty1
l---------figs/bilayer_cell.fig/Makefile1
-rw-r--r--figs/bilayer_cell.fig/bilayer_cell.tex40
l---------figs/bilayer_cell.fig/libs/graphene.sty1
-rw-r--r--figs/flow.fig/Makefile21
-rw-r--r--figs/flow.fig/flow.gnuplot53
l---------figs/hoppings.fig/Makefile1
-rw-r--r--figs/hoppings.fig/hoppings.tex32
-rw-r--r--figs/hoppings.fig/hoppings_0.tex25
-rw-r--r--figs/hoppings.fig/hoppings_1.tex25
-rw-r--r--figs/hoppings.fig/hoppings_3.tex32
l---------figs/hoppings.fig/libs/graphene.sty1
-rw-r--r--figs/libs/Makefile28
-rw-r--r--figs/libs/graphene.sty86
l---------figs/monolayer.fig/Makefile1
l---------figs/monolayer.fig/libs/graphene.sty1
-rw-r--r--figs/monolayer.fig/monolayer.tex16
31 files changed, 895 insertions, 0 deletions
diff --git a/figs/bands.fig/Makefile b/figs/bands.fig/Makefile
new file mode 100644
index 0000000..5a6a103
--- /dev/null
+++ b/figs/bands.fig/Makefile
@@ -0,0 +1,23 @@
+PROJECTNAME=bands
+
+all: $(PROJECTNAME).pdf
+
+$(PROJECTNAME).pdf:
+ python $(PROJECTNAME).py > $(PROJECTNAME).dat
+ gnuplot $(PROJECTNAME).gnuplot
+ pdflatex -jobname $(PROJECTNAME) $(PROJECTNAME)_plot.tex
+
+install: $(PROJECTNAME).pdf
+ cp $(PROJECTNAME).pdf $(INSTALLDIR)/
+
+
+clean-aux:
+ rm -f $(PROJECTNAME).aux
+ rm -f $(PROJECTNAME).log
+ rm -f $(PROJECTNAME).dat
+ rm -f $(PROJECTNAME)_plot.tex
+
+clean-pdf:
+ rm -f $(PROJECTNAME).pdf
+
+clean: clean-aux clean-pdf
diff --git a/figs/bands.fig/bands.gnuplot b/figs/bands.fig/bands.gnuplot
new file mode 100644
index 0000000..f1f84ff
--- /dev/null
+++ b/figs/bands.fig/bands.gnuplot
@@ -0,0 +1,42 @@
+#!/usr/bin/env gnuplot
+
+datafile="bands.dat"
+# output
+outfile="bands_plot.tex"
+set output outfile
+
+# terminal
+set term lua tikz size 10,6 standalone tightboundingbox
+
+# format axes
+set key off
+unset colorbox
+unset border
+unset xtics
+unset ytics
+unset ztics
+
+# colors
+## 4169E1 (pastel blue)
+## FF143C (bright red)
+## 32CD32 (bright green)
+## DAA520 (ochre)
+
+# angle camera
+set view 80,30
+
+# style for mesh lines
+set style line 1 linetype rgbcolor "#000000"
+
+# splot mode
+set pm3d hidden3d depthorder
+
+# set colors
+set palette defined (0 "#DAA520",0.33 "#FF143C", 0.66 "#32CD32",1 "#4169E1")
+
+# plot
+splot datafile using 1:2:3:4 with pm3d linestyle 1 , \
+ datafile using 5:6:7:8 with pm3d linestyle 1 , \
+ datafile using 9:10:11:12 with pm3d linestyle 1 , \
+ datafile using 13:14:15:16 with pm3d linestyle 1
+
diff --git a/figs/bands.fig/bands.py b/figs/bands.fig/bands.py
new file mode 100644
index 0000000..57d03b8
--- /dev/null
+++ b/figs/bands.fig/bands.py
@@ -0,0 +1,55 @@
+#!/usr/bin/env python
+
+## compute the bands for bilayer graphene (no g4 or delta)
+
+from math import *
+import cmath
+import numpy
+
+g1=0.1
+g3=0.33*g1
+
+def Omega(x,y):
+ return(1+2*cmath.exp(-3j/2*x)*cos(sqrt(3)/2*y))
+
+# Hamiltonian
+def H(x,y):
+ return(numpy.array(\
+ [[0,g1,0,Omega(x,y).conjugate()],\
+ [g1,0,Omega(x,y),0],\
+ [0,Omega(x,y).conjugate(),0,g3*Omega(x,y)*cmath.exp(3j*x)],\
+ [Omega(x,y),0,g3*(Omega(x,y).conjugate())*cmath.exp(-3j*x),0]]\
+ ))
+
+# eigenvalues
+def eigsH(x,y):
+ return(numpy.linalg.eigvals(H(x,y)))
+
+
+# resolution
+nrpoints=55
+# xrange
+xmin,xmax=0,4*pi/3
+# yrange
+ymin,ymax=-2*pi/sqrt(3),2*pi/sqrt(3)
+
+# sample points
+x=numpy.linspace(xmin,xmax,nrpoints)
+y=numpy.linspace(ymin,ymax,nrpoints)
+x,y=numpy.meshgrid(x,y)
+
+# data points
+z=numpy.zeros((4,nrpoints,nrpoints))
+for i in range(0,nrpoints):
+ for j in range(0,nrpoints):
+ eigs=numpy.sort(numpy.real(eigsH(x[i,j],y[i,j])))
+ for k in range(0,4):
+ z[k,i,j]=(eigs[k])
+
+# output
+for i in range(0,nrpoints):
+ for j in range(0,nrpoints):
+ for k in range(0,4):
+ print("%10f %10f %10f %d " % (x[i,j],y[i,j],z[k,i,j],k),end='')
+ print()
+ print()
diff --git a/figs/bands_first.fig/Makefile b/figs/bands_first.fig/Makefile
new file mode 100644
index 0000000..6fbd0d6
--- /dev/null
+++ b/figs/bands_first.fig/Makefile
@@ -0,0 +1,23 @@
+PROJECTNAME=bands_first
+
+all: $(PROJECTNAME).pdf
+
+$(PROJECTNAME).pdf:
+ python $(PROJECTNAME).py > $(PROJECTNAME).dat
+ gnuplot $(PROJECTNAME).gnuplot
+ pdflatex -jobname $(PROJECTNAME) $(PROJECTNAME)_plot.tex
+
+install: $(PROJECTNAME).pdf
+ cp $(PROJECTNAME).pdf $(INSTALLDIR)/
+
+
+clean-aux:
+ rm -f $(PROJECTNAME).aux
+ rm -f $(PROJECTNAME).log
+ rm -f $(PROJECTNAME).dat
+ rm -f $(PROJECTNAME)_plot.tex
+
+clean-pdf:
+ rm -f $(PROJECTNAME).pdf
+
+clean: clean-aux clean-pdf
diff --git a/figs/bands_first.fig/bands_first.gnuplot b/figs/bands_first.fig/bands_first.gnuplot
new file mode 100644
index 0000000..31fdeb5
--- /dev/null
+++ b/figs/bands_first.fig/bands_first.gnuplot
@@ -0,0 +1,42 @@
+#!/usr/bin/env gnuplot
+
+datafile="bands_first.dat"
+# output
+outfile="bands_first_plot.tex"
+set output outfile
+
+# terminal
+set term lua tikz size 10,6 standalone tightboundingbox
+
+# format axes
+set key off
+unset colorbox
+unset border
+unset xtics
+unset ytics
+unset ztics
+
+# colors
+## 4169E1 (pastel blue)
+## FF143C (bright red)
+## 32CD32 (bright green)
+## DAA520 (ochre)
+
+# angle camera
+set view 90,50
+
+# style for mesh lines
+set style line 1 linetype rgbcolor "#000000"
+
+# splot mode
+set pm3d hidden3d depthorder
+
+# set colors
+set palette defined (0 "#DAA520",0.33 "#FF143C", 0.66 "#32CD32",1 "#4169E1")
+
+# plot
+splot datafile using 1:2:3:4 with pm3d linestyle 1 , \
+ datafile using 5:6:7:8 with pm3d linestyle 1 , \
+ datafile using 9:10:11:12 with pm3d linestyle 1 , \
+ datafile using 13:14:15:16 with pm3d linestyle 1
+
diff --git a/figs/bands_first.fig/bands_first.py b/figs/bands_first.fig/bands_first.py
new file mode 100644
index 0000000..980d3b3
--- /dev/null
+++ b/figs/bands_first.fig/bands_first.py
@@ -0,0 +1,56 @@
+#!/usr/bin/env python
+
+## compute the bands for bilayer graphene (no g4 or delta)
+## first regime
+
+from math import *
+import cmath
+import numpy
+
+g1=0.1
+g3=0.33*g1
+
+def Omega(x,y):
+ return(1+2*cmath.exp(-3j/2*x)*cos(sqrt(3)/2*y))
+
+# Hamiltonian
+def H(x,y):
+ return(numpy.array(\
+ [[0,g1,0,Omega(x,y).conjugate()],\
+ [g1,0,Omega(x,y),0],\
+ [0,Omega(x,y).conjugate(),0,g3*Omega(x,y)*cmath.exp(3j*x)],\
+ [Omega(x,y),0,g3*(Omega(x,y).conjugate())*cmath.exp(-3j*x),0]]\
+ ))
+
+# eigenvalues
+def eigsH(x,y):
+ return(numpy.linalg.eigvals(H(x,y)))
+
+
+# resolution
+nrpoints=31
+# xrange
+xmin,xmax=2*pi/3-1.5,2*pi/3+1.5
+# yrange
+ymin,ymax=2*pi/3/sqrt(3)-1.5,2*pi/3/sqrt(3)+1.5
+
+# sample points
+x=numpy.linspace(xmin,xmax,nrpoints)
+y=numpy.linspace(ymin,ymax,nrpoints)
+x,y=numpy.meshgrid(x,y)
+
+# data points
+z=numpy.zeros((4,nrpoints,nrpoints))
+for i in range(0,nrpoints):
+ for j in range(0,nrpoints):
+ eigs=numpy.sort(numpy.real(eigsH(x[i,j],y[i,j])))
+ for k in range(0,4):
+ z[k,i,j]=(eigs[k])
+
+# output
+for i in range(0,nrpoints):
+ for j in range(0,nrpoints):
+ for k in range(0,4):
+ print("%10f %10f %10f %d " % (x[i,j],y[i,j],z[k,i,j],k),end='')
+ print()
+ print()
diff --git a/figs/bands_second.fig/Makefile b/figs/bands_second.fig/Makefile
new file mode 100644
index 0000000..b026463
--- /dev/null
+++ b/figs/bands_second.fig/Makefile
@@ -0,0 +1,23 @@
+PROJECTNAME=bands_second
+
+all: $(PROJECTNAME).pdf
+
+$(PROJECTNAME).pdf:
+ python $(PROJECTNAME).py > $(PROJECTNAME).dat
+ gnuplot $(PROJECTNAME).gnuplot
+ pdflatex -jobname $(PROJECTNAME) $(PROJECTNAME)_plot.tex
+
+install: $(PROJECTNAME).pdf
+ cp $(PROJECTNAME).pdf $(INSTALLDIR)/
+
+
+clean-aux:
+ rm -f $(PROJECTNAME).aux
+ rm -f $(PROJECTNAME).log
+ rm -f $(PROJECTNAME).dat
+ rm -f $(PROJECTNAME)_plot.tex
+
+clean-pdf:
+ rm -f $(PROJECTNAME).pdf
+
+clean: clean-aux clean-pdf
diff --git a/figs/bands_second.fig/bands_second.gnuplot b/figs/bands_second.fig/bands_second.gnuplot
new file mode 100644
index 0000000..51f8949
--- /dev/null
+++ b/figs/bands_second.fig/bands_second.gnuplot
@@ -0,0 +1,42 @@
+#!/usr/bin/env gnuplot
+
+datafile="bands_second.dat"
+# output
+outfile="bands_second_plot.tex"
+set output outfile
+
+# terminal
+set term lua tikz size 10,6 standalone tightboundingbox
+
+# format axes
+set key off
+unset colorbox
+unset border
+unset xtics
+unset ytics
+unset ztics
+
+# colors
+## 4169E1 (pastel blue)
+## FF143C (bright red)
+## 32CD32 (bright green)
+## DAA520 (ochre)
+
+# angle camera
+set view 90,50
+
+# style for mesh lines
+set style line 1 linetype rgbcolor "#000000"
+
+# splot mode
+set pm3d hidden3d depthorder
+
+# set colors
+set palette defined (0 "#DAA520",0.33 "#FF143C", 0.66 "#32CD32",1 "#4169E1")
+
+# plot
+splot datafile using 1:2:3:4 with pm3d linestyle 1 , \
+ datafile using 5:6:7:8 with pm3d linestyle 1 , \
+ datafile using 9:10:11:12 with pm3d linestyle 1 , \
+ datafile using 13:14:15:16 with pm3d linestyle 1
+
diff --git a/figs/bands_second.fig/bands_second.py b/figs/bands_second.fig/bands_second.py
new file mode 100644
index 0000000..782b300
--- /dev/null
+++ b/figs/bands_second.fig/bands_second.py
@@ -0,0 +1,56 @@
+#!/usr/bin/env python
+
+## compute the bands for bilayer graphene (no g4 or delta)
+## second regime
+
+from math import *
+import cmath
+import numpy
+
+g1=0.1
+g3=0.33*g1
+
+def Omega(x,y):
+ return(1+2*cmath.exp(-3j/2*x)*cos(sqrt(3)/2*y))
+
+# Hamiltonian
+def H(x,y):
+ return(numpy.array(\
+ [[0,g1,0,Omega(x,y).conjugate()],\
+ [g1,0,Omega(x,y),0],\
+ [0,Omega(x,y).conjugate(),0,g3*Omega(x,y)*cmath.exp(3j*x)],\
+ [Omega(x,y),0,g3*(Omega(x,y).conjugate())*cmath.exp(-3j*x),0]]\
+ ))
+
+# eigenvalues
+def eigsH(x,y):
+ return(numpy.linalg.eigvals(H(x,y)))
+
+
+# resolution
+nrpoints=31
+# xrange
+xmin,xmax=2*pi/3-0.1,2*pi/3+0.1
+# yrange
+ymin,ymax=2*pi/3/sqrt(3)-0.1,2*pi/3/sqrt(3)+0.1
+
+# sample points
+x=numpy.linspace(xmin,xmax,nrpoints)
+y=numpy.linspace(ymin,ymax,nrpoints)
+x,y=numpy.meshgrid(x,y)
+
+# data points
+z=numpy.zeros((4,nrpoints,nrpoints))
+for i in range(0,nrpoints):
+ for j in range(0,nrpoints):
+ eigs=numpy.sort(numpy.real(eigsH(x[i,j],y[i,j])))
+ for k in range(0,4):
+ z[k,i,j]=(eigs[k])
+
+# output
+for i in range(0,nrpoints):
+ for j in range(0,nrpoints):
+ for k in range(0,4):
+ print("%10f %10f %10f %d " % (x[i,j],y[i,j],z[k,i,j],k),end='')
+ print()
+ print()
diff --git a/figs/bands_third.fig/Makefile b/figs/bands_third.fig/Makefile
new file mode 100644
index 0000000..fc025fa
--- /dev/null
+++ b/figs/bands_third.fig/Makefile
@@ -0,0 +1,23 @@
+PROJECTNAME=bands_third
+
+all: $(PROJECTNAME).pdf
+
+$(PROJECTNAME).pdf:
+ python $(PROJECTNAME).py > $(PROJECTNAME).dat
+ gnuplot $(PROJECTNAME).gnuplot
+ pdflatex -jobname $(PROJECTNAME) $(PROJECTNAME)_plot.tex
+
+install: $(PROJECTNAME).pdf
+ cp $(PROJECTNAME).pdf $(INSTALLDIR)/
+
+
+clean-aux:
+ rm -f $(PROJECTNAME).aux
+ rm -f $(PROJECTNAME).log
+ rm -f $(PROJECTNAME).dat
+ rm -f $(PROJECTNAME)_plot.tex
+
+clean-pdf:
+ rm -f $(PROJECTNAME).pdf
+
+clean: clean-aux clean-pdf
diff --git a/figs/bands_third.fig/bands_third.gnuplot b/figs/bands_third.fig/bands_third.gnuplot
new file mode 100644
index 0000000..2845518
--- /dev/null
+++ b/figs/bands_third.fig/bands_third.gnuplot
@@ -0,0 +1,41 @@
+#!/usr/bin/env gnuplot
+
+datafile="bands_third.dat"
+# output
+outfile="bands_third_plot.tex"
+set output outfile
+
+# terminal
+set term lua tikz size 10,6 standalone tightboundingbox
+
+# format axes
+set key off
+unset colorbox
+unset border
+unset xtics
+unset ytics
+unset ztics
+
+# colors
+## FF143C (bright red)
+## 32CD32 (bright green)
+
+# angle camera
+set view 80,50
+
+# style for mesh lines
+set style line 1 linetype rgbcolor "#000000"
+
+# splot mode
+set pm3d hidden3d depthorder
+
+# set colors
+set palette defined (0 "#FF143C", 1 "#32CD32")
+
+# set data range
+set zrange [-0.0001:0.0001]
+
+# plot
+splot datafile using 1:2:3:4 with pm3d linestyle 1 , \
+ datafile using 5:6:7:8 with pm3d linestyle 1
+
diff --git a/figs/bands_third.fig/bands_third.py b/figs/bands_third.fig/bands_third.py
new file mode 100644
index 0000000..f4d2290
--- /dev/null
+++ b/figs/bands_third.fig/bands_third.py
@@ -0,0 +1,86 @@
+#!/usr/bin/env python
+
+## compute the bands for bilayer graphene (no g4 or delta)
+## third regime
+
+from math import *
+import cmath
+import numpy
+from scipy import optimize
+
+g1=0.1
+g3=0.33*g1
+
+def Omega(x,y):
+ return(1+2*cmath.exp(-3j/2*x)*cos(sqrt(3)/2*y))
+
+# Hamiltonian
+def H(x,y):
+ return(numpy.array(\
+ [[0,g1,0,Omega(x,y).conjugate()],\
+ [g1,0,Omega(x,y),0],\
+ [0,Omega(x,y).conjugate(),0,g3*Omega(x,y)*cmath.exp(3j*x)],\
+ [Omega(x,y),0,g3*(Omega(x,y).conjugate())*cmath.exp(-3j*x),0]]\
+ ))
+
+# eigenvalues
+def eigsH(x,y):
+ return(numpy.linalg.eigvals(H(x,y)))
+
+# resolution
+nrpoints=101
+# xrange
+xmin,xmax=2*pi/3-0.004,2*pi/3+0.004
+# yrange
+ymin,ymax=2*pi/3/sqrt(3)-0.004,2*pi/3/sqrt(3)+0.004
+
+# sample points
+x=numpy.linspace(xmin,xmax,nrpoints)
+y=numpy.linspace(ymin,ymax,nrpoints)
+x,y=numpy.meshgrid(x,y)
+
+
+## We want a data point at each Fermi point, which must first be computed
+
+# A function that vanishes only at the Fermi points
+def fermpt(v):
+ eigs=numpy.sort(numpy.real(eigsH(v[0],v[1])))
+ return([eigs[1]-eigs[2],0])
+# compute Fermi points
+## approximate starting value
+pf_app=numpy.zeros((4,2))
+pf_app[0]=[2*pi/3,2*pi/3/sqrt(3)]
+pf_app[1]=[2*pi/3,2/sqrt(3)*acos(1/2-g1*g3/2)]
+pf_app[2]=[acos(g1*g3/2-1/2),acos(g1*g3/2-1/2)/sqrt(3)]
+pf_app[3]=[4*pi/3-acos(g1*g3/2-1/2),acos(g1*g3/2-1/2)/sqrt(3)]
+pf=pf_app
+for i in range(0,4):
+ pf[i]=optimize.root(fermpt,pf_app[i],tol=1.e-10).x
+
+# Reset the data point closest to each Fermi point to the fermi point
+for k in range(0,4):
+ mini,minj=0,0
+ minval=100
+ for i in range(0,nrpoints):
+ for j in range(0,nrpoints):
+ if(sqrt((x[i,j]-pf[k,0])**2+(y[i,j]-pf[k,1])**2)<minval):
+ mini,minj=i,j
+ minval=sqrt((x[i,j]-pf[k,0])**2+(y[i,j]-pf[k,1])**2)
+ [x[mini,minj],y[mini,minj]]=pf[k]
+
+
+# data points
+z=numpy.zeros((4,nrpoints,nrpoints))
+for i in range(0,nrpoints):
+ for j in range(0,nrpoints):
+ eigs=numpy.sort(numpy.real(eigsH(x[i,j],y[i,j])))
+ for k in range(0,4):
+ z[k,i,j]=(eigs[k])
+
+# output
+for i in range(0,nrpoints):
+ for j in range(0,nrpoints):
+ for k in [1,2]:
+ print("%10f %10f %10f %d " % (x[i,j],y[i,j],z[k,i,j],k),end='')
+ print()
+ print()
diff --git a/figs/bilayer.fig/Makefile b/figs/bilayer.fig/Makefile
new file mode 120000
index 0000000..704310e
--- /dev/null
+++ b/figs/bilayer.fig/Makefile
@@ -0,0 +1 @@
+../libs/Makefile \ No newline at end of file
diff --git a/figs/bilayer.fig/bilayer.tex b/figs/bilayer.fig/bilayer.tex
new file mode 100644
index 0000000..0c5faa6
--- /dev/null
+++ b/figs/bilayer.fig/bilayer.tex
@@ -0,0 +1,17 @@
+\documentclass{standalone}
+\usepackage{tikz}
+\usepackage{graphene}
+\begin{document}
+\begin{tikzpicture}
+
+% draw grids
+\graphene{(0,0)}{}
+\graphene{(-1,0)}{dashed}
+
+\sitelattice{at}{(-1,0)}{}
+\sitelattice{bt}{(-1,0)}{}
+\sitelattice{a}{(0,0)}{}
+\sitelattice{b}{(0,0)}{}
+
+\end{tikzpicture}
+\end{document}
diff --git a/figs/bilayer.fig/libs/graphene.sty b/figs/bilayer.fig/libs/graphene.sty
new file mode 120000
index 0000000..a377638
--- /dev/null
+++ b/figs/bilayer.fig/libs/graphene.sty
@@ -0,0 +1 @@
+../../libs/graphene.sty \ No newline at end of file
diff --git a/figs/bilayer_cell.fig/Makefile b/figs/bilayer_cell.fig/Makefile
new file mode 120000
index 0000000..704310e
--- /dev/null
+++ b/figs/bilayer_cell.fig/Makefile
@@ -0,0 +1 @@
+../libs/Makefile \ No newline at end of file
diff --git a/figs/bilayer_cell.fig/bilayer_cell.tex b/figs/bilayer_cell.fig/bilayer_cell.tex
new file mode 100644
index 0000000..582d2fb
--- /dev/null
+++ b/figs/bilayer_cell.fig/bilayer_cell.tex
@@ -0,0 +1,40 @@
+\documentclass{standalone}
+\usepackage{tikz}
+\usepackage{graphene}
+\begin{document}
+\begin{tikzpicture}
+
+% draw grids
+\graphene{(0,0)}{}
+\graphene{(-1,0)}{dashed}
+\sitelattice{at}{(-1,0)}{}
+\sitelattice{bt}{(-1,0)}{}
+\sitelattice{a}{(0,0)}{}
+\sitelattice{b}{(0,0)}{}
+
+
+% cell
+\draw[color=blue](120:1)++(-1.5,0)--++(1.5,\sqrttt)--++(1.5,-\sqrttt)--++(-1.5,-\sqrttt)--cycle;
+
+% other cells
+\draw[color=blue,style=dashed](120:1)++(-1.5,0)--++\mlt;
+\draw[color=blue,style=dashed](120:1)++(0,-\sqrttt)--++\lt--++\lt;
+\draw[color=blue,style=dashed](120:1)++(1.5,0)--++\lt;
+\draw[color=blue,style=dashed](120:1)++(0,\sqrttt)--++\mlt--++\mlt;
+\draw[color=blue,style=dashed](120:1)++(0,\sqrttt)--++\lo--++\lo;
+\draw[color=blue,style=dashed](120:1)++(0,-\sqrttt)--++\mlo--++\mlo;
+\draw[color=blue,style=dashed](120:1)++(1.5,0)--++\lo;
+\draw[color=blue,style=dashed](120:1)++(-1.5,0)--++\mlo;
+\draw[color=blue,style=dashed](120:1)++(0,\sqrttt)++\mlo++\mlt--++\lo--++\lo;
+\draw[color=blue,style=dashed](120:1)++(0,-\sqrttt)++\mlo++\lt--++\lo--++\lo;
+\draw[color=blue,style=dashed](120:1)++(0,-\sqrttt)++\mlo++\mlt--++\lt--++\lt;
+\draw[color=blue,style=dashed](120:1)++(0,\sqrttt)++\lo++\mlt--++\lt--++\lt;
+
+\draw[color=red](120:1)++(30:1)++(0,.2)node[rotate=30]{\scriptsize$l_1$};
+\draw[color=red](120:1)++(-30:0.8)++(0,.2)node[rotate=-30]{\scriptsize$l_2$};
+\draw[color=red,line width=1.5pt,->](120:1)--++\lo;
+\draw[color=red,line width=1.5pt,->](120:1)--++\lt;
+
+
+\end{tikzpicture}
+\end{document}
diff --git a/figs/bilayer_cell.fig/libs/graphene.sty b/figs/bilayer_cell.fig/libs/graphene.sty
new file mode 120000
index 0000000..a377638
--- /dev/null
+++ b/figs/bilayer_cell.fig/libs/graphene.sty
@@ -0,0 +1 @@
+../../libs/graphene.sty \ No newline at end of file
diff --git a/figs/flow.fig/Makefile b/figs/flow.fig/Makefile
new file mode 100644
index 0000000..82ff8bd
--- /dev/null
+++ b/figs/flow.fig/Makefile
@@ -0,0 +1,21 @@
+PROJECTNAME=flow
+
+all: $(PROJECTNAME).pdf
+
+$(PROJECTNAME).pdf:
+ gnuplot $(PROJECTNAME).gnuplot
+ pdflatex -jobname $(PROJECTNAME) $(PROJECTNAME)_plot.tex
+
+install: $(PROJECTNAME).pdf
+ cp $(PROJECTNAME).pdf $(INSTALLDIR)/
+
+
+clean-aux:
+ rm -f $(PROJECTNAME).aux
+ rm -f $(PROJECTNAME).log
+ rm -f $(PROJECTNAME)_plot.tex
+
+clean-pdf:
+ rm -f $(PROJECTNAME).pdf
+
+clean: clean-aux clean-pdf
diff --git a/figs/flow.fig/flow.gnuplot b/figs/flow.fig/flow.gnuplot
new file mode 100644
index 0000000..3d8d247
--- /dev/null
+++ b/figs/flow.fig/flow.gnuplot
@@ -0,0 +1,53 @@
+#!/usr/bin/env gnuplot
+
+# output file
+outfile="flow_plot.tex"
+set output outfile
+
+# tics
+set x2tics ("$\\log_2\\epsilon$" 5, "$3\\log_2\\epsilon$" 15) nomirror out
+set ytics ("$1$" 1, "$\\epsilon$" 2**(-5), "$2\\epsilon|\\log_2\\epsilon|$" 2**(-5)*(15-5+1)) nomirror out
+unset xtics
+
+set xrange [0:20]
+set yrange [-0.5:1]
+
+# remove key
+unset key
+
+# titles
+set x2label "$h$" offset 18,-3
+set ylabel norotate "$|V_h|$" offset 10.5,-9
+
+# set terminal (add color definitions for title)
+set term lua tikz size 8.33,5.833 standalone font "\\footnotesize"
+
+# 3=1+2 draw bottom and left sides of the box
+set border 6
+
+# set linestyles
+set style line 2 linetype rgbcolor "#DC143C" linewidth 2
+set style line 3 linetype rgbcolor "#32CD32" linewidth 2
+
+# extra text
+set label "irrelevant" at 2.5,-0.1 center textcolor "#32CD32"
+set label "$\\sim 2^{h}$" at 2.5,-0.25 center textcolor "#32CD32"
+set label "marginal" at 10,-0.1 center textcolor "#DC143C"
+set label "$\\sim\\epsilon|h-\\log_2\\epsilon|$" at 10,-0.25 center textcolor "#DC143C"
+set label "irrelevant" at 17.5,-0.1 center textcolor "#32CD32"
+set label "$\\sim\\epsilon|2\\log_2\\epsilon|2^{h-3\\log_2\\epsilon}$" at 15,-0.25 left textcolor "#32CD32"
+
+set samples 97
+
+set arrow from 0,1 to 20,1
+set arrow from 0,1 to 0,-0.5
+
+set arrow from 5,1 to 5,-0.5 nohead dashtype 2
+set arrow from 15,1 to 15,-0.5 nohead dashtype 2
+
+# plots
+plot \
+ ((x<=5) ? 2**(-x) : 1/0) linestyle 3,\
+ ((x>=5 && x<=15) ? 2**(-5)*(x-5+1) : 1/0) linestyle 2,\
+ ((x>=15) ? 2**(-5)*(15-5+1)*2**(-(x-15)) : 1/0) linestyle 3
+
diff --git a/figs/hoppings.fig/Makefile b/figs/hoppings.fig/Makefile
new file mode 120000
index 0000000..704310e
--- /dev/null
+++ b/figs/hoppings.fig/Makefile
@@ -0,0 +1 @@
+../libs/Makefile \ No newline at end of file
diff --git a/figs/hoppings.fig/hoppings.tex b/figs/hoppings.fig/hoppings.tex
new file mode 100644
index 0000000..c8fa332
--- /dev/null
+++ b/figs/hoppings.fig/hoppings.tex
@@ -0,0 +1,32 @@
+\documentclass{standalone}
+\usepackage{tikz}
+\usepackage{graphene}
+\begin{document}
+\begin{tikzpicture}
+
+% draw grids
+\graphene{(0,0)}{color=red}
+\graphene{(-1,0)}{dashed,color=red}
+
+% bounding box
+\path\mlo++\mlo++(-0.1,-0.1)coordinate(A);
+\path\lt++(-60:1)++(0.1,-0.1)coordinate(B);
+\path\lo++\mlt++\lo++(60:1)++(0.1,0.1)coordinate(C);
+\path\mlt++\mlt++\lo++\mlt++(-0.1,0.1)coordinate(D);
+
+% interlayer hopping
+\begin{scope}
+ \clip(A)--(B)--(C)--(D)--cycle;
+ \graphene{(120:1)}{densely dotted,color=blue}
+ \graphene{(-120:1)}{densely dotted,color=blue}
+\end{scope}
+
+\sitelattice{at}{(-1,0)}{}
+\sitelattice{bt}{(-1,0)}{color=green}
+\sitelattice{a}{(0,0)}{color=green}
+\sitelattice{b}{(0,0)}{}
+
+
+
+\end{tikzpicture}
+\end{document}
diff --git a/figs/hoppings.fig/hoppings_0.tex b/figs/hoppings.fig/hoppings_0.tex
new file mode 100644
index 0000000..0c8e042
--- /dev/null
+++ b/figs/hoppings.fig/hoppings_0.tex
@@ -0,0 +1,25 @@
+\documentclass{standalone}
+\usepackage{tikz}
+\usepackage{graphene}
+\begin{document}
+\begin{tikzpicture}
+
+% draw grids
+\graphene{(0,0)}{color=red}
+\graphene{(-1,0)}{dashed,color=red}
+
+% bounding box
+\path\mlo++\mlo++(-0.1,-0.1)coordinate(A);
+\path\lt++(-60:1)++(0.1,-0.1)coordinate(B);
+\path\lo++\mlt++\lo++(60:1)++(0.1,0.1)coordinate(C);
+\path\mlt++\mlt++\lo++\mlt++(-0.1,0.1)coordinate(D);
+
+\sitelattice{at}{(-1,0)}{}
+\sitelattice{bt}{(-1,0)}{}
+\sitelattice{a}{(0,0)}{}
+\sitelattice{b}{(0,0)}{}
+
+
+
+\end{tikzpicture}
+\end{document}
diff --git a/figs/hoppings.fig/hoppings_1.tex b/figs/hoppings.fig/hoppings_1.tex
new file mode 100644
index 0000000..ddaff19
--- /dev/null
+++ b/figs/hoppings.fig/hoppings_1.tex
@@ -0,0 +1,25 @@
+\documentclass{standalone}
+\usepackage{tikz}
+\usepackage{graphene}
+\begin{document}
+\begin{tikzpicture}
+
+% draw grids
+\graphene{(0,0)}{}
+\graphene{(-1,0)}{dashed}
+
+% bounding box
+\path\mlo++\mlo++(-0.1,-0.1)coordinate(A);
+\path\lt++(-60:1)++(0.1,-0.1)coordinate(B);
+\path\lo++\mlt++\lo++(60:1)++(0.1,0.1)coordinate(C);
+\path\mlt++\mlt++\lo++\mlt++(-0.1,0.1)coordinate(D);
+
+\sitelattice{at}{(-1,0)}{}
+\sitelattice{bt}{(-1,0)}{color=green}
+\sitelattice{a}{(0,0)}{color=green}
+\sitelattice{b}{(0,0)}{}
+
+
+
+\end{tikzpicture}
+\end{document}
diff --git a/figs/hoppings.fig/hoppings_3.tex b/figs/hoppings.fig/hoppings_3.tex
new file mode 100644
index 0000000..8f9b64f
--- /dev/null
+++ b/figs/hoppings.fig/hoppings_3.tex
@@ -0,0 +1,32 @@
+\documentclass{standalone}
+\usepackage{tikz}
+\usepackage{graphene}
+\begin{document}
+\begin{tikzpicture}
+
+% draw grids
+\graphene{(0,0)}{}
+\graphene{(-1,0)}{dashed}
+
+% bounding box
+\path\mlo++\mlo++(-0.1,-0.1)coordinate(A);
+\path\lt++(-60:1)++(0.1,-0.1)coordinate(B);
+\path\lo++\mlt++\lo++(60:1)++(0.1,0.1)coordinate(C);
+\path\mlt++\mlt++\lo++\mlt++(-0.1,0.1)coordinate(D);
+
+% interlayer hopping
+\begin{scope}
+ \clip(A)--(B)--(C)--(D)--cycle;
+ \graphene{(120:1)}{densely dotted,color=blue}
+ \graphene{(-120:1)}{densely dotted,color=blue}
+\end{scope}
+
+\sitelattice{at}{(-1,0)}{}
+\sitelattice{bt}{(-1,0)}{}
+\sitelattice{a}{(0,0)}{}
+\sitelattice{b}{(0,0)}{}
+
+
+
+\end{tikzpicture}
+\end{document}
diff --git a/figs/hoppings.fig/libs/graphene.sty b/figs/hoppings.fig/libs/graphene.sty
new file mode 120000
index 0000000..a377638
--- /dev/null
+++ b/figs/hoppings.fig/libs/graphene.sty
@@ -0,0 +1 @@
+../../libs/graphene.sty \ No newline at end of file
diff --git a/figs/libs/Makefile b/figs/libs/Makefile
new file mode 100644
index 0000000..5704428
--- /dev/null
+++ b/figs/libs/Makefile
@@ -0,0 +1,28 @@
+PROJECTNAME=$(basename $(wildcard *.tex))
+LIBS=$(notdir $(wildcard libs/*))
+
+PDFS=$(addsuffix .pdf, $(PROJECTNAME))
+
+all: $(PDFS)
+
+$(PDFS): $(LIBS)
+ echo $(LIBS)
+ pdflatex -file-line-error $(patsubst %.pdf, %.tex, $@)
+
+install: $(PDFS)
+ cp $^ $(INSTALLDIR)/
+
+$(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
diff --git a/figs/libs/graphene.sty b/figs/libs/graphene.sty
new file mode 100644
index 0000000..40ffd03
--- /dev/null
+++ b/figs/libs/graphene.sty
@@ -0,0 +1,86 @@
+%%
+%% Macros to draw graphene lattices
+%%
+
+% numerical values
+% sqrt(3)/2
+\def\sqrttt{0.866}
+% sqrt(3)
+\def\sqrtt {1.732}
+
+%l1
+\def\lo{(1.5,\sqrttt)}
+%l2
+\def\lt{(1.5,-\sqrttt)}
+%-l1
+\def\mlo{(-1.5,-\sqrttt)}
+%-l2
+\def\mlt{(-1.5,\sqrttt)}
+
+% shapes
+\def\square#1#2#3{\draw[#3]#1++(-#2,-#2)--++(#2,0)--++(#2,0)--++(0,#2)--++(0,#2)--++(-#2,0)--++(-#2,0)--++(0,-#2)--++(0,-#2);}
+\def\fullsquare#1#2#3{\fill[#3]#1++(-#2,-#2)--++(#2,0)--++(#2,0)--++(0,#2)--++(0,#2)--++(-#2,0)--++(-#2,0)--++(0,-#2)--++(0,-#2);}
+
+% atoms
+\def\a#1#2{\fill[#2]#1circle(.1);}
+\def\b#1#2{\fullsquare{#1}{.1}{#2}}
+\def\at#1#2{\fill[color=white]#1circle(.1);\draw[#2]#1circle(.1);}
+\def\bt#1#2{\fullsquare{#1}{.17}{color=white}\square{#1}{.17}{#2}}
+
+
+% draw a hexagon
+\def\hexagon#1#2{
+ % draw the lines one at a time (so that dashes overlap if the line is dashed)
+ \draw[#2]#1++(1,0)--++(120:1);
+ \draw[#2]#1++(-120:1)--++(120:1);
+ \draw[#2]#1++(60:1)--++(-1,0);
+ \draw[#2]#1++(-60:1)--++(-1,0);
+ \draw[#2]#1++(120:1)--++(-120:1);
+ \draw[#2]#1++(1,0)--++(-120:1);
+}
+
+% draw the atoms around a hexagon
+\def\as#1#2{
+ \a{#1++(1,0)}{#2}
+ \a{#1++(120:1)}{#2}
+ \a{#1++(-120:1)}{#2}
+}
+\def\ats#1#2{
+ \at{#1++(1,0)}{#2}
+ \at{#1++(120:1)}{#2}
+ \at{#1++(-120:1)}{#2}
+}
+\def\bs#1#2{
+ \b{#1++(-1,0)}{#2}
+ \b{#1++(60:1)}{#2}
+ \b{#1++(-60:1)}{#2}
+}
+\def\bts#1#2{
+ \bt{#1++(-1,0)}{#2}
+ \bt{#1++(60:1)}{#2}
+ \bt{#1++(-60:1)}{#2}
+}
+
+% base lattice
+\def\graphene#1#2{
+ \hexagon{#1}{#2}
+ \hexagon{#1++\lo}{#2}
+ \hexagon{#1++\lt}{#2}
+ \hexagon{#1++\mlo}{#2}
+ \hexagon{#1++\mlt}{#2}
+ \hexagon{#1++\lo++\mlt}{#2}
+ \hexagon{#1++\lo++\mlt++\lo}{#2}
+ \hexagon{#1++\lo++\mlt++\mlt}{#2}
+}
+
+% base lattice of sites
+\def\sitelattice#1#2#3{
+ \csname #1s\endcsname{#2}{#3}
+ \csname #1s\endcsname{#2++\lo}{#3}
+ \csname #1s\endcsname{#2++\lt}{#3}
+ \csname #1s\endcsname{#2++\mlo}{#3}
+ \csname #1s\endcsname{#2++\mlt}{#3}
+ \csname #1s\endcsname{#2++\lo++\mlt}{#3}
+ \csname #1s\endcsname{#2++\lo++\mlt++\lo}{#3}
+ \csname #1s\endcsname{#2++\lo++\mlt++\mlt}{#3}
+}
diff --git a/figs/monolayer.fig/Makefile b/figs/monolayer.fig/Makefile
new file mode 120000
index 0000000..704310e
--- /dev/null
+++ b/figs/monolayer.fig/Makefile
@@ -0,0 +1 @@
+../libs/Makefile \ No newline at end of file
diff --git a/figs/monolayer.fig/libs/graphene.sty b/figs/monolayer.fig/libs/graphene.sty
new file mode 120000
index 0000000..a377638
--- /dev/null
+++ b/figs/monolayer.fig/libs/graphene.sty
@@ -0,0 +1 @@
+../../libs/graphene.sty \ No newline at end of file
diff --git a/figs/monolayer.fig/monolayer.tex b/figs/monolayer.fig/monolayer.tex
new file mode 100644
index 0000000..59bfadc
--- /dev/null
+++ b/figs/monolayer.fig/monolayer.tex
@@ -0,0 +1,16 @@
+\documentclass{standalone}
+\usepackage{tikz}
+
+% macros to draw graphene lattices
+\usepackage{graphene}
+
+\begin{document}
+\begin{tikzpicture}
+
+\graphene{(0,0)}{}
+
+\sitelattice{a}{(0,0)}{}
+\sitelattice{b}{(0,0)}{}
+
+\end{tikzpicture}
+\end{document}