Merge branch 'master' of git.ucc.asn.au:/matches/honours
authorSam Moore <sam@daedalus.(none)>
Mon, 3 Sep 2012 13:42:24 +0000 (21:42 +0800)
committerSam Moore <sam@daedalus.(none)>
Mon, 3 Sep 2012 13:42:24 +0000 (21:42 +0800)
course/semester2/pprog/assignment1/Makefile [new file with mode: 0644]
course/semester2/pprog/assignment1/bodiesfield_10 [new file with mode: 0644]
course/semester2/pprog/assignment1/bodiesfield_100 [new file with mode: 0644]
course/semester2/pprog/assignment1/bodiesfield_500 [new file with mode: 0644]
course/semester2/pprog/assignment1/nbody.c [new file with mode: 0644]
papers/Comparison of Secondary Electron Emission simulation to experiment.pdf [new file with mode: 0644]
papers/Secondary Electron Emission - Review of Literature.pdf [new file with mode: 0644]
papers/Secondary_electron_emission_studies.pdf [new file with mode: 0644]
papers/hilleret.pdf [new file with mode: 0644]
thesis/theory.py [new file with mode: 0755]
thesis/thesis.tex

diff --git a/course/semester2/pprog/assignment1/Makefile b/course/semester2/pprog/assignment1/Makefile
new file mode 100644 (file)
index 0000000..cd6f0fe
--- /dev/null
@@ -0,0 +1,45 @@
+INCLUDE_PATH = -I/usr/include
+LIBRARY_PATH = -L/usr/lib64 
+CCFLAGS = -std=c99 #-framework GLUT -framework OpenGL -framework Cocoa
+LDFLAGS = -lglut -lGL -lGLU -lpthread -lm
+
+# the directories containing the OpenGL libraries, f90gl libraries, GLUT
+# libraries, and f90gl GLUT libraries
+OGLLIBDIR = -L/usr/X11/lib
+
+# the fortran 90 libraries for OpenGL, including GLUT, GLU and OpenGL
+F90GLUTLIB = -lf90glut -lf90GLU -lf90GL
+
+# the X11 libraries
+X11LIB = -framework GLUT -framework OpenGL -framework Cocoa
+
+# the f90 compiler flag for specifying the location of MOD files
+MODS = -I/usr/X11/include/GL
+
+# the directory containing the X11 libraries
+X11LIBDIR =
+
+# fortran 90 compiler and compiler flags
+F95 = g95
+F90 = /usr/local/gfortran/bin/gfortran
+F90FLAGS = -O 
+F90FLAGS2 = -fopenmp -O
+GCC = gcc
+
+APP = nbody 
+
+all: $(APP)
+       @echo Make done
+
+#%: %.c
+#      gcc $^ -o $@ $(INCLUDE_PATH) $(CCFLAGS) $(LIBRARY_PATH) $(LDFLAGS)
+
+clean:
+       @rm -f *.o $(APP)
+
+nbodyf: nbodyf.f90
+       $(F90) nbodyf.f90 -o nbodyf $(F90FLAGS) $(MODS) $(OGLLIBDIR) $(F90GLUTLIB) $(X11LIBDIR) $(X11LIB)
+
+nbody: nbody.c
+       $(GCC) -o nbody nbody.c $(INCLUDE_PATH) $(CCFLAGS) $(LIBRARY_PATH) $(LDFLAGS)
+
diff --git a/course/semester2/pprog/assignment1/bodiesfield_10 b/course/semester2/pprog/assignment1/bodiesfield_10
new file mode 100644 (file)
index 0000000..6ef7937
--- /dev/null
@@ -0,0 +1,11 @@
+10
+1e11 0 0 0 0 0 0
+1e7 -7.000000 73.000000 0.000000 0.800000 0.076712 0.003000
+1e7 -23.000000 -40.000000 0.200000 0.400000 -0.230000 0.003000
+1e7 -27.000000 40.000000 -0.300000 0.800000 0.540000 0.002000
+1e7 -60.000000 99.000000 -0.600000 0.400000 0.242424 0.001000
+1e7 -12.000000 -10.000000 -0.900000 0.800000 -0.960000 0.001000
+1e7 67.000000 93.000000 -0.500000 0.600000 -0.432258 0.001000
+1e7 -94.000000 -1.000000 0.800000 0.600000 -56.400000 0.001000
+1e7 24.000000 -30.000000 0.200000 0.800000 0.640000 0.004000
+1e7 -1.000000 77.000000 -0.800000 0.600000 0.007792 0.001000
diff --git a/course/semester2/pprog/assignment1/bodiesfield_100 b/course/semester2/pprog/assignment1/bodiesfield_100
new file mode 100644 (file)
index 0000000..72a4325
--- /dev/null
@@ -0,0 +1,101 @@
+100
+1e11 0 0 0 0 0 0
+1e7 -7.000000 73.000000 0.000000 0.800000 0.076712 0.003000
+1e7 -23.000000 -40.000000 0.200000 0.400000 -0.230000 0.003000
+1e7 -27.000000 40.000000 -0.300000 0.800000 0.540000 0.002000
+1e7 -60.000000 99.000000 -0.600000 0.400000 0.242424 0.001000
+1e7 -12.000000 -10.000000 -0.900000 0.800000 -0.960000 0.001000
+1e7 67.000000 93.000000 -0.500000 0.600000 -0.432258 0.001000
+1e7 -94.000000 -1.000000 0.800000 0.600000 -56.400000 0.001000
+1e7 24.000000 -30.000000 0.200000 0.800000 0.640000 0.004000
+1e7 -1.000000 77.000000 -0.800000 0.600000 0.007792 0.001000
+1e7 -35.000000 65.000000 0.300000 0.200000 0.107692 0.004000
+1e7 15.000000 -29.000000 -0.700000 0.200000 0.103448 0.004000
+1e7 51.000000 -88.000000 0.500000 0.400000 0.231818 0.001000
+1e7 -16.000000 38.000000 -0.100000 0.200000 0.084211 0.003000
+1e7 37.000000 -77.000000 0.400000 0.800000 0.384416 0.001000
+1e7 -45.000000 35.000000 -0.200000 0.600000 0.771429 0.002000
+1e7 -60.000000 94.000000 0.500000 0.600000 0.382979 0.001000
+1e7 6.000000 -42.000000 0.200000 0.400000 0.057143 0.001000
+1e7 95.000000 -71.000000 -0.000000 0.600000 0.802817 0.002000
+1e7 16.000000 -40.000000 0.500000 0.400000 0.160000 0.003000
+1e7 -95.000000 -54.000000 0.900000 0.200000 -0.351852 0.001000
+1e7 23.000000 13.000000 0.800000 0.200000 -0.353846 0.004000
+1e7 66.000000 26.000000 0.300000 0.800000 -2.030769 0.001000
+1e7 -50.000000 -23.000000 -0.500000 0.400000 -0.869565 0.004000
+1e7 -47.000000 -96.000000 0.300000 0.800000 -0.391667 0.003000
+1e7 -35.000000 25.000000 -0.200000 0.800000 1.120000 0.002000
+1e7 -44.000000 18.000000 -0.200000 0.200000 0.488889 0.003000
+1e7 -69.000000 -53.000000 0.500000 0.400000 -0.520755 0.001000
+1e7 -8.000000 -61.000000 0.500000 0.200000 -0.026230 0.001000
+1e7 -67.000000 -74.000000 -0.600000 0.400000 -0.362162 0.001000
+1e7 94.000000 -55.000000 -0.700000 0.600000 1.025455 0.004000
+1e7 -80.000000 55.000000 0.300000 0.200000 0.290909 0.003000
+1e7 -49.000000 44.000000 -0.800000 0.200000 0.222727 0.004000
+1e7 -3.000000 31.000000 -0.900000 0.800000 0.077419 0.001000
+1e7 -29.000000 54.000000 -0.700000 0.400000 0.214815 0.001000
+1e7 0.000000 -64.000000 0.800000 0.200000 0.000000 0.001000
+1e7 76.000000 -54.000000 -0.400000 0.600000 0.844444 0.001000
+1e7 -78.000000 -9.000000 -0.300000 0.400000 -3.466667 0.002000
+1e7 73.000000 5.000000 0.300000 0.200000 -2.920000 0.001000
+1e7 0.000000 -70.000000 0.600000 0.200000 0.000000 0.003000
+1e7 57.000000 78.000000 -0.700000 0.600000 -0.438462 0.004000
+1e7 -19.000000 -33.000000 0.000000 0.600000 -0.345455 0.002000
+1e7 31.000000 -89.000000 0.700000 0.600000 0.208989 0.001000
+1e7 54.000000 -15.000000 0.000000 0.200000 0.720000 0.001000
+1e7 7.000000 1.000000 -0.500000 0.600000 -4.200000 0.004000
+1e7 93.000000 54.000000 -0.700000 0.800000 -1.377778 0.001000
+1e7 63.000000 -17.000000 -0.900000 0.400000 1.482353 0.004000
+1e7 -95.000000 -73.000000 -0.800000 0.600000 -0.780822 0.004000
+1e7 6.000000 24.000000 -0.300000 0.400000 -0.100000 0.001000
+1e7 -50.000000 -80.000000 0.000000 0.600000 -0.375000 0.003000
+1e7 3.000000 50.000000 -0.000000 0.400000 -0.024000 0.004000
+1e7 49.000000 -49.000000 -0.000000 0.600000 0.600000 0.001000
+1e7 -40.000000 -50.000000 0.900000 0.200000 -0.160000 0.004000
+1e7 -30.000000 76.000000 0.400000 0.200000 0.078947 0.001000
+1e7 64.000000 -98.000000 -0.000000 0.200000 0.130612 0.001000
+1e7 5.000000 18.000000 -0.900000 0.200000 -0.055556 0.001000
+1e7 -12.000000 -88.000000 0.800000 0.800000 -0.109091 0.001000
+1e7 -57.000000 90.000000 -0.000000 0.600000 0.380000 0.001000
+1e7 60.000000 3.000000 -0.700000 0.200000 -4.000000 0.001000
+1e7 -99.000000 -71.000000 -0.400000 0.200000 -0.278873 0.002000
+1e7 48.000000 15.000000 -0.500000 0.200000 -0.640000 0.001000
+1e7 39.000000 -5.000000 -0.300000 0.200000 1.560000 0.001000
+1e7 4.000000 98.000000 0.000000 0.200000 -0.008163 0.002000
+1e7 -52.000000 -98.000000 0.100000 0.200000 -0.106122 0.001000
+1e7 -28.000000 -61.000000 0.000000 0.600000 -0.275410 0.003000
+1e7 27.000000 -11.000000 -0.400000 0.400000 0.981818 0.002000
+1e7 -95.000000 42.000000 -0.600000 0.800000 1.809524 0.001000
+1e7 -97.000000 3.000000 0.800000 0.200000 6.466667 0.001000
+1e7 10.000000 -5.000000 0.100000 0.200000 0.400000 0.004000
+1e7 -65.000000 36.000000 0.500000 0.400000 0.722222 0.004000
+1e7 76.000000 76.000000 0.700000 0.800000 -0.800000 0.001000
+1e7 10.000000 11.000000 0.800000 0.800000 -0.727273 0.001000
+1e7 -67.000000 18.000000 0.500000 0.600000 2.233333 0.004000
+1e7 -34.000000 40.000000 0.000000 0.200000 0.170000 0.003000
+1e7 -48.000000 11.000000 0.400000 0.400000 1.745455 0.001000
+1e7 45.000000 15.000000 -0.000000 0.400000 -1.200000 0.004000
+1e7 -47.000000 -93.000000 0.900000 0.800000 -0.404301 0.001000
+1e7 -25.000000 -58.000000 -0.000000 0.200000 -0.086207 0.002000
+1e7 46.000000 43.000000 -0.600000 0.800000 -0.855814 0.001000
+1e7 47.000000 -59.000000 -0.500000 0.400000 0.318644 0.004000
+1e7 89.000000 -34.000000 -0.900000 0.200000 0.523529 0.001000
+1e7 -61.000000 -19.000000 0.300000 0.600000 -1.926316 0.004000
+1e7 -4.000000 -79.000000 -0.100000 0.800000 -0.040506 0.001000
+1e7 21.000000 6.000000 0.300000 0.400000 -1.400000 0.001000
+1e7 -54.000000 17.000000 -0.900000 0.400000 1.270588 0.002000
+1e7 -79.000000 16.000000 -0.200000 0.800000 3.950000 0.003000
+1e7 -3.000000 61.000000 -0.600000 0.400000 0.019672 0.001000
+1e7 55.000000 -94.000000 0.100000 0.600000 0.351064 0.002000
+1e7 32.000000 91.000000 0.200000 0.200000 -0.070330 0.003000
+1e7 39.000000 99.000000 -0.500000 0.600000 -0.236364 0.002000
+1e7 -86.000000 50.000000 -0.300000 0.200000 0.344000 0.003000
+1e7 -11.000000 92.000000 -0.900000 0.800000 0.095652 0.001000
+1e7 -36.000000 -57.000000 -0.800000 0.200000 -0.126316 0.003000
+1e7 -76.000000 91.000000 0.100000 0.200000 0.167033 0.001000
+1e7 90.000000 64.000000 -0.400000 0.200000 -0.281250 0.002000
+1e7 79.000000 37.000000 -0.100000 0.200000 -0.427027 0.002000
+1e7 32.000000 -54.000000 -0.700000 0.400000 0.237037 0.001000
+1e7 19.000000 -77.000000 0.600000 0.800000 0.197403 0.002000
+1e7 59.000000 90.000000 0.800000 0.800000 -0.524444 0.003000
+1e7 -50.000000 -95.000000 -0.100000 0.200000 -0.105263 0.001000
diff --git a/course/semester2/pprog/assignment1/bodiesfield_500 b/course/semester2/pprog/assignment1/bodiesfield_500
new file mode 100644 (file)
index 0000000..65a1360
--- /dev/null
@@ -0,0 +1,501 @@
+500
+1e11 0 0 0 0 0 0
+1e7 -7.000000 73.000000 0.000000 0.800000 0.076712 0.003000
+1e7 -23.000000 -40.000000 0.200000 0.400000 -0.230000 0.003000
+1e7 -27.000000 40.000000 -0.300000 0.800000 0.540000 0.002000
+1e7 -60.000000 99.000000 -0.600000 0.400000 0.242424 0.001000
+1e7 -12.000000 -10.000000 -0.900000 0.800000 -0.960000 0.001000
+1e7 67.000000 93.000000 -0.500000 0.600000 -0.432258 0.001000
+1e7 -94.000000 -1.000000 0.800000 0.600000 -56.400000 0.001000
+1e7 24.000000 -30.000000 0.200000 0.800000 0.640000 0.004000
+1e7 -1.000000 77.000000 -0.800000 0.600000 0.007792 0.001000
+1e7 -35.000000 65.000000 0.300000 0.200000 0.107692 0.004000
+1e7 15.000000 -29.000000 -0.700000 0.200000 0.103448 0.004000
+1e7 51.000000 -88.000000 0.500000 0.400000 0.231818 0.001000
+1e7 -16.000000 38.000000 -0.100000 0.200000 0.084211 0.003000
+1e7 37.000000 -77.000000 0.400000 0.800000 0.384416 0.001000
+1e7 -45.000000 35.000000 -0.200000 0.600000 0.771429 0.002000
+1e7 -60.000000 94.000000 0.500000 0.600000 0.382979 0.001000
+1e7 6.000000 -42.000000 0.200000 0.400000 0.057143 0.001000
+1e7 95.000000 -71.000000 -0.000000 0.600000 0.802817 0.002000
+1e7 16.000000 -40.000000 0.500000 0.400000 0.160000 0.003000
+1e7 -95.000000 -54.000000 0.900000 0.200000 -0.351852 0.001000
+1e7 23.000000 13.000000 0.800000 0.200000 -0.353846 0.004000
+1e7 66.000000 26.000000 0.300000 0.800000 -2.030769 0.001000
+1e7 -50.000000 -23.000000 -0.500000 0.400000 -0.869565 0.004000
+1e7 -47.000000 -96.000000 0.300000 0.800000 -0.391667 0.003000
+1e7 -35.000000 25.000000 -0.200000 0.800000 1.120000 0.002000
+1e7 -44.000000 18.000000 -0.200000 0.200000 0.488889 0.003000
+1e7 -69.000000 -53.000000 0.500000 0.400000 -0.520755 0.001000
+1e7 -8.000000 -61.000000 0.500000 0.200000 -0.026230 0.001000
+1e7 -67.000000 -74.000000 -0.600000 0.400000 -0.362162 0.001000
+1e7 94.000000 -55.000000 -0.700000 0.600000 1.025455 0.004000
+1e7 -80.000000 55.000000 0.300000 0.200000 0.290909 0.003000
+1e7 -49.000000 44.000000 -0.800000 0.200000 0.222727 0.004000
+1e7 -3.000000 31.000000 -0.900000 0.800000 0.077419 0.001000
+1e7 -29.000000 54.000000 -0.700000 0.400000 0.214815 0.001000
+1e7 0.000000 -64.000000 0.800000 0.200000 0.000000 0.001000
+1e7 76.000000 -54.000000 -0.400000 0.600000 0.844444 0.001000
+1e7 -78.000000 -9.000000 -0.300000 0.400000 -3.466667 0.002000
+1e7 73.000000 5.000000 0.300000 0.200000 -2.920000 0.001000
+1e7 0.000000 -70.000000 0.600000 0.200000 0.000000 0.003000
+1e7 57.000000 78.000000 -0.700000 0.600000 -0.438462 0.004000
+1e7 -19.000000 -33.000000 0.000000 0.600000 -0.345455 0.002000
+1e7 31.000000 -89.000000 0.700000 0.600000 0.208989 0.001000
+1e7 54.000000 -15.000000 0.000000 0.200000 0.720000 0.001000
+1e7 7.000000 1.000000 -0.500000 0.600000 -4.200000 0.004000
+1e7 93.000000 54.000000 -0.700000 0.800000 -1.377778 0.001000
+1e7 63.000000 -17.000000 -0.900000 0.400000 1.482353 0.004000
+1e7 -95.000000 -73.000000 -0.800000 0.600000 -0.780822 0.004000
+1e7 6.000000 24.000000 -0.300000 0.400000 -0.100000 0.001000
+1e7 -50.000000 -80.000000 0.000000 0.600000 -0.375000 0.003000
+1e7 3.000000 50.000000 -0.000000 0.400000 -0.024000 0.004000
+1e7 49.000000 -49.000000 -0.000000 0.600000 0.600000 0.001000
+1e7 -40.000000 -50.000000 0.900000 0.200000 -0.160000 0.004000
+1e7 -30.000000 76.000000 0.400000 0.200000 0.078947 0.001000
+1e7 64.000000 -98.000000 -0.000000 0.200000 0.130612 0.001000
+1e7 5.000000 18.000000 -0.900000 0.200000 -0.055556 0.001000
+1e7 -12.000000 -88.000000 0.800000 0.800000 -0.109091 0.001000
+1e7 -57.000000 90.000000 -0.000000 0.600000 0.380000 0.001000
+1e7 60.000000 3.000000 -0.700000 0.200000 -4.000000 0.001000
+1e7 -99.000000 -71.000000 -0.400000 0.200000 -0.278873 0.002000
+1e7 48.000000 15.000000 -0.500000 0.200000 -0.640000 0.001000
+1e7 39.000000 -5.000000 -0.300000 0.200000 1.560000 0.001000
+1e7 4.000000 98.000000 0.000000 0.200000 -0.008163 0.002000
+1e7 -52.000000 -98.000000 0.100000 0.200000 -0.106122 0.001000
+1e7 -28.000000 -61.000000 0.000000 0.600000 -0.275410 0.003000
+1e7 27.000000 -11.000000 -0.400000 0.400000 0.981818 0.002000
+1e7 -95.000000 42.000000 -0.600000 0.800000 1.809524 0.001000
+1e7 -97.000000 3.000000 0.800000 0.200000 6.466667 0.001000
+1e7 10.000000 -5.000000 0.100000 0.200000 0.400000 0.004000
+1e7 -65.000000 36.000000 0.500000 0.400000 0.722222 0.004000
+1e7 76.000000 76.000000 0.700000 0.800000 -0.800000 0.001000
+1e7 10.000000 11.000000 0.800000 0.800000 -0.727273 0.001000
+1e7 -67.000000 18.000000 0.500000 0.600000 2.233333 0.004000
+1e7 -34.000000 40.000000 0.000000 0.200000 0.170000 0.003000
+1e7 -48.000000 11.000000 0.400000 0.400000 1.745455 0.001000
+1e7 45.000000 15.000000 -0.000000 0.400000 -1.200000 0.004000
+1e7 -47.000000 -93.000000 0.900000 0.800000 -0.404301 0.001000
+1e7 -25.000000 -58.000000 -0.000000 0.200000 -0.086207 0.002000
+1e7 46.000000 43.000000 -0.600000 0.800000 -0.855814 0.001000
+1e7 47.000000 -59.000000 -0.500000 0.400000 0.318644 0.004000
+1e7 89.000000 -34.000000 -0.900000 0.200000 0.523529 0.001000
+1e7 -61.000000 -19.000000 0.300000 0.600000 -1.926316 0.004000
+1e7 -4.000000 -79.000000 -0.100000 0.800000 -0.040506 0.001000
+1e7 21.000000 6.000000 0.300000 0.400000 -1.400000 0.001000
+1e7 -54.000000 17.000000 -0.900000 0.400000 1.270588 0.002000
+1e7 -79.000000 16.000000 -0.200000 0.800000 3.950000 0.003000
+1e7 -3.000000 61.000000 -0.600000 0.400000 0.019672 0.001000
+1e7 55.000000 -94.000000 0.100000 0.600000 0.351064 0.002000
+1e7 32.000000 91.000000 0.200000 0.200000 -0.070330 0.003000
+1e7 39.000000 99.000000 -0.500000 0.600000 -0.236364 0.002000
+1e7 -86.000000 50.000000 -0.300000 0.200000 0.344000 0.003000
+1e7 -11.000000 92.000000 -0.900000 0.800000 0.095652 0.001000
+1e7 -36.000000 -57.000000 -0.800000 0.200000 -0.126316 0.003000
+1e7 -76.000000 91.000000 0.100000 0.200000 0.167033 0.001000
+1e7 90.000000 64.000000 -0.400000 0.200000 -0.281250 0.002000
+1e7 79.000000 37.000000 -0.100000 0.200000 -0.427027 0.002000
+1e7 32.000000 -54.000000 -0.700000 0.400000 0.237037 0.001000
+1e7 19.000000 -77.000000 0.600000 0.800000 0.197403 0.002000
+1e7 59.000000 90.000000 0.800000 0.800000 -0.524444 0.003000
+1e7 -50.000000 -95.000000 -0.100000 0.200000 -0.105263 0.001000
+1e7 57.000000 -28.000000 -0.300000 0.800000 1.628571 0.001000
+1e7 -3.000000 75.000000 -0.000000 0.400000 0.016000 0.004000
+1e7 -63.000000 89.000000 -0.500000 0.800000 0.566292 0.004000
+1e7 63.000000 52.000000 0.600000 0.200000 -0.242308 0.001000
+1e7 50.000000 -41.000000 -0.600000 0.200000 0.243902 0.004000
+1e7 -28.000000 -48.000000 -0.300000 0.800000 -0.466667 0.003000
+1e7 -19.000000 20.000000 0.900000 0.200000 0.190000 0.001000
+1e7 13.000000 38.000000 0.400000 0.600000 -0.205263 0.001000
+1e7 80.000000 -96.000000 -0.000000 0.600000 0.500000 0.003000
+1e7 -52.000000 24.000000 0.000000 0.400000 0.866667 0.003000
+1e7 98.000000 45.000000 0.900000 0.800000 -1.742222 0.003000
+1e7 -90.000000 -43.000000 0.500000 0.200000 -0.418605 0.001000
+1e7 51.000000 -51.000000 0.300000 0.400000 0.400000 0.004000
+1e7 98.000000 -37.000000 0.800000 0.400000 1.059459 0.001000
+1e7 -60.000000 -40.000000 0.600000 0.400000 -0.600000 0.003000
+1e7 69.000000 23.000000 -0.300000 0.200000 -0.600000 0.001000
+1e7 78.000000 -94.000000 -0.600000 0.200000 0.165957 0.001000
+1e7 -44.000000 76.000000 0.200000 0.800000 0.463158 0.004000
+1e7 19.000000 71.000000 -0.300000 0.800000 -0.214085 0.003000
+1e7 54.000000 81.000000 -0.800000 0.800000 -0.533333 0.004000
+1e7 79.000000 -61.000000 -0.300000 0.600000 0.777049 0.004000
+1e7 80.000000 83.000000 -0.600000 0.400000 -0.385542 0.004000
+1e7 39.000000 -51.000000 -0.600000 0.200000 0.152941 0.004000
+1e7 -27.000000 -81.000000 0.600000 0.200000 -0.066667 0.001000
+1e7 72.000000 98.000000 -0.700000 0.800000 -0.587755 0.001000
+1e7 -90.000000 -12.000000 -0.200000 0.200000 -1.500000 0.001000
+1e7 -21.000000 28.000000 -0.000000 0.800000 0.600000 0.002000
+1e7 94.000000 -32.000000 -0.700000 0.400000 1.175000 0.002000
+1e7 -83.000000 53.000000 0.100000 0.600000 0.939623 0.001000
+1e7 0.000000 20.000000 -0.900000 0.800000 -0.000000 0.001000
+1e7 70.000000 99.000000 0.800000 0.400000 -0.282828 0.003000
+1e7 0.000000 -40.000000 -0.500000 0.200000 0.000000 0.004000
+1e7 -78.000000 61.000000 0.800000 0.200000 0.255738 0.001000
+1e7 70.000000 51.000000 -0.900000 0.800000 -1.098039 0.001000
+1e7 -72.000000 -25.000000 -0.000000 0.600000 -1.728000 0.001000
+1e7 69.000000 94.000000 0.200000 0.800000 -0.587234 0.001000
+1e7 19.000000 -62.000000 0.500000 0.800000 0.245161 0.001000
+1e7 22.000000 93.000000 -0.200000 0.200000 -0.047312 0.003000
+1e7 23.000000 -39.000000 0.300000 0.600000 0.353846 0.001000
+1e7 -71.000000 55.000000 0.900000 0.200000 0.258182 0.002000
+1e7 12.000000 47.000000 0.100000 0.200000 -0.051064 0.003000
+1e7 -36.000000 -7.000000 -0.600000 0.400000 -2.057143 0.001000
+1e7 -40.000000 -57.000000 -0.500000 0.200000 -0.140351 0.003000
+1e7 94.000000 -38.000000 0.500000 0.400000 0.989474 0.003000
+1e7 62.000000 36.000000 0.300000 0.800000 -1.377778 0.002000
+1e7 19.000000 -28.000000 -0.200000 0.200000 0.135714 0.002000
+1e7 72.000000 1.000000 0.800000 0.200000 -14.400000 0.003000
+1e7 -0.000000 -92.000000 0.300000 0.200000 -0.000000 0.004000
+1e7 21.000000 -13.000000 -0.100000 0.800000 1.292308 0.001000
+1e7 56.000000 54.000000 -0.400000 0.400000 -0.414815 0.001000
+1e7 -97.000000 60.000000 -0.100000 0.800000 1.293333 0.003000
+1e7 77.000000 -84.000000 -0.000000 0.800000 0.733333 0.004000
+1e7 9.000000 -64.000000 -0.200000 0.800000 0.112500 0.002000
+1e7 83.000000 59.000000 -0.300000 0.200000 -0.281356 0.001000
+1e7 -53.000000 -96.000000 0.100000 0.200000 -0.110417 0.003000
+1e7 20.000000 87.000000 -0.200000 0.200000 -0.045977 0.004000
+1e7 51.000000 45.000000 0.400000 0.200000 -0.226667 0.002000
+1e7 -26.000000 -44.000000 -0.900000 0.800000 -0.472727 0.003000
+1e7 48.000000 -17.000000 0.800000 0.800000 2.258824 0.001000
+1e7 68.000000 -99.000000 0.900000 0.600000 0.412121 0.001000
+1e7 19.000000 37.000000 -0.800000 0.600000 -0.308108 0.003000
+1e7 20.000000 -61.000000 -0.800000 0.200000 0.065574 0.001000
+1e7 78.000000 -63.000000 0.600000 0.600000 0.742857 0.004000
+1e7 -19.000000 77.000000 0.300000 0.600000 0.148052 0.001000
+1e7 -71.000000 4.000000 -0.200000 0.200000 3.550000 0.001000
+1e7 68.000000 10.000000 0.000000 0.200000 -1.360000 0.001000
+1e7 -79.000000 -27.000000 -0.300000 0.200000 -0.585185 0.004000
+1e7 -83.000000 -84.000000 -0.600000 0.800000 -0.790476 0.003000
+1e7 -86.000000 -24.000000 0.400000 0.400000 -1.433333 0.001000
+1e7 10.000000 5.000000 -0.200000 0.200000 -0.400000 0.001000
+1e7 6.000000 60.000000 0.300000 0.200000 -0.020000 0.001000
+1e7 -85.000000 84.000000 0.000000 0.200000 0.202381 0.001000
+1e7 99.000000 -28.000000 0.700000 0.400000 1.414286 0.004000
+1e7 -78.000000 89.000000 -0.500000 0.800000 0.701124 0.001000
+1e7 21.000000 14.000000 -0.600000 0.200000 -0.300000 0.004000
+1e7 1.000000 -44.000000 0.800000 0.200000 0.004545 0.001000
+1e7 20.000000 -24.000000 -0.800000 0.400000 0.333333 0.001000
+1e7 14.000000 -99.000000 0.300000 0.800000 0.113131 0.004000
+1e7 21.000000 36.000000 -0.200000 0.600000 -0.350000 0.001000
+1e7 -88.000000 -38.000000 -0.100000 0.200000 -0.463158 0.002000
+1e7 -92.000000 75.000000 -0.300000 0.200000 0.245333 0.001000
+1e7 -47.000000 32.000000 -0.800000 0.800000 1.175000 0.001000
+1e7 -54.000000 -37.000000 -0.100000 0.800000 -1.167568 0.004000
+1e7 -16.000000 38.000000 0.300000 0.200000 0.084211 0.001000
+1e7 24.000000 -63.000000 -0.200000 0.400000 0.152381 0.001000
+1e7 36.000000 8.000000 0.100000 0.200000 -0.900000 0.004000
+1e7 12.000000 -37.000000 -0.500000 0.200000 0.064865 0.001000
+1e7 -8.000000 -39.000000 0.900000 0.800000 -0.164103 0.001000
+1e7 -15.000000 22.000000 -0.000000 0.200000 0.136364 0.001000
+1e7 25.000000 -94.000000 -0.200000 0.200000 0.053191 0.001000
+1e7 -34.000000 -81.000000 -0.800000 0.400000 -0.167901 0.001000
+1e7 -51.000000 42.000000 -0.500000 0.400000 0.485714 0.003000
+1e7 -22.000000 -41.000000 0.900000 0.200000 -0.107317 0.004000
+1e7 55.000000 64.000000 -0.300000 0.600000 -0.515625 0.004000
+1e7 -55.000000 81.000000 -0.400000 0.200000 0.135802 0.001000
+1e7 -64.000000 -22.000000 0.300000 0.600000 -1.745455 0.004000
+1e7 -88.000000 39.000000 0.300000 0.800000 1.805128 0.002000
+1e7 17.000000 -82.000000 -0.900000 0.200000 0.041463 0.004000
+1e7 -10.000000 15.000000 -0.200000 0.200000 0.133333 0.002000
+1e7 -8.000000 -99.000000 0.300000 0.200000 -0.016162 0.001000
+1e7 -2.000000 -53.000000 0.600000 0.800000 -0.030189 0.002000
+1e7 -3.000000 -29.000000 0.200000 0.400000 -0.041379 0.004000
+1e7 -26.000000 -55.000000 0.200000 0.400000 -0.189091 0.004000
+1e7 -86.000000 79.000000 -0.000000 0.200000 0.217722 0.003000
+1e7 -27.000000 -98.000000 -0.700000 0.200000 -0.055102 0.001000
+1e7 63.000000 83.000000 -0.200000 0.200000 -0.151807 0.001000
+1e7 -42.000000 53.000000 0.000000 0.200000 0.158491 0.002000
+1e7 -10.000000 58.000000 0.300000 0.800000 0.137931 0.001000
+1e7 62.000000 54.000000 0.600000 0.200000 -0.229630 0.001000
+1e7 -77.000000 58.000000 -0.000000 0.400000 0.531034 0.001000
+1e7 62.000000 37.000000 -0.700000 0.400000 -0.670270 0.003000
+1e7 -58.000000 -43.000000 -0.100000 0.400000 -0.539535 0.001000
+1e7 17.000000 24.000000 -0.900000 0.200000 -0.141667 0.001000
+1e7 51.000000 -22.000000 -0.500000 0.200000 0.463636 0.004000
+1e7 31.000000 23.000000 0.400000 0.600000 -0.808696 0.001000
+1e7 -59.000000 -65.000000 -0.700000 0.600000 -0.544615 0.001000
+1e7 24.000000 -75.000000 0.900000 0.200000 0.064000 0.003000
+1e7 57.000000 61.000000 0.400000 0.200000 -0.186885 0.001000
+1e7 86.000000 -43.000000 0.800000 0.400000 0.800000 0.004000
+1e7 -25.000000 63.000000 0.000000 0.800000 0.317460 0.002000
+1e7 -14.000000 -89.000000 -0.500000 0.800000 -0.125843 0.001000
+1e7 -8.000000 -49.000000 0.900000 0.200000 -0.032653 0.003000
+1e7 85.000000 -18.000000 -0.900000 0.600000 2.833333 0.003000
+1e7 -59.000000 74.000000 0.500000 0.200000 0.159459 0.004000
+1e7 15.000000 13.000000 0.200000 0.600000 -0.692308 0.001000
+1e7 47.000000 6.000000 -0.600000 0.800000 -6.266667 0.001000
+1e7 70.000000 17.000000 0.400000 0.600000 -2.470588 0.002000
+1e7 98.000000 56.000000 -0.200000 0.200000 -0.350000 0.004000
+1e7 -4.000000 73.000000 -0.900000 0.800000 0.043836 0.002000
+1e7 -31.000000 -33.000000 0.000000 0.400000 -0.375758 0.004000
+1e7 71.000000 20.000000 -0.800000 0.400000 -1.420000 0.002000
+1e7 13.000000 56.000000 0.400000 0.200000 -0.046429 0.003000
+1e7 49.000000 -25.000000 0.100000 0.400000 0.784000 0.001000
+1e7 -54.000000 1.000000 0.200000 0.200000 10.800000 0.001000
+1e7 -87.000000 -65.000000 -0.100000 0.200000 -0.267692 0.001000
+1e7 -75.000000 -94.000000 0.400000 0.800000 -0.638298 0.004000
+1e7 -23.000000 -77.000000 0.700000 0.800000 -0.238961 0.002000
+1e7 -39.000000 -83.000000 0.000000 0.200000 -0.093976 0.001000
+1e7 -12.000000 38.000000 0.100000 0.400000 0.126316 0.003000
+1e7 60.000000 -87.000000 0.100000 0.800000 0.551724 0.001000
+1e7 95.000000 19.000000 0.300000 0.200000 -1.000000 0.003000
+1e7 93.000000 26.000000 -0.300000 0.200000 -0.715385 0.002000
+1e7 -61.000000 77.000000 0.200000 0.400000 0.316883 0.001000
+1e7 80.000000 51.000000 -0.300000 0.400000 -0.627451 0.001000
+1e7 -65.000000 -39.000000 -0.700000 0.200000 -0.333333 0.001000
+1e7 -25.000000 -27.000000 -0.700000 0.200000 -0.185185 0.004000
+1e7 22.000000 -53.000000 -0.800000 0.800000 0.332075 0.001000
+1e7 77.000000 1.000000 0.100000 0.600000 -46.200000 0.002000
+1e7 49.000000 27.000000 -0.900000 0.200000 -0.362963 0.001000
+1e7 24.000000 -20.000000 -0.900000 0.200000 0.240000 0.001000
+1e7 64.000000 -18.000000 -0.300000 0.800000 2.844444 0.003000
+1e7 -87.000000 13.000000 0.700000 0.400000 2.676923 0.002000
+1e7 62.000000 -40.000000 0.000000 0.200000 0.310000 0.004000
+1e7 20.000000 -17.000000 0.200000 0.200000 0.235294 0.001000
+1e7 -31.000000 -51.000000 0.100000 0.800000 -0.486275 0.002000
+1e7 34.000000 23.000000 0.100000 0.800000 -1.182609 0.001000
+1e7 45.000000 -23.000000 0.900000 0.200000 0.391304 0.002000
+1e7 92.000000 -46.000000 0.500000 0.200000 0.400000 0.004000
+1e7 -17.000000 95.000000 -0.400000 0.200000 0.035789 0.001000
+1e7 -56.000000 -97.000000 -0.900000 0.400000 -0.230928 0.001000
+1e7 -99.000000 20.000000 -0.800000 0.200000 0.990000 0.001000
+1e7 -33.000000 -93.000000 0.800000 0.200000 -0.070968 0.003000
+1e7 -30.000000 -86.000000 -0.900000 0.600000 -0.209302 0.001000
+1e7 -99.000000 14.000000 0.600000 0.600000 4.242857 0.003000
+1e7 -75.000000 55.000000 -0.800000 0.400000 0.545455 0.001000
+1e7 31.000000 -63.000000 0.900000 0.200000 0.098413 0.004000
+1e7 -82.000000 -96.000000 0.100000 0.200000 -0.170833 0.001000
+1e7 20.000000 -51.000000 0.000000 0.400000 0.156863 0.003000
+1e7 15.000000 61.000000 0.300000 0.200000 -0.049180 0.001000
+1e7 52.000000 79.000000 -0.200000 0.400000 -0.263291 0.001000
+1e7 -87.000000 -8.000000 0.600000 0.600000 -6.525000 0.003000
+1e7 88.000000 9.000000 0.300000 0.600000 -5.866667 0.001000
+1e7 -79.000000 74.000000 -0.100000 0.200000 0.213514 0.004000
+1e7 -94.000000 56.000000 -0.600000 0.600000 1.007143 0.004000
+1e7 57.000000 57.000000 -0.600000 0.600000 -0.600000 0.001000
+1e7 10.000000 66.000000 -0.800000 0.600000 -0.090909 0.002000
+1e7 -96.000000 24.000000 -0.800000 0.200000 0.800000 0.002000
+1e7 71.000000 14.000000 -0.900000 0.800000 -4.057143 0.003000
+1e7 94.000000 -27.000000 -0.200000 0.200000 0.696296 0.001000
+1e7 80.000000 9.000000 -0.300000 0.600000 -5.333333 0.004000
+1e7 38.000000 81.000000 0.000000 0.200000 -0.093827 0.003000
+1e7 -74.000000 42.000000 0.000000 0.200000 0.352381 0.004000
+1e7 20.000000 3.000000 -0.000000 0.400000 -2.666667 0.002000
+1e7 70.000000 -42.000000 -0.500000 0.800000 1.333333 0.002000
+1e7 74.000000 90.000000 -0.600000 0.600000 -0.493333 0.002000
+1e7 55.000000 75.000000 0.500000 0.400000 -0.293333 0.001000
+1e7 -37.000000 -83.000000 -0.600000 0.400000 -0.178313 0.002000
+1e7 -51.000000 -5.000000 0.700000 0.200000 -2.040000 0.001000
+1e7 -96.000000 -31.000000 -0.600000 0.200000 -0.619355 0.004000
+1e7 57.000000 -53.000000 -0.000000 0.600000 0.645283 0.004000
+1e7 -82.000000 -63.000000 -0.700000 0.400000 -0.520635 0.001000
+1e7 51.000000 22.000000 0.000000 0.200000 -0.463636 0.004000
+1e7 -17.000000 -39.000000 -0.200000 0.800000 -0.348718 0.003000
+1e7 -83.000000 -65.000000 0.700000 0.400000 -0.510769 0.002000
+1e7 79.000000 63.000000 -0.900000 0.200000 -0.250794 0.003000
+1e7 5.000000 44.000000 0.600000 0.800000 -0.090909 0.004000
+1e7 -88.000000 52.000000 -0.800000 0.200000 0.338462 0.002000
+1e7 -16.000000 45.000000 0.500000 0.600000 0.213333 0.002000
+1e7 5.000000 -54.000000 -0.000000 0.800000 0.074074 0.003000
+1e7 -39.000000 -45.000000 0.800000 0.400000 -0.346667 0.002000
+1e7 91.000000 -98.000000 0.400000 0.200000 0.185714 0.001000
+1e7 33.000000 92.000000 -0.000000 0.600000 -0.215217 0.003000
+1e7 -28.000000 -82.000000 -0.000000 0.200000 -0.068293 0.001000
+1e7 84.000000 47.000000 -0.800000 0.600000 -1.072340 0.003000
+1e7 -74.000000 61.000000 -0.400000 0.800000 0.970492 0.001000
+1e7 44.000000 -47.000000 -0.700000 0.200000 0.187234 0.003000
+1e7 -36.000000 46.000000 0.700000 0.200000 0.156522 0.003000
+1e7 -81.000000 94.000000 -0.400000 0.400000 0.344681 0.003000
+1e7 -17.000000 93.000000 -0.800000 0.400000 0.073118 0.001000
+1e7 80.000000 -26.000000 0.700000 0.400000 1.230769 0.001000
+1e7 38.000000 -45.000000 -0.500000 0.800000 0.675556 0.001000
+1e7 -41.000000 -81.000000 0.500000 0.600000 -0.303704 0.004000
+1e7 -63.000000 1.000000 -0.000000 0.800000 50.400000 0.002000
+1e7 -80.000000 74.000000 -0.600000 0.800000 0.864865 0.003000
+1e7 68.000000 66.000000 0.400000 0.200000 -0.206061 0.002000
+1e7 -15.000000 -41.000000 -0.800000 0.200000 -0.073171 0.001000
+1e7 61.000000 -72.000000 -0.400000 0.800000 0.677778 0.001000
+1e7 16.000000 83.000000 -0.300000 0.800000 -0.154217 0.003000
+1e7 -59.000000 72.000000 -0.200000 0.800000 0.655556 0.003000
+1e7 43.000000 -9.000000 -0.400000 0.200000 0.955556 0.004000
+1e7 83.000000 -85.000000 0.000000 0.800000 0.781176 0.003000
+1e7 33.000000 85.000000 0.500000 0.800000 -0.310588 0.001000
+1e7 -63.000000 3.000000 -0.300000 0.200000 4.200000 0.002000
+1e7 -89.000000 29.000000 0.900000 0.200000 0.613793 0.001000
+1e7 -11.000000 96.000000 -0.400000 0.600000 0.068750 0.002000
+1e7 20.000000 -65.000000 0.200000 0.200000 0.061538 0.001000
+1e7 -0.000000 -18.000000 -0.900000 0.600000 -0.000000 0.001000
+1e7 58.000000 67.000000 -0.100000 0.200000 -0.173134 0.002000
+1e7 -29.000000 91.000000 0.000000 0.400000 0.127473 0.001000
+1e7 -39.000000 84.000000 0.300000 0.600000 0.278571 0.001000
+1e7 -20.000000 -45.000000 -0.900000 0.400000 -0.177778 0.003000
+1e7 -67.000000 -69.000000 -0.900000 0.600000 -0.582609 0.003000
+1e7 -5.000000 -37.000000 0.900000 0.200000 -0.027027 0.001000
+1e7 72.000000 60.000000 -0.900000 0.800000 -0.960000 0.001000
+1e7 -80.000000 58.000000 0.500000 0.200000 0.275862 0.003000
+1e7 45.000000 -95.000000 0.000000 0.400000 0.189474 0.001000
+1e7 82.000000 1.000000 0.500000 0.800000 -65.600000 0.001000
+1e7 5.000000 77.000000 -0.900000 0.800000 -0.051948 0.001000
+1e7 -24.000000 -61.000000 -0.800000 0.400000 -0.157377 0.002000
+1e7 -13.000000 -51.000000 -0.800000 0.200000 -0.050980 0.001000
+1e7 -89.000000 99.000000 -0.400000 0.600000 0.539394 0.001000
+1e7 -47.000000 93.000000 -0.800000 0.200000 0.101075 0.004000
+1e7 53.000000 -87.000000 -0.900000 0.200000 0.121839 0.001000
+1e7 31.000000 49.000000 -0.900000 0.400000 -0.253061 0.004000
+1e7 84.000000 -53.000000 0.800000 0.600000 0.950943 0.003000
+1e7 7.000000 58.000000 -0.500000 0.400000 -0.048276 0.002000
+1e7 29.000000 -60.000000 -0.700000 0.800000 0.386667 0.001000
+1e7 -64.000000 -36.000000 0.100000 0.200000 -0.355556 0.001000
+1e7 -59.000000 -49.000000 0.200000 0.200000 -0.240816 0.001000
+1e7 42.000000 21.000000 -0.400000 0.600000 -1.200000 0.002000
+1e7 -1.000000 48.000000 0.200000 0.200000 0.004167 0.003000
+1e7 2.000000 19.000000 0.700000 0.200000 -0.021053 0.003000
+1e7 8.000000 -33.000000 0.700000 0.800000 0.193939 0.003000
+1e7 -10.000000 5.000000 -0.700000 0.800000 1.600000 0.004000
+1e7 7.000000 -14.000000 0.900000 0.400000 0.200000 0.001000
+1e7 -48.000000 -13.000000 -0.000000 0.200000 -0.738462 0.003000
+1e7 56.000000 26.000000 -0.200000 0.800000 -1.723077 0.001000
+1e7 -96.000000 41.000000 0.500000 0.200000 0.468293 0.003000
+1e7 7.000000 -92.000000 -0.200000 0.600000 0.045652 0.003000
+1e7 3.000000 17.000000 0.800000 0.600000 -0.105882 0.001000
+1e7 -88.000000 -66.000000 0.800000 0.400000 -0.533333 0.002000
+1e7 22.000000 -31.000000 -0.000000 0.800000 0.567742 0.001000
+1e7 -5.000000 42.000000 0.800000 0.200000 0.023810 0.002000
+1e7 -73.000000 -97.000000 0.200000 0.200000 -0.150515 0.003000
+1e7 17.000000 23.000000 -0.600000 0.800000 -0.591304 0.004000
+1e7 42.000000 97.000000 -0.100000 0.800000 -0.346392 0.002000
+1e7 25.000000 -72.000000 -0.700000 0.400000 0.138889 0.001000
+1e7 -82.000000 44.000000 -0.300000 0.200000 0.372727 0.004000
+1e7 -23.000000 -64.000000 -0.800000 0.600000 -0.215625 0.003000
+1e7 27.000000 33.000000 -0.100000 0.800000 -0.654545 0.004000
+1e7 -30.000000 -76.000000 0.700000 0.600000 -0.236842 0.004000
+1e7 15.000000 -47.000000 0.500000 0.200000 0.063830 0.004000
+1e7 47.000000 -38.000000 -0.200000 0.800000 0.989474 0.002000
+1e7 -46.000000 40.000000 0.100000 0.400000 0.460000 0.001000
+1e7 -69.000000 8.000000 -0.300000 0.200000 1.725000 0.001000
+1e7 2.000000 -70.000000 0.700000 0.600000 0.017143 0.001000
+1e7 -5.000000 -14.000000 -0.500000 0.800000 -0.285714 0.002000
+1e7 -90.000000 82.000000 -0.300000 0.800000 0.878049 0.001000
+1e7 4.000000 27.000000 0.400000 0.800000 -0.118519 0.002000
+1e7 48.000000 -4.000000 0.500000 0.200000 2.400000 0.002000
+1e7 25.000000 54.000000 -0.300000 0.200000 -0.092593 0.004000
+1e7 70.000000 -4.000000 0.900000 0.200000 3.500000 0.001000
+1e7 79.000000 20.000000 0.100000 0.800000 -3.160000 0.002000
+1e7 2.000000 -4.000000 0.000000 0.600000 0.300000 0.002000
+1e7 1.000000 82.000000 -0.500000 0.600000 -0.007317 0.001000
+1e7 68.000000 -27.000000 -0.400000 0.400000 1.007407 0.002000
+1e7 -20.000000 12.000000 0.300000 0.200000 0.333333 0.002000
+1e7 -67.000000 -88.000000 0.300000 0.200000 -0.152273 0.003000
+1e7 -32.000000 -50.000000 -0.000000 0.600000 -0.384000 0.001000
+1e7 -74.000000 -18.000000 0.000000 0.200000 -0.822222 0.002000
+1e7 -19.000000 93.000000 -0.900000 0.600000 0.122581 0.001000
+1e7 -98.000000 57.000000 0.800000 0.200000 0.343860 0.002000
+1e7 -52.000000 -93.000000 -0.100000 0.400000 -0.223656 0.003000
+1e7 -63.000000 -22.000000 0.800000 0.200000 -0.572727 0.004000
+1e7 -63.000000 10.000000 -0.300000 0.400000 2.520000 0.004000
+1e7 7.000000 84.000000 0.500000 0.600000 -0.050000 0.004000
+1e7 26.000000 -34.000000 -0.800000 0.800000 0.611765 0.001000
+1e7 -69.000000 96.000000 0.300000 0.200000 0.143750 0.003000
+1e7 0.000000 -79.000000 -0.900000 0.800000 0.000000 0.004000
+1e7 -84.000000 -44.000000 -0.700000 0.800000 -1.527273 0.002000
+1e7 95.000000 -91.000000 0.800000 0.600000 0.626374 0.003000
+1e7 -23.000000 80.000000 -0.300000 0.200000 0.057500 0.004000
+1e7 -93.000000 43.000000 -0.600000 0.200000 0.432558 0.001000
+1e7 76.000000 35.000000 -0.800000 0.400000 -0.868571 0.001000
+1e7 -47.000000 -14.000000 -0.000000 0.200000 -0.671429 0.001000
+1e7 43.000000 15.000000 -0.200000 0.600000 -1.720000 0.001000
+1e7 -12.000000 -80.000000 0.700000 0.600000 -0.090000 0.003000
+1e7 6.000000 76.000000 -0.800000 0.200000 -0.015789 0.004000
+1e7 9.000000 -96.000000 0.600000 0.200000 0.018750 0.001000
+1e7 -58.000000 3.000000 -0.600000 0.200000 3.866667 0.001000
+1e7 -27.000000 -52.000000 -0.400000 0.200000 -0.103846 0.002000
+1e7 51.000000 83.000000 0.900000 0.400000 -0.245783 0.001000
+1e7 36.000000 -60.000000 0.400000 0.200000 0.120000 0.002000
+1e7 99.000000 19.000000 0.300000 0.200000 -1.042105 0.001000
+1e7 46.000000 -20.000000 -0.900000 0.400000 0.920000 0.004000
+1e7 76.000000 78.000000 0.600000 0.800000 -0.779487 0.004000
+1e7 -79.000000 66.000000 -0.600000 0.200000 0.239394 0.003000
+1e7 46.000000 -33.000000 0.000000 0.600000 0.836364 0.002000
+1e7 94.000000 -97.000000 -0.500000 0.600000 0.581443 0.001000
+1e7 64.000000 88.000000 -0.300000 0.200000 -0.145455 0.003000
+1e7 56.000000 -12.000000 0.200000 0.200000 0.933333 0.001000
+1e7 -35.000000 24.000000 -0.600000 0.600000 0.875000 0.001000
+1e7 -33.000000 3.000000 -0.800000 0.800000 8.800000 0.004000
+1e7 -81.000000 23.000000 0.200000 0.200000 0.704348 0.004000
+1e7 -1.000000 93.000000 0.300000 0.200000 0.002151 0.001000
+1e7 56.000000 6.000000 0.400000 0.200000 -1.866667 0.001000
+1e7 19.000000 -34.000000 0.200000 0.800000 0.447059 0.004000
+1e7 -43.000000 -27.000000 -0.400000 0.200000 -0.318519 0.004000
+1e7 84.000000 21.000000 0.000000 0.400000 -1.600000 0.004000
+1e7 -29.000000 47.000000 0.000000 0.400000 0.246809 0.001000
+1e7 40.000000 -1.000000 0.100000 0.200000 8.000000 0.002000
+1e7 2.000000 11.000000 -0.500000 0.600000 -0.109091 0.002000
+1e7 37.000000 86.000000 0.400000 0.800000 -0.344186 0.001000
+1e7 -95.000000 -81.000000 0.800000 0.600000 -0.703704 0.001000
+1e7 -4.000000 26.000000 -0.000000 0.600000 0.092308 0.001000
+1e7 59.000000 -97.000000 -0.800000 0.400000 0.243299 0.001000
+1e7 -21.000000 71.000000 -0.200000 0.400000 0.118310 0.001000
+1e7 49.000000 4.000000 -0.700000 0.800000 -9.800000 0.002000
+1e7 59.000000 76.000000 0.600000 0.400000 -0.310526 0.001000
+1e7 42.000000 14.000000 -0.900000 0.400000 -1.200000 0.002000
+1e7 -31.000000 -85.000000 -0.900000 0.800000 -0.291765 0.003000
+1e7 53.000000 41.000000 -0.800000 0.200000 -0.258537 0.001000
+1e7 28.000000 -63.000000 0.700000 0.200000 0.088889 0.001000
+1e7 90.000000 -23.000000 -0.900000 0.600000 2.347826 0.004000
+1e7 -74.000000 -46.000000 -0.100000 0.200000 -0.321739 0.001000
+1e7 79.000000 84.000000 0.400000 0.200000 -0.188095 0.002000
+1e7 -45.000000 1.000000 -0.800000 0.400000 18.000000 0.002000
+1e7 50.000000 -85.000000 0.900000 0.600000 0.352941 0.001000
+1e7 -96.000000 73.000000 0.500000 0.800000 1.052055 0.002000
+1e7 -4.000000 29.000000 0.400000 0.200000 0.027586 0.001000
+1e7 69.000000 -99.000000 -0.500000 0.200000 0.139394 0.001000
+1e7 20.000000 -75.000000 0.800000 0.400000 0.106667 0.004000
+1e7 44.000000 -90.000000 0.500000 0.600000 0.293333 0.003000
+1e7 -12.000000 96.000000 0.300000 0.400000 0.050000 0.001000
+1e7 -3.000000 -43.000000 -0.000000 0.800000 -0.055814 0.003000
+1e7 -97.000000 -16.000000 -0.900000 0.600000 -3.637500 0.002000
+1e7 48.000000 60.000000 -0.200000 0.400000 -0.320000 0.001000
+1e7 88.000000 45.000000 -0.900000 0.200000 -0.391111 0.001000
+1e7 -53.000000 -40.000000 -0.700000 0.200000 -0.265000 0.001000
+1e7 -85.000000 -6.000000 -0.200000 0.800000 -11.333333 0.001000
+1e7 -46.000000 -37.000000 0.200000 0.800000 -0.994595 0.002000
+1e7 -46.000000 96.000000 0.200000 0.400000 0.191667 0.001000
+1e7 -99.000000 3.000000 -0.300000 0.200000 6.600000 0.004000
+1e7 -21.000000 52.000000 0.500000 0.600000 0.242308 0.001000
+1e7 -9.000000 -23.000000 -0.200000 0.400000 -0.156522 0.002000
+1e7 -98.000000 -62.000000 0.400000 0.600000 -0.948387 0.004000
+1e7 83.000000 86.000000 -0.300000 0.800000 -0.772093 0.004000
+1e7 67.000000 98.000000 0.200000 0.400000 -0.273469 0.003000
+1e7 1.000000 41.000000 -0.400000 0.800000 -0.019512 0.001000
+1e7 37.000000 -96.000000 0.200000 0.600000 0.231250 0.001000
+1e7 36.000000 15.000000 -0.100000 0.200000 -0.480000 0.001000
+1e7 -20.000000 26.000000 -0.400000 0.200000 0.153846 0.002000
+1e7 -83.000000 45.000000 -0.000000 0.400000 0.737778 0.004000
+1e7 81.000000 -41.000000 -0.100000 0.600000 1.185366 0.001000
+1e7 -61.000000 32.000000 0.000000 0.800000 1.525000 0.004000
+1e7 -77.000000 -55.000000 -0.600000 0.600000 -0.840000 0.001000
+1e7 39.000000 -67.000000 -0.300000 0.600000 0.349254 0.003000
+1e7 -86.000000 -17.000000 -0.300000 0.800000 -4.047059 0.004000
+1e7 -16.000000 -7.000000 0.000000 0.800000 -1.828571 0.001000
+1e7 -44.000000 63.000000 0.200000 0.200000 0.139683 0.004000
+1e7 29.000000 81.000000 0.500000 0.800000 -0.286420 0.001000
+1e7 -95.000000 50.000000 -0.900000 0.400000 0.760000 0.001000
+1e7 -82.000000 -14.000000 -0.200000 0.400000 -2.342857 0.001000
+1e7 66.000000 -90.000000 -0.900000 0.200000 0.146667 0.004000
+1e7 36.000000 -23.000000 -0.200000 0.400000 0.626087 0.003000
+1e7 -5.000000 92.000000 -0.900000 0.600000 0.032609 0.001000
+1e7 31.000000 -28.000000 -0.400000 0.200000 0.221429 0.001000
+1e7 -9.000000 90.000000 0.400000 0.200000 0.020000 0.004000
+1e7 -17.000000 65.000000 -0.000000 0.600000 0.156923 0.003000
+1e7 33.000000 34.000000 0.000000 0.400000 -0.388235 0.001000
+1e7 20.000000 -21.000000 -0.900000 0.200000 0.190476 0.002000
+1e7 90.000000 1.000000 0.800000 0.600000 -54.000000 0.001000
+1e7 15.000000 -47.000000 -0.100000 0.200000 0.063830 0.001000
+1e7 -14.000000 19.000000 0.800000 0.800000 0.589474 0.004000
+1e7 -45.000000 -76.000000 -0.100000 0.200000 -0.118421 0.004000
+1e7 -46.000000 83.000000 -0.300000 0.200000 0.110843 0.002000
+1e7 12.000000 -82.000000 0.800000 0.800000 0.117073 0.001000
+1e7 12.000000 -9.000000 -0.600000 0.200000 0.266667 0.003000
+1e7 -61.000000 -12.000000 0.600000 0.800000 -4.066667 0.002000
+1e7 42.000000 23.000000 0.700000 0.400000 -0.730435 0.001000
diff --git a/course/semester2/pprog/assignment1/nbody.c b/course/semester2/pprog/assignment1/nbody.c
new file mode 100644 (file)
index 0000000..5891d14
--- /dev/null
@@ -0,0 +1,321 @@
+// nbody.cpp : Template program for N-body
+// Copyright UWA, 2012
+
+#define _ANSI_SOURCE
+
+#include <math.h>
+#include <stdlib.h>
+#include <stdio.h>
+#include <string.h>
+#include <time.h>
+#include <omp.h>
+#include <GL/gl.h>
+#include <GL/glut.h>
+
+#define M_PI        3.14159265358979323846264338327950288   /* pi */
+#define WIDTH 800
+#define HEIGHT 800
+#define POINT_SIZE 1
+#define POSITION_X 112
+#define POSITION_Y 20
+#define WORLD_LEFT -10000
+#define WORLD_RIGHT 10000
+#define WORLD_BOTTOM -10000
+#define WORLD_TOP 10000
+#define VIEW_ANGLE 45
+#define RHO 100
+#define WORLD_NEAR 0.1
+#define WORLD_FAR 1000000
+#define BALL_SIZE 0.5
+#define REFRESH_RATE 0.001
+#define LINE_SIZE 1000
+#define G 6.67428E-11
+#define DELTA_T 0.05
+
+#define square(x) ((x)*(x))
+
+typedef struct {
+       double mass;
+       double X;
+       double Y;
+       double Z;
+       double Vx;
+       double Vy;
+       double Vz;
+       double Fx;
+       double Fy;
+       double Fz;
+       int color;
+} Particle;
+
+double previousTime, eyeTheta, eyePhi, eyeRho;
+float look[3];
+int windowWidth, windowHeight, upY;
+
+double SCALE = 1;
+
+Particle *body;
+int N;
+int numberOfProcessors=1;
+
+/*
+ * Initialization of graphics
+ */
+void Init(void) {
+    
+       glClearColor(1.0,1.0,1.0,0.0);
+       glColor3f(0.0f, 0.0f, 0.0f);
+       glPointSize(POINT_SIZE);
+       glMatrixMode(GL_PROJECTION);
+       glLoadIdentity();
+
+       /*init lighting */
+
+       GLfloat mat_specular[] = { 1.0, 1.0, 1.0, 1.0 };
+       GLfloat mat_shininess[] = { 50.0 };
+       GLfloat light_position[] = { 1.0, 1.0, 0.0, 0.0 };
+       glMaterialfv(GL_FRONT, GL_SPECULAR, mat_specular);
+       glMaterialfv(GL_FRONT, GL_SHININESS, mat_shininess);
+       glLightfv(GL_LIGHT0, GL_POSITION, light_position);
+
+    glColorMaterial(GL_FRONT,GL_DIFFUSE);                // Set Color Capability
+    
+       glEnable(GL_LIGHTING);
+       glEnable(GL_LIGHT0);
+       glEnable(GL_DEPTH_TEST);
+    
+    glEnable(GL_COLOR_MATERIAL);                      // Enable color
+
+       double displayRatio = 1.0 * WIDTH / HEIGHT;
+       windowWidth = WIDTH;
+       windowHeight = HEIGHT;
+       previousTime = clock();
+       eyeTheta = 0;
+    eyePhi = 0.5 * M_PI;
+    eyeRho = RHO;
+    upY = 1;
+       look[0] = 0;
+       look[1] = 0;
+       look[2] = 0;
+    gluPerspective(VIEW_ANGLE, displayRatio, WORLD_NEAR, WORLD_FAR);  
+}
+
+/*
+ * This function redraws the screen after the positions of particles 
+ * have been updated
+ */
+void Display(void) {
+       glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
+       glMatrixMode(GL_MODELVIEW);
+    glLoadIdentity();
+    gluLookAt(eyeRho * sin(eyePhi) * sin(eyeTheta), eyeRho * cos(eyePhi),
+                    eyeRho * sin(eyePhi) * cos(eyeTheta),
+                                       look[0], look[1], look[2], 0, upY, 0);
+
+       for (int i = 0; i < N; i++) {
+        //glClearColor(1.0,1.0,1.0,0.0);
+               glColor3f(0.0f, body[i].mass/1e11*100, 0.0f);
+        //glColor3f(1.0f, 0.0f, 0.0f);
+               glPushMatrix(); // to save the current matrix
+               glTranslated(SCALE*body[i].X, SCALE*body[i].Y, SCALE*body[i].Z);
+               glutSolidSphere (BALL_SIZE, 10, 10);
+               glPopMatrix(); // restore the previous matrix
+       }
+       glFlush();
+}
+
+/*
+ * Prints the body on screen
+ */
+void PrintBody(int i)
+{
+       printf("Body #%d M=%f X=%f Y=%f Z=%f Fx=%f Fy=%f Fz=%f Vx=%f Xy=%f Vz=%f\n", 
+           i, body[i].mass, body[i].X, body[i].Y, body[i].Z, body[i].Fx, 
+           body[i].Fy, body[i].Fz,     body[i].Vx, body[i].Vy, body[i].Vz);
+}
+
+/*
+ * Computing forces
+ */
+void Force(int a) {
+       double distance;
+       double con;
+       double gd;
+
+       body[a].Fx = body[a].Fy = body[a].Fz = 0;
+
+       for(int b=0; b<N; ++b)
+               if( b != a ){
+               distance = sqrt(square(body[b].X - body[a].X) + square(body[b].Y
+                                - body[a].Y) + square(body[b].Z - body[a].Z));
+               con = G * body[a].mass * body[b].mass / square(distance);
+               gd = con / distance;
+               body[a].Fx += gd * (body[b].X - body[a].X);
+               body[a].Fy += gd * (body[b].Y - body[a].Y);
+               body[a].Fz += gd * (body[b].Z - body[a].Z);
+               }
+}
+
+/*
+ * Compute velocities
+ */
+void Velocity(int a) {
+               body[a].Vx += body[a].Fx/body[a].mass * DELTA_T;
+               body[a].Vy += body[a].Fy/body[a].mass * DELTA_T;
+               body[a].Vz += body[a].Fz/body[a].mass * DELTA_T;
+}
+
+/*
+ * Compute positions
+ */
+void Position(int a) {
+       body[a].X += body[a].Vx * DELTA_T;
+       body[a].Y += body[a].Vy * DELTA_T;
+       body[a].Z += body[a].Vz * DELTA_T;
+}
+
+/*
+ * Main compute function
+ */
+void Compute() {
+       clock_t start, finish;
+
+       start = clock();
+
+       for(int a=0; a<N; a++) {
+               Force(a); // compute force
+               Velocity(a);
+               Position(a);
+       }
+
+       finish = clock();
+       printf("Performance: %ld clock ticks per computation cycle\n", finish-start);
+
+       //      PrintBody(0);
+//     PrintBody(N-1);
+}
+
+/*
+ * This function is called repeatedly by graphics library. You can consider 
+ * it as main loop in the program.
+ */
+void Animate(void) {
+
+       Compute(); //Compute and update new positions for the time step
+       Display(); // Display needs to be called to redraw the screen
+}
+
+/*
+ * This function is to manipulate with the image
+ */
+void KeyBoard(unsigned char theKey, int mouseX, int mouseY) {
+       if (theKey == 'x' || theKey == 'X') {
+               free(body);
+               exit(EXIT_SUCCESS);
+       }
+               if (theKey == 'i' || theKey == 'I') {
+                       eyePhi -= M_PI / 20;
+               if (eyePhi == 0)
+                               eyePhi = 2 * M_PI;
+               } else if (theKey == 'm' || theKey == 'I') {
+                       eyePhi += M_PI / 20;
+               } else if (theKey == 'j' || theKey == 'J') {
+                       eyeTheta -= M_PI / 20;
+               } else if (theKey == 'k' || theKey == 'K') {
+                       eyeTheta += M_PI / 20;
+               } else if (theKey == ',') {
+                       eyeRho += 0.5;
+               } else if (theKey == '.' || theKey == 'I') {
+                       eyeRho -= 0.5;
+               } else if (theKey == 'w' || theKey == 'W') {
+                       look[1] += 0.5;
+               } else if (theKey == 'z' || theKey == 'Z') {
+                       look[1] -= 0.5;
+               } else if (theKey == 'a' || theKey == 'A') {
+                       look[0] -= 0.5;
+               } else if (theKey == 's' || theKey == 'S') {
+                       look[0] += 0.5;
+               } else if (theKey == '+') {
+                       SCALE *= 1.1;
+               } else if (theKey == '-') {
+                       SCALE *= 0.9;
+               }
+               if (sin(eyePhi) > 0) upY = 1;
+               else upY = 1;
+}
+
+void Reshape(int width, int height) {
+       double displayRatio = 1.0 * width / height;
+       windowWidth = width;
+       windowHeight = height;
+       glMatrixMode(GL_PROJECTION);
+    glLoadIdentity();
+    gluPerspective(VIEW_ANGLE, displayRatio, WORLD_NEAR, WORLD_FAR);
+       glViewport(0, 0, windowWidth, windowHeight);
+}
+
+/*
+ * This function reads an input file. You can change it if you choose a 
+ * different file format
+ */
+void readFile(char *fileName) {
+       char line[LINE_SIZE];
+       char *token;
+       FILE *file;
+
+       file = fopen(fileName, "rt");
+       N = atoi(fgets(line, LINE_SIZE, file));
+       body = (Particle*) calloc((size_t)N, sizeof(Particle));
+
+       puts("----------------------Initial field-------------------------------");
+
+       for (int i=0; i<N; ++i)
+               if(fgets(line, LINE_SIZE, file) != NULL){
+               token = strtok(line, ",; ");
+               body[i].mass = atof(token);
+               token = strtok(NULL, ",; ");
+               body[i].X = atof(token);
+               token = strtok(NULL, ",; ");
+               body[i].Y = atof(token);
+               token = strtok(NULL, ",; ");
+               body[i].Z = atof(token);
+               token = strtok(NULL, ",; ");
+               body[i].Vx = atof(token);
+               token = strtok(NULL, ",; ");
+               body[i].Vy = atof(token);
+               token = strtok(NULL, ",; ");
+               body[i].Vz = atof(token);
+
+               PrintBody(i);
+               }
+       puts("--------------------------------------------------------------");
+       puts("Use:\n X - exit\n I, J, K, M - rotate\n W, Z, A, S - move to view"
+         " point\n ./, - zoom in/out\n +/- - scaled zoom in/out\n");
+
+       fclose(file);
+}
+
+
+// This is main function. Do not change it.
+int main(int argc, char** argv)
+{
+       glutInit(&argc, argv);
+
+       if (argc < 2) {
+               puts("Please provide the filename, i.e. \'nbody bodiesfield.dat\'");
+           exit(EXIT_SUCCESS);
+       }
+       if (argc == 2) readFile(argv[1]);
+       if (argc == 3) numberOfProcessors = atoi(argv[2]);
+
+       glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
+       glutInitWindowSize(WIDTH, HEIGHT);
+       glutInitWindowPosition(POSITION_X, POSITION_Y);
+       glutCreateWindow("N-Body Parallel");
+       glutDisplayFunc(Display);
+       glutIdleFunc(Animate);
+       glutKeyboardFunc(KeyBoard);
+       glutReshapeFunc(Reshape);
+       Init();
+       glutMainLoop();
+}
diff --git a/papers/Comparison of Secondary Electron Emission simulation to experiment.pdf b/papers/Comparison of Secondary Electron Emission simulation to experiment.pdf
new file mode 100644 (file)
index 0000000..721a88c
Binary files /dev/null and b/papers/Comparison of Secondary Electron Emission simulation to experiment.pdf differ
diff --git a/papers/Secondary Electron Emission - Review of Literature.pdf b/papers/Secondary Electron Emission - Review of Literature.pdf
new file mode 100644 (file)
index 0000000..47b0ae8
Binary files /dev/null and b/papers/Secondary Electron Emission - Review of Literature.pdf differ
diff --git a/papers/Secondary_electron_emission_studies.pdf b/papers/Secondary_electron_emission_studies.pdf
new file mode 100644 (file)
index 0000000..25a79ec
Binary files /dev/null and b/papers/Secondary_electron_emission_studies.pdf differ
diff --git a/papers/hilleret.pdf b/papers/hilleret.pdf
new file mode 100644 (file)
index 0000000..bbd0f7f
Binary files /dev/null and b/papers/hilleret.pdf differ
diff --git a/thesis/theory.py b/thesis/theory.py
new file mode 100755 (executable)
index 0000000..7a85987
--- /dev/null
@@ -0,0 +1,64 @@
+#!/usr/bin/python -u
+
+#
+# @file theory.py
+# @purpose Do theory stuff
+#              Because sadly, Mathematica does not work on my new laptop
+# @author Sam Moore
+# @date August 2012
+#
+
+import sys
+import os
+import math
+import re # Regular expressions - for removing comments
+#import odict #ordered dictionary
+
+import Gnuplot, Gnuplot.funcutils
+
+gnuplot = Gnuplot.Gnuplot()
+
+
+#
+# @function se_dist
+# @purpose Model the secondary electron distribution using M. Furman's formula
+#
+def se_dist(s, Ep, sigma_p, dE, n_max=0.75):
+       results = []
+       E = 0.0
+       while (E < 8.0):
+               results.append([E, n_max *s * E / (s - 1.0 + E**s) , math.exp(-(E - Ep)**2.0 / (2.0*sigma_p**2.0))])
+               E += dE
+       return results
+
+# 
+# @function write_data
+# @purpose Write a list of data to a file suitable for gnuplotting
+#
+def write_data(data, fileName):
+       out = open(fileName, "w")
+       for line in data:
+               for column in line:
+                       out.write(str(column) + "\t")
+               out.write("\n")
+       out.close()
+
+def Plot(*args):
+       gnuplot.plot(args)
+
+
+def main():    
+       
+       test = se_dist(4.0, 7.0, 0.2, 0.01)
+       #gnuplot.replot(map(lambda e : [e[0], e[1] + e[2]], test))
+       #gnuplot.replot(map(lambda e : [e[0], e[2]], test))
+       write_data(test, "se_dist.dat") 
+       
+       print("Press enter to exit")
+       sys.stdin.readline()
+               
+       return 0
+
+
+if __name__ == "__main__":
+       sys.exit(main())
index 5bebef8..6a8ab02 100644 (file)
@@ -5,7 +5,7 @@
 \usepackage{bm} % needed for maths bold face
  \usepackage{graphicx}    % needed for including graphics e.g. EPS, PS
 \usepackage{fancyhdr}  % needed for header
-
+%\usepackage{epstopdf} % Needed for eps graphics
 \usepackage{hyperref}
 
  \topmargin -1.5cm        % read Lamport p.163
 
 I am extremely grateful for the support offered to me by many individuals during this project. 
 
-\begin{itemize}
-       \item Sergey Samarin
-       \item Jim Williams
-       \item Paul Guagliardo
-       \item Nikita Kostylev
-       \item Workshop (for producing electron gun mount?)
-       \item Peter Hammond (?)
-\end{itemize}
-
 \section{Introduction}
-\begin{itemize}
-       \item Waffle about motivation for the project
-       \begin{itemize}
-               \item Metal-Black films may have application for ... something.
-               \begin{itemize}
-                       \item Radiometer vanes, IR detectors
-                       \item Number of applications where high absorbance into IR is required
-                       \item These have all been studied before though. 
-               \end{itemize}
-               \item The electron spectra of metal-blacks have not yet been examined.
-               \item Remarkable difference between Metal-Black films (bad vacuum) and normal metal films (UHV)
-               \begin{itemize}
-                       \item No (detailed/satisfactory) explanation (that I can find...) for difference
-               \end{itemize}
-               \item Talk about plasmonic based computing? Moore's law? Applications to thin film solar cells?
-
-       \end{itemize}
-       \item Specific aims of project
-       \begin{enumerate}
-               \item Surface density of states / band structure of Black-Au films using TCS (The main aim)
-               \item Identification of plasmonic effects in Black-Au films (?) (If they even exist!)
-               \begin{itemize}
-                       \item Identify plasmonic effects in Au and Ag films with Ellipsometry (this is fairly simple to do)
-               \end{itemize}
-               \item Combination of Ellipsometry and TCS to characterise thin films (not just Black-Au)
-               \begin{itemize}
-                       \item Ie: How can one technique be used to support the other?
-               \end{itemize}
-       \end{enumerate}
-       \item Structure of thesis
-\end{itemize}
 
 \section{Overview of Theory}
 Summarise the literature, refer to past research etc
 
 \subsection{Electron Spectra of Solids and Surface}
 
-\begin{itemize}
-       \item Overview of section
-\end{itemize}
-
 In this section, we will first introduce the basic concepts needed to describe the electron spectra of solids. A short description of methods for calculating the electron spectra will be given, and the results shown by these calculations. We will then discuss the electron spectra for the near surface region of solids, compared to the ``bulk'' spectra far from the surface.
 
 \subsubsection{Description of Matter in the Solid State}
 
-\begin{itemize}
-       \item Define and describe solid geometrically
-       \begin{itemize}
-               \item Basis + Lattice
-               \item Basis groups are assumed to be fixed relative to the lattice
-       \end{itemize}
-       \item Describe general properties of the potentials seen by electrons in solids
-\end{itemize}
-
 In the simplest models, a solid is represented by an infinite crystalline lattice; a geometrically repeated arrangement of some basis group of atoms. The nuclei of atoms are assumed to remain in fixed positions. 
 
 The potential seen by an electron in the lattice is periodic. For a single nuclei, the potential seen by an electron is 
 
 \subsubsection{Calculation of Electron Spectra}
 
-\begin{itemize}
-       \item Define electron spectra
-       \begin{enumerate}
-               \item 
-       \end{enumerate}
-       \item Free electron gas
-       \item Free electron entering a periodic potential
-       \item Potentials of real solids
-       \item Single vs Multiple electrons
-       \item Numerical calculations
-       \begin{itemize}
-               \item TODO: Actually research this
-               \item Find a comparison with a real experimental result
-       \end{itemize}
-       \item 
-\end{itemize}
-
-
 \subsubsection{The Near-Surface Region}
 
-\begin{itemize}
-       \item Real solids have surfaces
-       \item Differences between surface region and bulk
-       \begin{itemize}
-               \item Resulting differences in potential
-       \end{itemize}
-       \item How the electron spectra may differ from bulk values
-       \begin{itemize}
-               \item Surface states
-               \begin{itemize}
-                       \item Tamm \& Shockley States
-               \end{itemize}
-       \end{itemize}
-\end{itemize}
-
 In the preceeding sections, solids were assumed to have infinite spatial extent. In practice, any real solid occupies a finite volume in space. Any interactions between a solid and its environment take place at the surface of the solid. As the volume of the solid is decreased, the role of the surface region in determining the behaviour of the solid in its environment is increased.
 
 
-
-
-\begin{itemize}
-       \item Description of the near surface region
-       \begin{itemize}
-               \item All real solids occupy finite volumes in space.
-               \item The surface of a solid is important because interactions between the solid and its surroundings occur in the near surface region.
-               \item Characterised physically by:
-               \begin{itemize}
-                       \item Termination of periodic crystal lattice
-                       \item Violation of geometric order
-                       \item Distortion of interatomic distances and hence interaction forces
-                       \item There is a transition ``near surface'' region between bulk and surface properties, roughly 5 atomic distances. 
-               \end{itemize}
-               \item Potential seen by an electron at a surface can differ greatly from the bulk
-               \item $\implies$ the electron spectra of the near surface region differs from the bulk spectra
-               \item Simplest case: Step potential at surface.
-               
-       \end{itemize}
-
-       \item The Electron Spectra
-       \begin{itemize}
-               \item Electron Spectra describes the energy eigenstates for an electron in a Bulk or Surface potential
-               \item Characterised by 
-               \begin{enumerate}
-                       \item Energy dispersion $E(\vect{k})$
-                       \begin{itemize}
-                               \item Dependence of Energy on electron wave vector
-                               \item Obtained theoretically by solving Scrhrodinger's Equation
-                               \item For a free electron gas, $E = \frac{\hbar^2 k^2}{2m}$
-                               \item Periodic potential in bulk solid leads to band gap structure of $E(\vect{k})$
-                               \item Periodic potential $\implies$ E is periodic. Only needs to be defined in first Brillouin zone.
-                       \end{itemize}
-                       \item Density of States $N(E)$
-                       \begin{itemize}
-                               \item $N(E) = \frac{\Delta N}{\Delta E} = \frac{1}{4\pi^3}\int_S\left(\der{E}{k}\right)^{-1} dS$
-                               \item Integral is in momentum space over the isoenergetic surface of energy $E$
-                               \item For a free electron gas, $N(E) = $
-                       \end{itemize}
-               \end{enumerate}
-       \end{itemize}
-
-       \item Surface states
-       \begin{itemize}
-                       \item Simplest model: Step potential
-                       \item Two major models  
-               \begin{enumerate}
-                       \item Tamm States: Periodic potential in solid, free space outside, jump at surface
-                       \begin{itemize}
-                               \item Energy eigenvalues lie in the forbidden band of the bulk spectra
-                               \item Attenuation of eigenvalues from surface to vacuum, oscillation of state within surface
-                               \item Max electron density occurs on the crystal surface
-                       \end{itemize}
-                       \item Shockley states: Potential of surface and bulk cells equal
-                       \begin{itemize}
-                               \item Corresond to free valences (dangling bonds) at the surface
-                       \end{itemize}
-               \end{enumerate}
-               \item Tamm and Shockley states arise from two extreme models (large change and small change respectively between bulk and surface). In reality, a combination of Tamm and Shockley states appear.
-               \item These states arise from termination of the lattice; but the surface cells are assumed undistorted
-               \item In reality surface cells are distorted by relaxation and reconstruction of the surface
-       \end{itemize}
-
-       \item Main reference: Komolov "Total Current Spectroscopy"
-       \item "Solid State Physics" textbooks and "Electron Spectroscopy" textbooks 
-\end{itemize}
-
 \subsection{Plasmonics}
-I really think I should actually find plasmonic effects before writing too much about them...
-\begin{itemize}
-       \item Charge density oscillations
-       \item Surface and bulk plasmons
-       \item Pines and Bohm
-       \item Review article from T.W.H Oates et al about using Ellipsometry to characterise plasmonic effects
-\end{itemize}
+
 
 \subsection{Metallic-Black Thin Films}
-\begin{itemize}
-       \item How they are made (bad vacuum, in air or a noble gas)
-       \begin{itemize}
-               \item If made in air, there are usually tungsten oxides present (from filament). Refer to paper by Pfund.
-       \end{itemize}
-       \item Structural difference between Black-Au and ``Shiny'' (need a better term) Au
-       \begin{itemize}
-               \item Can include electron microscopy images?
-               \item An actual photograph of a Black-Au film? Not necessary?
-       \end{itemize}
-       \item Pfund (earliest publisher, preparation and general properties)
-       \item Louis Harris (most research in 50s and 60s)
-       \begin{itemize}
-               \item L. Harris mostly did transmission spectroscopy in the far infra red (well beyond the ellipsometer and Ocean Optics spectrometer ranges)
-               \item The really crappy measurements I did with the Ocean Optics spectrometer seem to agree with these measurements
-               \begin{itemize}
-                       \item L. Harris' $\lambda$ has a range of 1nm to $100\mu$m; my measurements are only to $1\mu$m
-                       \item Agreement in first $1\mu$m anyway
-                       \item I should probably re-do those measurements with a less crappy setup, if I actually want to use them
-               \end{itemize}
-               \item Harris related the optical properties to the structure of the film (condensor strands) via the electronic properties
-       \end{itemize}
-       \item Plasmonic effects - Deep R. Panjwani (honours thesis)
-       \begin{itemize}
-               \item Not sure if I can use an honours thesis as a reference.
-               \item Concluded that surface plasmon resonance in Black-Au film on solar cells lead to increase in solar cell efficiency
-               \item Used simulation that modelled Black-Au film as spherical balls to show E field increased by plasmon resonance
-               \begin{itemize}
-                       \item Was this model appropriate? Black-Au is more ``smoke'' or ``strand'' like according to other references. Images also do not show ``blob'' like structure.
-               \end{itemize}
-               \item Need to read this reference more thoroughly
-       \end{itemize}
-\end{itemize}
 
 \section{Experimental Techniques}
 
 \subsection{Secondary Electron Spectroscopy}
 
-Secondary Electron Spectroscopy encompasses a large group of techniques used for studying the electron spectra of surfaces and solids. In these methods a beam of primary electrons is directed at the surface of a solid. The interactions between primary electrons and the surface give rise to an energy distribution of secondary electrons scattered from the surface. Analysis of this secondary electron distribution gives information about the interaction between primary electrons and the surface.
+Secondary Electron Spectroscopy encompasses a large group of techniques used for studying the electron spectra of surfaces and solids. In these methods a beam of primary electrons is directed at a surface. The interactions between primary electrons and the surface give rise to an energy distribution of electrons elastically and inelastically scattered from the surface. Analysis of the distribution of the scattered ``secondary'' electrons gives information about the electron energy spectrum of the target surface.
+
+
+\begin{center}
+       \includegraphics[scale=0.40]{figures/se_dist.pdf}
+       \captionof{figure}{Simple model of the secondary electron distribution}
+       \label{se_dist.pdf}
+\end{center}
+
+Figure \ref{se_dist.pdf} shows the general shape of the secondary electron distribution for a primary electron energy of $E_p$. The narrow peak centred at $E = E_p$ is due to elastically scattered electrons; the width of this peak is determined by the distribution of primary electron energies, as well as the resolution of the detector. The broad peak in the low energy part of the spectrum is due to inelastically scattered electrons.
+
+Real secondary electron distributions also show fine structure imposed on the inelastic part of the spectrum. This fine structure is characteristic of the target surface. Near to the elastic peak, fine structure is caused by energy loss to interband transitions and plasma vibration excitation. The central part of the distribution contains fine structure due to Auger electron emission, and energy losses due to excitation of inner electrons. Fine structure at low energies is due to the structure of empty states of the solid.
 
-%\subsubsection{Electron-Surface Interactions}
 
 
 \subsubsection{Methods of Secondary Electron Spectroscopy}
 
-Energy-resolved methods of Secondary Electron Spectroscopy are based upon observation of the secondary electron energy distribution at a fixed primary electron energy. The primary electron energy determines which processes are possible, whilst the observed secondary electron energy distribution can be related to the probability distribution for the possible processes. Figure \ref{} shows a typical distribution of secondary electron energy, taken from \cite{}. The spectrum shows a narrow peak centred upon the primary electron energy; this corresponds to elastic scattering. At the low energy end of the spectrum, a broad maximum results from inelastic processes. Fine structure on this part of the spectrum is due to the energy structure of empty states in the sample. Fine structure due to Augur electron emission and interaction with core electrons is visible in the high energy part of the spectrum. Typically the aim of a energy resolved secondary electron spectroscopy experiment is to study the properties of secondary electrons in a small energy interval.
+Techniques of Secondary Electron Spectroscopy can be divided into two classes. Energy-resolved methods are based upon observation of the secondary electron distribution at a fixed primary electron energy. These methods aim to examine specific secondary emission processes which occur within a selected energy interval. In contrast to Energy-resolved methods, Total Current (or Yield) methods measure the total current of secondary electrons as a function of primary electron energy. 
+
+The focus of this project has been on low energy Total Current spectroscopy. While Total Current methods provide less detailed information about secondary emission processes within a solid, they are useful for characterisation of the electron structure. Total Current methods are also simpler to realise experimentally, as they do not require energy analysers, and current measurement may be performed external to the vacuum chamber.
 
-In contrast to Energy-resolved methods, Total Current (or Yield) methods are based on observation of the total current of secondary electrons as a function of primary electron energy. As the primary electron is energy increased, the threshold energies for particular processes are passed. 
 
 \subsection{Total Current Secondary Electron Spectroscopy}
 
@@ -317,6 +136,8 @@ Figure \ref{} shows a simplified schematic for the Total Current Spectroscopy ex
 
 
 
+Figure \ref{} is a block diagram of the experimental setup including measurement and control systems external to the vacuum chamber.
+
 \subsubsection{Electron Optics}
 
 The electron gun used for this experiment was repurposed from an old Cathode-Ray Oscilloscope (CRO). Figure \ref{} shows a simplified diagram of the electron gun, whilst Figure \ref{} shows a photograph of the gun. 
@@ -329,154 +150,20 @@ In order to collect data on the large number of planned samples for the study, s
 
 The available power supplies at CAMSP featured analogue inputs for external control. This meant that a Digital to Analogue Convertor (DAC) card was needed to interface between the control computer and the power supply. In addition, the available instruments for current measurement at CAMSP produced analogue outputs. As a result, Analogue to Digital Convertors (ADCs) would be required to automate the recording of total current.
 
-Although an external DAC/ADC box was already available for these purposes, initial tests showed that the ADCs on the box did not function. The decision was made to design and construct a custom DAC/ADC box, rather than wait up to two months for a commercial box to arrive. The design of the custom DAC/ADC box is discussed in detail in Appendix B, and the software written for the on-board microprocessor and the controlling computer are presented in Appendix C.
+Although an external DAC/ADC box was already available for these purposes, initial tests showed that the ADCs on the box did not function. The decision was made to design and construct a custom DAC/ADC box, rather than wait up to two months for a commercial box to arrive. The design of the custom DAC/ADC box is discussed in detail in Appendix B, and the software written for the on-board microprocessor and the controlling computer are presented in Appendix D.
 
 
-\begin{itemize}
-       \item Black-Au - 1e-2 mbar vacuum
-       \item ``Shiny'' - 1e-6 / 1e-7
-       \item Current of ~3.5A through W wire filament spot welded onto Ta strips in turn spot welded to Mo posts
-       \item Voltage through filament is ~1 V; quote the power?
-       \item Filament isotropically coats sample with desired material.
-       \item Possibly get a curve of Au thickness estimated with Ellipsometry vs exposure time?
-       \begin{itemize}
-               \item Probably too much work and too unreliable
-               \item Maybe do it, but only use 2/3 data points
-               \item Low priority
-       \end{itemize}
-\end{itemize}
-
-\subsection{Electron Spectroscopy}
-
-Secondary electron spectroscopy methods are a broad class of methods which investigate surface electron spectra through observing processes in which the surface electrons participate directly \cite{komolov}. 
-
-Total Current Spectroscopy is a group of electron secondary 
-
-\begin{itemize}
-       \item 
-       \item Total Current Spectroscopy methods measure the total current of secondary electrons as a function of primary electron energy.
-       \item These methods are distinguished from ``differential'' methods (such as Auger electron spectroscopy and energy loss spectroscopy) which measure the secondary electron spectrum at a fixed primary electron energy.
-       \item 
-       \begin{itemize}
-               \item Low energy beam of electrons incident on sample
-               \item Measure slope of resulting I-V curve
-               \item Relate to density of states and electron band structure (Komolov chapter 3.2)
-       \end{itemize}
-       \item Description of apparatus
-       \begin{itemize}
-               \item Electron gun and filament
-               \item Electron gun control box
-               \item ADC/DAC control box and data processing
-       \end{itemize}
-       \item Photographs vs Diagrams
-       \begin{itemize}
-               \item Prefer diagrams to photographs
-               \item Especially for the ADC/DAC control box circuit. Because it looks like a horrible mess.
-       \end{itemize}
-\end{itemize}
-
 \subsection{Ellipsometry and Transmission Spectroscopy}
-\begin{itemize}
-       \item Overview of techniques
-       \item Description of apparatus (use VASE manual)
-       \item Ocean Optics spectrometer? Usable?
-       \item Application of Ellipsometry to finding plasmonic effects
-       \begin{itemize}
-               \item Surface plasmons = E oscillation parallel to surface $\implies$ only $p$ component of light excites plasmons
-       \end{itemize}
-\end{itemize}
+
 
 \section{Experimental Results and Discussion}
 \subsection{TCS Measurements}
-\begin{itemize}
-       \item TCS for Si
-       \item TCS for Si + Au
-       \item TCS for Si + Black-Au
-       \item Affect of preparation pressure on TCS for Si + Black-Au
-       \item Repeat for Si + Ag and Si + Black-Ag (?)
-\end{itemize}
+
 
 \subsection{Ellipsometric Measurements}
-\begin{itemize}
-       \item Ellipsometry to estimate thickness of SiO2 layer on Si
-       \item Estimate thickness of Au/Ag on Si+SiO2
-       \item Ellipsometric measurements of Si+Black-Au/Ag
-       \begin{itemize}
-               \item Modelling procedures to characterise Black-Au/Ag
-       \end{itemize}
-       \item Ellipsometric measurements of Glass+Black-Au/Ag (?)
-       \item Transmission spectra of Glass+Black-Au/Ag from earlier in year (?)
-\end{itemize}
 
-\section{Achievements}
-\begin{itemize}
-       \item Deposition of thin films of Au and Black-Au in vacuum chamber
-       \item Ellipsometric and spectroscopic measurements on these films
-       \item Repurpose vacuum chamber for sample preparation and TCS experiments
-       \item Designed and built electronics for TCS experiments
-       \begin{itemize}
-               \item Electron gun control box
-               \item ADC/DAC box
-       \end{itemize}
-       \item Wrote software for data aquisition and data processing
-\end{itemize}
 
-\section{General notes}
-\subsection{TCS}
-\begin{itemize}
-       \item Optimise setup of gun
-       \begin{itemize}
-               \item Emission current. How much does it vary, why does it vary.
-               \item Why does Is/Ie curve shift with successive sweeps? Does sweep modify sample's surface?
-               \item Is sample holder acceptable? Are ceramic washers accumulating charge?
-               \item How do I tell when the setup is optimised... 
-               ``The setup was optimised by looking for an S curve''. Very scientific.
-               \item The gun was focused on the phosphor screen... and then I turned it around, changing the distance from the gun to the sample. Brilliant.
-       \end{itemize}
-       \item Obtain TCS spectra for Si that compares well with literature
-       \begin{itemize}
-               \item How to relate TCS spectrum to $n(E)$ and $E(\vect{k})$
-       \end{itemize}
-       \item Prepare Au films, obtain TCS spectra that compares with literature
-       \item Obtain TCS spectra of Black-Au films
-       \item Use results to compare properties of films with results from other methods in the literature
-       \item Uncertainties
-       \begin{itemize}
-               \item Oscilloscope measurements of inputs to ADC channels under controlled conditions
-               \begin{itemize}
-                       \item Expected values are +/-3mV due to ADC channel, +/-300mV due to 610B, +/-1mV due to 602
-                       \item 610B and 602 will probably be worse because they are ancient
-                       \item There is about 200mV of noise between the GND of the ADC box and the electron control box.
-                       \item How to reduce ground loops? Not much I can do. Rack is now also grounded to water pipe, but this doesn't seem to make a difference.
-               \end{itemize}
-               \item Stupid 50Hz AC noise... how to reduce with filters and/or averaging
-       \end{itemize}
-       \item Create circuit diagrams for Electron gun circuit
-       \item Create circuit diagrams for ADC/DAC box
-       \begin{itemize}
-               \item Simulate behaviour of circuit
-               \item Use of instrumentation amplifier on ADC5 to make off-ground measurements
-               \item Use of low pass filter on ADC5
-       \end{itemize}
-       \item Include references to all datasheets, etc
-       \item Vacuum chamber
-       \begin{itemize}
-               \item Base pressure with rotary pump? Was 1e-3 after 30 minutes at start of year, but probably introduced leaks since then
-               \item Lowest pressure achieved with turbo pump is 1.1e-7 mbar as of 25/07.
-               \item Viton gaskets on some seals. Copper on other.
-               \item Flanges:
-               \begin{enumerate}
-                       \item View window (large, view of sample \& sputtering filaments)
-                       \item Rotation manipulator \& sample mount
-                       \item Pump inlet
-                       \item Filament flanges 1 (used earlier in year, not anymore) and 2
-                       \item Inlet with leak valve (for introducing gases into chamber)
-                       \item Vent valve on turbo pump
-                       \item Electron gun flange
-                       \item View window (small, view of back of electron gun)                 
-               \end{enumerate}
-       \end{itemize}
-\end{itemize}
+\section{Achievements}
 
 \section*{Appendix A - Electron Gun Control and Current Measurement Circuit}
 
@@ -554,7 +241,7 @@ Figure \ref{adc5.pdf} shows the modification made to the input for ADC5 on the A
        \label{adc5.pdf}
 \end{center}
 
-
+asdfa
 The instrumentation amplifier consists of two stages of operational amplifiers (op-amps); input buffers, and a difference amplifier.
 The difference amplifier can be shown using the ideal op-amp model to produce an output voltage proportional to the difference between its inputs:
 
@@ -562,14 +249,16 @@ The difference amplifier can be shown using the ideal op-amp model to produce an
        V_{out} &= \frac{R_2}{R_1} \left(V_{2} - V_{1}\right)
 \end{align*}
 
-The two op-amps at the inputs to the differential amplifier act as unity gain buffers. Although the output of the unity gain buffer is equal to the input on its positive terminal, the buffer prevents current from flowing from the positive terminal to ground. With the buffer amplifiers absent, a current of: would flow between each of the input terminals and ground.
-
-Instrumentation amplifiers are usually constructed in the schematic shown in Figure \ref{}. In this version, the gain of the amplifier can be changed by altering a single resistor. However, more resistors are required. The version actually constructed was designed based upon the small number of resistors available, within a short time frame. Although the design could have later been changed, this would have been of no real benefit, since there was no requirement to adjust the gain of the amplifier.
+The two op-amps at the inputs to the differential amplifier are unity gain buffers. Although the outputs of the op amps are equal to their inputs, current is prevented from flowing from the circuit under measurement, and is instead drawn from the op amp power supply. 
 
 In principle, two ADC channels could be used to record the positive and negative outputs of the electrometer seperately, with differencing done in software. However this would require modification to the output cable of the electrometer, which may prove inconvenient for future uses.It was decided that the modification of the cable and added complexity of the software required would be more time consuming than differencing the two inputs using the hardware methods described above.
 
 The low pass filters were added to the inputs of ADC5 after it was found that an unacceptable level of AC noise was being output by the electrometer. The level of noise was too high to be filtered in software, for reasons that will be discussed in Appendix D.
 
+\subsection*{Temperature Measurement}
+
+The AVR Butterfly features an onboard thermistor connected to ADC0. Reading ADC0 and applying the formula given in the AVR Butterfly User's Guide \cite{} results in a temperature measurement. This was useful in establishing a link between the changing chamber pressure and the temperature of the laboratory (see Appendix C).
+
 \subsection*{Power Supplies}
 Due to the presence of both analogue and digital electronics in the DAC/ADC box, three seperate supply voltages were required:
 \begin{enumerate}
@@ -592,12 +281,10 @@ When the DAC/ADC box was first constructed $V_{cc}$ was supplied by three $1.5V$
 \end{center}
 
 \subsubsection*{Op-amp Power Supply}
-The DAC/ADC box circuitry involves several operational amplifiers (LF356), which require dual $\pm 10-15V$ supplies. As there were no dual $\pm$ power supplies available, a single $30V$ power supply was used, with the circuit shown in figure \ref{fig_opamp_supply} used to produce $\pm 15V$ relative to ground.
+The DAC/ADC box circuitry involves several operational amplifiers (LF356), which require dual $\pm 10-15V$ supplies. As there were no dual $\pm$ power supplies available, a single $30V$ power supply was used, with the circuit shown in figure \ref{} used to produce $\pm 15V$ relative to ground.
 
 The buffer amplifier ensures that negligable current can flow from the power supply into the logic and ADC circuits, whilst the capacitor removes high frequency fluctuations of the power supply relative to ground.
 
-To simplify circuit diagrams, op-amps will be drawn with the power supply connections ommitted from this point onwards.
-
 \subsection*{DAC Output}
 A commercial DAC board was used to produce the DAC output. The Microchip MCP4922 ET-Mini DAC is controlled by the AVR Butterfly using Motorola's Serial Peripheral Interface (SPI) Bus. The software used to implement SPI between the MCP4922 and the AVR Butterfly is discussed in Appendix D.
 
@@ -615,9 +302,35 @@ Although the RS-232 is relatively simple to implement, which makes it ideal for
 
 \section*{Appendix C - Pressure Monitoring}
 
-Over time, it was noticed that the pressure in the chamber was variable. 
+The pressure in the chamber was monitored by a ion gauge at low pressure (below $10^{-3}$ mbar), and a pirani gauge at high pressure. The gauge included a flurescent Liquid Crystal Display (LCD). In order to automate monitoring of pressure, a USB webcam was placed in front of the gauge LCD. Software was written using the Python Imaging Library (PIL) to convert the image produced by the webcam into a pressure reading. In this way, the pressure could be recorded as a function of time, independent from other measurements performed using the ADC/DAC control box.
+
+Figures \ref{pressure_a.jpg} to \ref{pressure_c.jpg} show the process by which an image taken with the webcam was converted into a pressure reading. The software first identifies bounding rectangles for each individual digit. These are then further subdivided into 7 segments. If enough pixels in a given segment match the colour LCD segments, then the segment can be identified as activated. The software then creates a string corresponding to the activated segments, and looks up the digit in a dictionary.
+
+\begin{center}
+       \includegraphics[scale=0.50]{figures/pressure_a.jpg}
+       \captionof{figure}{An unprocessed image}
+       \label{pressure_a.jpg}
+\end{center}
+
+\begin{center}
+       \includegraphics[scale=0.50]{figures/pressure_c.jpg}
+       \captionof{figure}{Individual digits identified}
+       \label{pressure_a.jpg}
+\end{center}
+
+\begin{center}
+       \includegraphics[scale=0.50]{figures/pressure_d.jpg}
+       \captionof{figure}{Activated segments (green) for a single digit}
+       \label{pressure_a.jpg}
+\end{center}
+
+\section*{Appendix D - Sources of Error}
+
+GROUND LOOOOOOPS!
 
+\section*{Appendix E - Software}
 
+No really, you don't want to know
 
 \pagebreak
 \bibliographystyle{unsrt}

UCC git Repository :: git.ucc.asn.au