Upload
amanda-thomas
View
132
Download
3
Embed Size (px)
DESCRIPTION
The Fullerene Isomer Database is a catalog of the enumerations of the various fullerene isomers, arranged by carbon molecule count. It is searchable across multiple carbon counts by symmetry group(s). currently the database holds data for the fullerene isomers of carbon 20 - 120, as well as the isolated pentagon isomers of carbon 70 - 100.
Citation preview
The Fullerene Isomer DatabaseJeffery L Thomas Prof. Daniel Bennett Dr. Douglas Puharic
Edinboro University of Pennsylvania
What is a Fullerene?
Fullerenes and Buckeyballs
C60
:
What is a Fullerene?
What is a Fullerene?
What is a Fullerene?
What is a Fullerene?
An Alternate Representation
Taken from “An Atlas of Fullerenes” by P.W. Fowler and D.E. Mananopolis
An Alternate Representation
Taken from “An Atlas of Fullerenes” by P.W. Fowler and D.E. Mananopolis
An Alternate Representation
Taken from “An Atlas of Fullerenes” by P.W. Fowler and D.E. Mananopolis
An Alternate Representation
Taken from “An Atlas of Fullerenes” by P.W. Fowler and D.E. Mananopolis
A Digital Representation of a Fullerene
A Digital Representation
The Spiral Algorithm Provides us with a way to “unwind” a fullerene graph into a one-dimensional array of pentagons and hexagons.
A Digital Representation
An example...
6
A Digital Representation
An example...
66
A Digital Representation
An example...
566
A Digital Representation
An example...
65656566656656656566566565656566
A Digital Representation
Chains generated which produce the same isomercan be canonicalized by analyzing them numerically.
1: 65656566656656656566566565656566
And
2: 66565656566566565665665666565656
1 will be cataloged.
2 will be discarded.
A Digital Representation
The spiral can start at any face.
This produces a number of possible chains which can be built given a vertex count, v.
The total number of possible chains is:
Where 22
vf
Note that many of these chains will not produce valid fullerenes.
!
12 12!( 12)!
f f
f
A Digital Representation
Example:
30=86,493,225
12
200=6,107,693,672,000,000,000
12
A Digital Representation
Some of the successful combinations will be duplicates.
Combining the Spiral Algortihm with the 12 pentagon property, we now can:
- build all possible fullerenes (isomers)
- determine a canonical spiral representation for each molecule to catalog.
A Digital Representation
Number of unique isomers by vertex count:
n Isomers
20 1
30 3
40 40
50 271
60 1,812
70 8,149
80 31,924
90 99,918
100 295,913
Spiral Algorithm Implementations
Spiral Algorithm Implementations
FORTRAN implementation published in 1991
Uses brute force to generate all spiral combinations.
Becomes very complex, very fast
do 1 j1 = 1, m-11*jprdo 2 j2 =j1 +jpr, m-10*jprdo 3 j3 =j2 +jpr, m- 9*jprdo 4 j4 =j3 +jpr, m- 8*jprdo 5 j5 =j4 +jpr, m- 7*jprdo 6 j6 =j5 +jpr, m- 6*jprdo 7 j7 =j6 +jpr, m- 5*jprdo 8 j8 =j7 +jpr, m- 4*jprdo 9 j9 =j8 +jpr, m- 3*jprdo 10 j10=j9 +jpr, m- 2*jprdo 11 j11=j10+jpr, m- 1*jprdo 12 j12=j11+jpr, mdo 14 j=1,m
.
.
.14 c ontinue13 c ontinue12 c ontinue11 c ontinue10 c ontinue9 c ontinue8 c ontinue7 c ontinue6 c ontinue5 c ontinue4 c ontinue3 c ontinue2 c ontinue1 c ontinue
Spiral Algorithm Implementations
O(n16)NOTE: THIS IS BAD!!!
Analysis of the brute force implementation shows:
With n=100: 100,000,000,000,000,000,000,000,000,000,000
Translated the code into C++
Using the MPI libraries, parallelized the code, so it can be run on a supercomputer.
Linear speedup, allowing exploration of vertex counts of 100+.
Spiral Algorithm Implementations
Speedup for C60 vs. # of Processes
Number of processes
pS
Spiral Algorithm Implementations
Spiral Algorithm Implementations
N Sequential time Parallel time
50 11 sec 4 sec
60 132 sec 45 sec
70 18 min 6 min
80 107 min 36 min
90 537 min 207 min
100 54 hrs 22.9 hrs
110 Still running… 43.3 hrs
Run times with 1 processor and 4 processors:
The implementation can generate both general fullerene isomers as well as isolated pentagon fullerene isomers.
Also generates information about the symmetry group of each isomer, as well as some chemical properties.
Shown valid for vertex counts less than 380.
Spiral Algorithm Implementations
The Fullerene Isomer Database
We had generated a large amount of data, and needed a way to handle it.
Decided to implement a system which handles the storage, searching, retrieval and manipulation of the data, in addition to automating the process of generating new data.
The Fullerene Isomer Database
Requirements of the system:
- easy access to the data
- search isomers over multiple vertex counts
- obtain the adjacency matrix for the graph of any isomer
- automatically schedule new data to be generated on cluster
- automatically incorporate any new data into the database
The Fullerene Isomer Database
The Fullerene Isomer Database
Beowulf Research Cluster
DBMS
Run
Scheduler
Data Can be easily stored and searched using a database and SQL.
MySQL database created on CS dept. web server.
PHP for web front-end.
MySQL++ for anything else.
The Fullerene Isomer Database
One table per even vertex count greater than or equal to 20.
Two tables per even vertex count greater than 70. One for general isomers, one for isolated pentagon isomers.
Modified our parallel implementation to output data in a form which is easy to parse.
The Fullerene Isomer Database
Wrote a program to convert the generated data into SQL INSERT commands.
Also generates a CREATE TABLE command based on input values.
This SQL was then run using PHPMyAdmin.
The Fullerene Isomer Database
The Fullerene Isomer Database
Database table structure:
1, C2,1,2,3,4,5,7,14,16,17,18,19,20,18,2,0,0,0,0,2, D2,1,2,3,4,5,8,13,16,17,18,19,20, 4,0,0,0,0,3, C1,1,2,3,4,5,12,13,14,16,17,19,20,36,1,0,0,0,0,4, C2,1,2,3,5,7,10,11,14,16,18,19,20,18,2,0,0,0,0,5,D3h,1,2,3,6,10,11,12,14,15,16,18,20,2,6,2,12,0,0,6, Cs,1,2,3,4,5,12,13,15,16,18,19,20,6,1,15,2,0,0,7, C2,1,2,3,5,7,10,12,15,16,18,19,20,18,2,0,0,0,0,8, D2,1,2,3,4,7,10,11,14,17,18,19,20,9,4,0,0,0,0,9, C2,1,2,3,5,10,11,13,14,15,16,17,19,18,2,0,0,0,0,10,D2d,1,2,3,4,7,10,12,15,17,18,19,20,3,4,3,8,0,0,11, C1,1,2,3,4,7,11,12,14,16,17,19,20,36,1,0,0,0,0,12, Cs,1,2,3,4,7,11,12,15,16,18,19,20,4,1,16,2,0,0,13,C2v,1,2,3,4,11,12,13,14,15,16,17,18,4,2,7,4,0,0,14,D2d,1,2,4,7,9,10,12,13,14,16,18,20,1,4,4,8,0,0,15,D6h,1,2,4,8,9,10,12,13,14,15,18,20,3,12,0,0,0,0,
The Fullerene Isomer Database
Becomes…
The Fullerene Isomer Database
CREATE TABLE `C36_IPR0` (
`L` int(32) NOT NULL default '0', `Group` text NOT NULL, `J1` int(32) NOT NULL default '0', `J2` int(32) NOT NULL default '0', `J3` int(32) NOT NULL default '0', `J4` int(32) NOT NULL default '0', `J5` int(32) NOT NULL default '0', `J6` int(32) NOT NULL default '0', `J7` int(32) NOT NULL default '0', `J8` int(32) NOT NULL default '0', `J9` int(32) NOT NULL default '0', `J10` int(32) NOT NULL default '0', `J11` int(32) NOT NULL default '0', `J12` int(32) NOT NULL default '0', `Nmr(1)` int(8) NOT NULL default '0', `Nmr(2)` int(8) NOT NULL default '0', `Nmr(3)` int(8) NOT NULL default '0', `Nmr(4)` int(8) NOT NULL default '0', `Nmr(5)` int(8) NOT NULL default '0', `Nmr(6)` int(8) NOT NULL default '0',
PRIMARY KEY (`L`) );
INSERT INTO `C36` VALUES (1, ' C2', 1, 2, 3, 4, 5, 7, 14, 16, 17, 18, 19, 20, 18, 2, 0, 0, 0, 0);
INSERT INTO `C36` VALUES (2, ' D2', 1, 2, 3, 4, 5, 8, 13, 16, 17, 18, 19, 20, 9, 4, 0, 0, 0, 0);
INSERT INTO `C36` VALUES (3, ' C1', 1, 2, 3, 4, 5, 12, 13, 14, 16, 17, 19, 20, 36, 1, 0, 0, 0, 0);
INSERT INTO `C36` VALUES (4, ' C2', 1, 2, 3, 5, 7, 10, 11, 14, 16, 18, 19, 20, 18, 2, 0, 0, 0, 0);
INSERT INTO `C36` VALUES (5, 'D3h', 1, 2, 3, 6, 10, 11, 12, 14, 15, 16, 18, 20, 2, 6, 2, 12, 0, 0);
INSERT INTO `C36` VALUES (6, ' Cs', 1, 2, 3, 4, 5, 12, 13, 15, 16, 18, 19, 20, 6, 1, 15, 2, 0, 0);
INSERT INTO `C36` VALUES (7, ' C2', 1, 2, 3, 5, 7, 10, 12, 15, 16, 18, 19, 20, 18, 2, 0, 0, 0, 0);
INSERT INTO `C36` VALUES (8, ' D2', 1, 2, 3, 4, 7, 10, 11, 14, 17, 18, 19, 20, 9, 4, 0, 0, 0, 0);
INSERT INTO `C36` VALUES (9, ' C2', 1, 2, 3, 5, 10, 11, 13, 14, 15, 16, 17, 19, 18, 2, 0, 0, 0, 0);
INSERT INTO `C36` VALUES (10, 'D2d', 1, 2, 3, 4, 7, 10, 12, 15, 17, 18, 19, 20, 3, 4, 3, 8, 0, 0);
INSERT INTO `C36` VALUES (11, ' C1', 1, 2, 3, 4, 7, 11, 12, 14, 16, 17, 19, 20, 36, 1, 0, 0, 0, 0);
INSERT INTO `C36` VALUES (12, ' Cs', 1, 2, 3, 4, 7, 11, 12, 15, 16, 18, 19, 20, 4, 1, 16, 2, 0, 0);
…
The Fullerene Isomer Database
The Front Ends
Web Interface provides easy way to search and download the catalogs.
Took advantage of the built-in MySQL connectivity of PHP.
Ability to download adjacency matrices direct from web site to be added soon
The Front Ends
The Front Ends
The Front Ends
The Front Ends
The Front Ends
Where Next?
This system is designed to enable research.
Plan to use adjacency matrices to study the face embeddings and face consistency.
The big idea: Can we use the properties of a fullerene’s graph to predict chemical properties?
Where next?
Fowler, P.W. Manolopoulos, D.E. An Atlas of Fullerenes. 1991: Dover, New York.
Puharic, Dr. Douglas. The Face Consistency and Embeddability of Fullerenes.
References