Boosting theoretical zeolitic framework generation for

0 downloads 0 Views 1MB Size Report
Jan 31, 2011 - a standard 3.6GHz Pentium IV (3GB RAM under Linux. 2.6.27 32 bits) ..... 8 (a) J. E. Stone, J. C. Phillips, P. L. Freddolino, D. J. Hardy,. L. G. Trabuco ... K. H. Randall, S. Rao, J. A. Perry and D. J. Chadi, Z. Kristallogr.,. 1997, 212 ...
View Online

PCCP

Dynamic Article Links

Cite this: Phys. Chem. Chem. Phys., 2011, 13, 4674–4678

PAPER

www.rsc.org/pccp

Boosting theoretical zeolitic framework generation for the determination of new materials structures using GPU programmingw Downloaded by Universidad Politecnica Valencia on 23 February 2011 Published on 31 January 2011 on http://pubs.rsc.org | doi:10.1039/C0CP02833A

Laurent A. Baumes,*a Frederic Kruger,b Santiago Jimenez,a Pierre Colletb and Avelino Cormaa Received 16th March 2010, Accepted 16th December 2010 DOI: 10.1039/c0cp02833a Evolutionary algorithms have proved to be efficient for solving complicated optimization problems. On the other hand, the many-core architecture in graphical cards ‘‘General Purpose Graphic Processing Unit’’ (GPGPU) offers one of the most attractive cost/performance ratio. Using such hardware, the manuscript shows how an efficiently implemented genetic algorithm with a simple fitness function allows boosting the determination of zeolite structures. A case study is presented.

1. Introduction There are many groups interested in the synthesis and characterization of materials with specific chemical and physical functionalities related to key technological areas.1 Owing to this, an increasing effort is put on the design and understanding of materials2 from macro- to atomistic levels for which modelling approaches are decisive. Here, we focus on the determination of crystalline inorganic structures and more specifically zeolites. High-throughput (HT) methods have recently been proven to be extremely useful for the discovery of solid functional materials3 such as zeolites and MOFs.4 The speed-up provided by HT tools is useful to determine the effect of the synthesis parameters of zeolites5 allowing the simultaneous study of numerous variables. However, the treatment of X-ray diffraction data, for either the identification of multi-phases samples through powder diffraction,6 or for the prediction of new phase’s structure, is taking a large part of the entire process. Focusing on the latter, we show here how new hardware called General Purpose Graphic Processing Units (GPGPU) can be used in order to speed-up the determination of such crystalline structures. Ever since GPGPU cards have appeared on the market a few years ago, researchers have been interested in using them for scientific calculations and among them evolutionary computation. This a

Insituto de Tecnologia Quimica, UPV-CSIC Valencia Spain. E-mail: [email protected], [email protected], [email protected]; Fax: +34 963 877 809; Tel: +34 963 877 816 b Universite´ de Strasbourg, LSIIT, FDBT, Illkirch, France. E-mail: [email protected], [email protected]; Fax: +33 368 854 580; Tel: +33 368 854 455 w Electronic supplementary information (ESI) available: Diagram comparing architectures, GTX 295 description, and evolutionary algorithm in EASEA, pseudo code of the fitness function, subset of structures and GULP files, Fig. 3 on a full page. See DOI: 10.1039/ c0cp02833a

4674

Phys. Chem. Chem. Phys., 2011, 13, 4674–4678

is due to the inherent parallelism of these algorithms and because they usually require a great number of evaluations. As the prediction of structure at atomic level is one of the most fundamental challenges in condensed matter,7 and also due to the increasing need for fast methods, we report a new application of GPGPU for zeolites. In order to clearly demonstrate the potential for the atomistic prediction/determination community, a case study is presented, and solutions show new stable hypothetical structures with 6 to 14 T in the asymmetric units taking into account the restriction on the density. Because some precedents8 fully described GPU architecture and related programming, we start with a quick overview of GPGPU. Then, we will describe a new implementation of a standard Evolutionary Algorithm (EA) on a GPGPU card that allows reaching a speed-up of two-order magnitude.9 Finally, a short survey of predictive methods is followed by the application of our methodology to zeolite structure determination using a simple evaluation function and a case study.

2. GPGPU cards and scientific calculations Researchers have shown their interest in using GPGPUs for chemical problems such as molecular modelling, DFT, and quantum chemistry calculations.8 In order to appreciate the challenge faced by researchers who run scientific calculations on GPGPUs, one must understand their architecture and memory structure. Until very recently, programming these massively parallel processors had to be done through standard graphics Application Programming Interfaces (APIs), such as OpenGL or DirectX. In order to make the job easier, nVidia recently launched CUDA (Compute Unified Device Architecture), a Software Development Kit and API that allows to use a recursion-free, function-pointer-free subset of the C language to access the hardware. In computer science, parallelism This journal is

c

the Owner Societies 2011

View Online

Downloaded by Universidad Politecnica Valencia on 23 February 2011 Published on 31 January 2011 on http://pubs.rsc.org | doi:10.1039/C0CP02833A

Fig. 1 Influence of transfer time and the number of dimension also called genome size. The genome size corresponds to the number of floating variables. Each floating variable is a coordinate considering the zeolite problem.

can be described thanks to a simple taxonomy described in Table S1 in Sup. Info.w CUDA conception encourages programmers to follow Single Instruction Multiple Data (SIMD) model of parallelization, to match the architecture of the underlying processors. Tasks are split up and run simultaneously on multiple processors with different input. All elementary processors are organized into larger Streaming Multi-processors (SMs) that follow the SPMD scheme (Single Program, Multiple Data), while inside each of them, all elementary processors called Streaming Processors (SPs) follow the SIMD model, meaning that they must all execute the same instruction at the same time but possibly using different data. The nVidia GTX295 has been used for the experiments (see Table S2 in Sup. Info for a detailed descriptionw), and consists in a total of 240  2 cores, see Fig. S1 and S2,w with a frequency of 576 MHz. In order to maximise efficiency, nVidia allows each core to run 4 different threads sequentially, i.e. 960 x 2 virtual processors. Using memory on the GPU involves writing the interactions between host (CPU) and device (GPU) memory, as well as structuring memory access across the different types of device memory. A typical job starts with copying data to the GPU, usually to the global memory while instructions and function parameters, are copied to the faster shared memory. The GPU then runs the computation task it has been assigned independently of the CPU. In order to implement the threading and memory system described above, CUDA includes a number of non-standard extensions to the C C 1++ languages. Programmers write code in .cu files, which are split and compiled to C++ for the host and C for the device, then compiled down to assembly.

model where the sequential part runs of the CPU and the computationally-intensive part runs on the GPU. Thus, we explore the idea of running the EA engine on the host CPU, that implements the genetic operators, population management (selection of parents and replacement) and the transfer of the entire population of children to the GPGPU for parallel evaluation, and getting the results back to CPU for the creation of the next generation, see Fig. S4.w Even though CUDA is of great help, the architecture of a GPU card remains a bit special and a deep understanding is required in order to make the most of it. Consequently, in order to make EA coding as simple as possible, we decided to integrate the know-how into the EASEA language11 which has been updated to output code for GPGPU. This specification language has its own compiler which outputs source code that automatically parallelizes the evaluation of EA populations on nVidia cards by simply using the -cuda tag, allowing anyone to use graphical cards and reproduce the presented results without any knowledge about GPGPU programming, see example of source code in Fig. S5 in Sup. Info.w A memetic algorithm version is implemented, that runs a local optimisation hill-climbing algorithm on the GPGPU card for each child that is evaluated. Fig. 1 shows the measured transfer time of the whole population towards the GPU and back for 32000 individuals, demonstrating that the transfer time is negligible. Tests show a roughly 100 speed-up for the whole algorithm (see Fig. 2) using only one of the two GPUs of a GTX295 nVidia card (nVidia driver 190.18, Cuda 2.3) on a standard 3.6GHz Pentium IV (3GB RAM under Linux 2.6.27 32 bits), compared to the same algorithm running on the CPU. Evaluation of structure quality The problem posed by prediction is to obtain approximate models which can then easily be subsequently refined by routine modelling techniques. Various techniques have been employed such as Monte-Carlo Basin Hopping (MCBH),12 Simulated Annealing (SA),13 and Genetic Algorithms (GA).14 Topological principles can be considered as another solution since they allow the enumeration of networks,15 and among them 4-connected nets such as zeolites.16 Despite the fact that

3. Structure determination with Evolutionary Algorithms using GPGPU Evolutionary Algorithm Standard EAs run an identical fitness function on different individuals sticking exactly to the SIMD model handled by GPGPUs. Surprisingly enough, after extensive search, only three different papers10 could be found that addressed the implementation of standard evolutionary algorithms on GPGPU cards with a common evaluation function for all individuals. However, their strange and overly complex implementations do not encourage to follow their steps (published speed-ups ranged from 1.25 to 10). Here, we use CPU and GPU together in a heterogeneous computing This journal is

c

the Owner Societies 2011

Fig. 2 Obtained speed-up on the complete algorithm depending on the population size and number of iterations of the local search algorithm.

Phys. Chem. Chem. Phys., 2011, 13, 4674–4678

4675

Downloaded by Universidad Politecnica Valencia on 23 February 2011 Published on 31 January 2011 on http://pubs.rsc.org | doi:10.1039/C0CP02833A

View Online

the use of computational techniques is becoming standard for structural studies of solid materials,17 the main problem remains to obtain ‘‘correct’’ solutions in a reasonable time. To the opposite of most predictive techniques, rather than evaluating an energy function, a simple fitness is used to assess the viability of a structure.13b,18 This strategy is expected to decrease the computational cost of the evaluation of structure goodness compared to traditional energy calculations. However, this should provide a framework assessment good and flexible enough not to discard correct solutions while retaining only a reasonable number of candidate solutions that can easily be refined by routine procedures. It should be noted that for the greatest part of the search space, the distribution of atoms does not refer to any realistic solution, for which a simple and fast assessment remains sufficient. When looking for new structures, strategies usually employ XRD data in order to compare potential solutions by calculating theoretical diffraction data. Here, no diffraction calculation is integrated in the evaluation of EA candidates as our aim is double: crystallographic structure determination and database (DB) feeding. Therefore, the algorithm purpose is to provide a practical quantity of different potential solutions that are stored in a DB and refined on a second computer by a routine based on inter-atomic potential19 technique using GULP code,20 and among them, we expect the structure to be discovered. Because recent zeolite synthesis in discovery programs involves T atoms that differ from the original formulation of aluminosilicates such as Ge, P, or B for example considering ITQ and SSZ materials, there will not be any implicit chemical composition. Only unspecified T atoms are considered, and oxygen is omitted. Our function is reduced to geometric descriptors based on T-T-T angles, T-T distances, and a connectivity term. Best possible fitness is zero when all T are tetra-coordinated, and distances and average angles exactly correspond to optimized values, i.e. 3.07 A and 109.51, while deviations from this optimum sum penalties, see a full description in Supplementary Information.w Required inputs are the unit cell lattice parameters, dimensions and angles, and density range. Concerning the choice of the strategy, it should be noted that nothing leads us to think that only simple functions can be optimized. Recent GPU cards such as the Tesla 2070 have up to 6 GB of memory. The only real restriction on the programming of these cards is that they cannot execute recursive code, and they cannot perform dynamic memory allocation. Both restrictions are removed since computer science theory shows that it is possible to rewrite any recursive function with non-recursive loops, and that dynamic memory allocation is not really needed if one can allocate a large enough chunk of memory when starting the program. Preliminary tests using this strategy have shown that each zeolite from IZA website with 5T can be solved in minutes, 32 000 individuals were employed. Fig. 3 is a six-dimension chart in which each axis contains two coordinates of the AFX framework and the colour refers to fitness intervals where the darkest zone, refers to near optimal fitness, (see a full page figure in Fig. S5w). AFX is selected as an example in order to show how the fitness function allows locating the correct structure (see circled area in Fig. 3) and thus to guide the 4676

Phys. Chem. Chem. Phys., 2011, 13, 4674–4678

search toward the objective. AFX is made of two T atoms: T1 (0.2265, 0.2268, 0.0788) and T2 (0.3328, 0.4398, 0.1712). Fig. 3 shows the fitness landscape taking x1 and y2 fixed at their objective values, while the other four coordinates vary with a step of 0.06A inside the following ranges: y1 in the range [0.15–0.25] in fractional corresponding to [2.0511–3.4185] in orthogonal, x2 in [0.25–0.35], [3.4185–4.7859] in orthogonal, z1 and z2 in [0.05–0.20] in fractional equivalent to [0.9847–3.93] in orthogonal. On x-axis x2 and z2 are varied, while on y-axis y1 and z1 are varied. In order to plot a 4 D into a 2 D chart, z1 coordinate varies to the next step (step_z1_t+1 = step_z1_t + 0.06) after all values of y1 have been plotted for step_z1_t, same procedure is employed for x2 and z2. For example, the second value of z1 appears after all values of y1 have been calculated with first the first value of z1, respectively for z2 and x2 as shown in the inset of Fig. S5.w It can be observed that the AFX framework (circled in Fig. 3) is correctly marked as a dark dot, while deformed structure (connectivity is the same) are displayed as lighter grey. Application to a case study In order to show that such a strategy allows finding stable structures even containing a relatively high number of T atoms (here 6 to 14 due to density restriction), we will suppose that the three different configurations of unit cells (UC) listed in Table 1 are extracted from XRD indexation while a measure of density allows defining a number of 96 T per UC  8. Note that these unit cell configurations do not correspond to frameworks previously investigated, the resulting structures presented here are new. Thus, three different instances of our algorithm are run sequentially on the full GTX295 for a total of one week. Nearly 400 structures are found, from which 88% show an energy per T after refinement in [128.2–129.8] indicating that this technique is clearly able to pre-select stable zeolitic frameworks. Fig. 4–6 show four different structures where balls in bright grey correspond to T atoms and dark ones refer to Oxygen, and whose related parameters and energies are given in Table 2, see SIw for a broader subset of structures and one set of input and output GULP files.

4. Discussion One important part of the work is the integration of know-how in the EASEA language which allows anyone who wishes to try EAs on these cards at minimal effort. GPGPU clearly opens new horizons to evolutionary computation, as search spaces can now be explored 2 or 3 orders of magnitude faster. Thanks to this speed-up and the use of a low-cost fitness function, we have shown on a case study that it is possible to quickly find stable structures corresponding to experimental data. The interesting aspect of the methodology is that without the integration of diffraction data into the fitness function, a large quantity of hypothetical structures potentially synthesizable is generated. Preliminary tests (not shown here) demonstrate that the comparison of experimental and theoretical diffraction data allows decreasing the time needed to encounter a given structure. On the other hand, This journal is

c

the Owner Societies 2011

Downloaded by Universidad Politecnica Valencia on 23 February 2011 Published on 31 January 2011 on http://pubs.rsc.org | doi:10.1039/C0CP02833A

View Online

Fig. 6 View of solution S0 with 10T in unit cell C along ba axis (left), and solution S5 with 12T in unit cell C along ba axis (right). Balls in dark grey are O and bright are T.

Table 2 Subset of structures for the different unit cells defined in Table 1 and represented in Fig. 4–6 Fig. 3 AFX fitness landscape.

Table 1

Configurations of unit cells. V=5550 A3, 96T/UC 8T

Unit Cell

a

b

c

a

b

g

Space group

A B C

17.868 13.858 17.868

13.858 17.868 22.410

22.410 22.410 13.858

90 90 90

90 90 90

90 90 90

Imma (74) Imma (74) Ima2 (46)

Fig. 4 View of solution S21 with 6T in unit cell A along bc axis (left) and ac axis (right). Balls in dark grey are O and bright are T.

Unit Cell

Number of T

Solution name

A B C C

6 6 10 12

S21 S36 S0 S5

Energy 129.43 129.42 128.86 129.34

Fitness 0.0039 0.0039 2.488 11.722

Conclusions Until recently, the huge computational power offered by GPUs was delicate to harness due to the limitations in hardware architecture and also due to the lack of general purpose APIs. The field of GPGPU computing is maturing, and thanks to new architectures and software such as CUDA, high performance can be achieved. We demonstrated that the combination of such fast hardware with a low-cost fitness function and a memetic genetic algorithm allows finding stable structures for zeolites with a high success rate (88% after refinement). On the other hand, all collected structures could be used for further calculations after the integration of new elements (Ge, B, . . .). This should give a great opportunity to understand what kind of framework is favoured according to the presence of a given element and in which quantity. This is a great step toward a better understanding of zeolitic systems which obviously requires enormous processing power. The presentation of 14 Ts structures situates our methodology among the pool of techniques which have shown the best results in terms of T number as only few solutions have been given for zeolites with more than 10 to 12 Ts. It should be noted that our aim was not focus on such parameter but rather on the first presentation of GPGPU-based solutions for structure determination.

References Fig. 5 View of solution S36 with 6T in unit cell B along ac axis (left), ba (middle) and bc axis (right). Balls in dark grey are O and bright are T.

this obviously discards a great part of stable structures which could populate our framework database. This journal is

c

the Owner Societies 2011

1 (a) M. Boronat, F. Illas and A. Corma, J. Phys. Chem. A, 2009, 113, 3750–3757; (b) M. Boronat, P. Concepcio´n, A. Corma, S. Gonza´lez, F. Illas and P. Serna, J. Am. Chem. Soc., 2007, 129, 16230–16237; (c) M. Boronat, P. Concepcio´n and A. Corma, J. Phys. Chem. C, 2009, 113, 16772–16784; (d) P. Montes-Navajas, L. A. Baumes, A. Corma and H. Garcia, Tetrahedron Lett., 2009, 50(20), 2301–2304; (e) L. A. Baumes, M. Buaki Sogo, P. MontesNavajas, A. Corma and H. Garcia, Tetrahedron Lett., 2009, 50(50), 7001–7004; (f) L. A. Baumes, M. Buaki Sogo, P. Montes-Navajas, A. Corma and H. Garcia, Chem.–Eur. J., 2010, 16, 4489–4495.

Phys. Chem. Chem. Phys., 2011, 13, 4674–4678

4677

Downloaded by Universidad Politecnica Valencia on 23 February 2011 Published on 31 January 2011 on http://pubs.rsc.org | doi:10.1039/C0CP02833A

View Online

2 (a) M. Boronat, C. Martinez-Sanchez, D. Law and A. Corma, J. Am. Chem. Soc., 2008, 130, 16316–16323; (b) D. Farrusseng, C. Klanner, L. A. Baumes, M. Lengliz, C. Mirodatos and F. Schu¨th, QSAR Comb. Sci., 2005, 24, 78–93; (c) F. Schu¨th, L. A. Baumes, F. Clerc, D. Demuth, D. Farrusseng, J. LlamasGalilea, C. Klanner, J. Klein, A. Martinez-Joaristi, J. Procelewska, M. Saupe, S. Schunk, M. Schwickardi, W. Strehlau and T. Zech, Catal. Today, 2006, 117, 284–290; (d) M. Boronat, P. Concepcio´n, A. Corma, M. T. Navarro, M. Renz and S. Valencia, Phys. Chem. Chem. Phys., 2009, 11, 2876–2884; (e) C. Klanner, D. Farrusseng, L. A. Baumes, C. Mirodatos and F. Schu¨th, QSAR Comb. Sci., 2003, 22, 729–736; (f) J. M. Serra, L. A. Baumes, M. Moliner, P. Serna and A. Corma, Comb. Chem. High Throughput Screening, 2007, 10, 13–24; (g) P. Serna, L. A. Baumes, M. Moliner and A. Corma, J. Catal., 2008, 258(1), 25–34. 3 (a) A. Gorer, U.S. Patent, 6.723.678, Symyx Technologies Inc., 2004; (b) K. S. Sohn, S. Y. Seo and H. D. Park, Electrochem. Solid-State Lett., 2001, 4, H26–H29; (c) T. R. Boussie, G. M. Diamond, C. Goh, K. A. Hall, A. M. LaPointe, M. L. Cheryl Lund, V. Murphy, J. A. W. Shoemaker, U. Tracht, H. Turner, J. Zhang, T. Uno, R. K. Rosen and J. C. Stevens, J. Am. Chem. Soc., 2003, 125, 4306–4317; (d) C. Klanner, D. Farrusseng, L. A. Baumes, C. Mirodatos and F. Schuth, Angew. Chem., Int. Ed., 2004, 43(40), 5347–5349. 4 A. Corma, M. Moliner, J. M. Serra, P. Serna, M. J. Dı´ az-Caban˜as and L. A. Baumes, Chem. Mater., 2006, 18(14), 3287–3296. 5 (a) D. E. Akporiaye, I. M. Dahl, A. Karlsson and R. Wendelbo, Angew. Chem., Int. Ed., 1998, 37(5), 609–611; (b) J. Holmgren, D. Bem, M. Bricker, R. Gillespie, G. Lewis, D. Akporiaye, I. Dahl, A. Karlsson, M. Plassen and R. Wendelbo, Stud. Surf. Sci. Catal., 2001, 135, 461–470; (c) M. L. Bricker, J. W. A. Sachtler, R. D. Gillespie, C. P. McGoneral, H. Vega, D. S. Bem and J. S. Holmgren, Appl. Surf. Sci., 2004, 223(1–3), 109–117; (d) P. P. Pescarmona, J. J. T. Rops, J. C. van der Waal, J. C. Jansen and T. Maschmeyer, J. Mol. Catal. A: Chem., 2002, 182(183), 319–325; (e) J. Klein, C. W. Lehmann, H. W. Schmidt and W. F. Maier, Angew. Chem., Int. Ed., 1999, 38, 3369. 6 (a) L. A. Baumes, M. Moliner and A. Corma, CrystEngComm, 2008, 10, 1321–1324; (b) L. A. Baumes, M. Moliner and A. Corma, Chem.–Eur. J., 2009, 15, 4258–4269. 7 S. M. Woodley and R. Catlow, Nat. Mater., 2008, 7, 937. 8 (a) J. E. Stone, J. C. Phillips, P. L. Freddolino, D. J. Hardy, L. G. Trabuco and K. Schulten, J. Comput. Chem., 2007, 28, 2618–2640; (b) K. Yasuda, J. Chem. Theory Comput., 2008, 4, 1230–1236; (c) L. Vogt, R. Olivares-Amaya, S. Kermes, Y. Shao, C. Amador-Bedolla and A. Aspuru-Guzik, J. Phys. Chem. A, 2008, 112, 2049–2057; (d) I. S. Ufimtsev and T. J. Martinez, J. Chem. Theory Comput., 2008, 4, 222–231; (e) J. A. Anderson, C. D. Lorenz and A. Travesset, J. Comput. Phys., 2008, 227, 5342–5359; (f) J. D. Owens, D. Luebke, N. Govindaraju, M. Harris, J. Kru¨ger, A. E. Lefohn and T. J. Purcell, Comput. Graphics Forum, 2007, 26(1), 80–113. 9 (a) O. Maitre, N. Lachiche, L. A. Baumes, A. Corma, P. Collet, Gecco 09 Montreal, Canada on July 8–12, 2009; (b) O. Maitre, N. Lachiche, P. Clauss, L. A. Baumes, A. Corma and P. Collet, 15th Int. Conf. on Parallel and Distributed Computing (Euro-Par 2009). Delf, Netherlands, Aug. 25–28; (c) F. Kruger, L. A. Baumes, N. Lachiche and P. Collet, Int. Conf. EvoStar 2010, April 7–9 2010, Istanbul, Turkey. 10 (a) K. L. Fok, T. T. Wong and M. L. Wong, Intelligent systems, IEEE, 22, 2, 69–78, 2007; (b) J. M. Li, X. J. Wang, R. S. He and Z. X. Chi, Network and parallel computing workshops, 855–862, 2007. NPC workshops. IFIP int. conf; (c) Q. Yu, C. Chen and

4678

Phys. Chem. Chem. Phys., 2011, 13, 4674–4678

11 12 13

14

15 16

17

18

19 20

Z. Pan, Advances in natural computation ICNC 2005. Proc. Part III, Vol. 3612, LNCS, 1051–1059, Changsha, 2005. P. Collet, E. Lutton, M. Schenauer and J. Louchet, in Parallel Problem Solving From Nature VI, Springer, LNCS, 2000, pp. 891–901. (a) D. J. Wales and H. A. Scheraga, Science, 1999, 285, 1368–1372; (b) D. J. Wales and J. P. K. Doyle, J. Phys. Chem. A, 1997, 101, 5111–5116. (a) S. Kirkpatrick, J. C. D. Gellat and M. P. Vecchi, Science, 1983, 220, 671–680; (b) J. Pannetier, J. Bassas-Alsina, J. RodriguezCarvajal and J. Caignaert, V. Nature, 1990, 346, 343–345; (c) J. C. Schon and M. Jansen, Angew. Chem. Int. Ed., 1996, 35, 1287–1304; (d) J. C. Schon and M. Z. Jansen, Z. Kristallogr., 2001, 216, 307–325. (a) S. M. Woodley, P. D. Battle, J. D. Gale and R. A. Catlow, Phys. Chem. Chem. Phys., 1999, 1, 2535; (b) L. D. Lloyd, R. L. Johnston and S. Salhi, J. Comput. Chem., 2005, 26, 1069–1078; (c) A. R. Oganov and C. W. Glass, J. Chem. Phys., 2006, 124, 244704; (d) R. L. Johnston, Dalton Trans., 2003, 4193–4207; (e) S. M. Woodley, Phys. Chem. Chem. Phys., 2007, 9, 1070–1077; (f) N. L. Abraham and M. I. Probert, Phys. Rev. B: Condens. Matter Mater. Phys., 2006, 73, 224104; (g) G. W. Turner, E. Tedesco, K. D. M. Harris, R. L. Johnston and B. M. Kariuki, Chem. Phys. Lett., 2000, 321, 183–190; (h) C. Roberts, R. L. Johnston and N. T. Wilson, Theor. Chem. Acc., 2000, 104, 123–130. A. F. Wells, Acta Crystallogr., 1954, 7, 535–554, 842–853. (a) M. O’Keefe and B. G. Hyde, Crystal Structures I. Patterns and Symmetry, Mineral. Soc. Am., 1996; (b) M. M. J. Treacy, K. H. Randall, S. Rao, J. A. Perry and D. J. Chadi, Z. Kristallogr., 1997, 212, 768–791; (c) M. M. J. Treacy, I. Rivin, E. Balkovsky, K. H. Randall and M. D. Foster, Microporous Mesoporous Mater., 2004, 74, 121–132; (d) M. D. Foster, A. Simperler, R. G. Bell, O. D. Friedrichs, F. A. Almeida Paz and J. Klinowski, Nat. Mater., 2004, 3, 234–238; (e) A. W. M. Dress, D. H. Huson and E. Molnar, Acta Crystallogr., Sect. A: Found. Crystallogr., 1993, 49, 806–817; (f) O. D. Friedrichs, A. W. M. Dress, D. H. Huson, J. Klinowski and A. L. Mackay, Nature, 1999, 400, 644–647; (g) M. O’Keeffe, Acta Crystallogr., Sect. A: Found. Crystallogr., 2008, 64, 425–429; (h) J. V. Smith, Am. Mineral., 1977, 62, 703–709; (i) J. V. Smith, Am. Mineral., 1978, 63, 960–969; (j) J. V. Smith, Am. Mineral., 1979, 64, 551–562; (k) A. Le Bail, J. Appl. Crystallogr., 2005, 38, 389–395. (a) M. W. Deem and J. M. Newsam, Nature, 1989, 342, 260–262; (b) N. W. Deem and J. M. Newsam, J. Am. Chem. Soc., 1992, 114, 7189–7198; (c) D. E. Akporiaye, H. Fjellvag, E. N. Halvorsen, J. Hustveit, A. Karlsson and K. P. Lillerud, J. Phys. Chem., 1996, 100, 16641–16646; (d) M. B. Boisen, G. V. Gibbs and M. S. T. Bukowinski, Phys. Chem. Miner., 1994, 21, 269–284; (e) D. M. Teter, G. V. Gibbs, M. B. Boisen, D. C. Allan and M. P. Teter, Phys. Rev. B: Condens. Matter, 1995, 52, 8064–8073; (f) M. B. Boisen, G. V. Gibbs, M. O’Keeffe and K. L. Bartelmehs, Microporous Mesoporous Mater., 1999, 29, 219–266; (g) S. M. Woodley, C. R. A. Catlow, P. D. Battle and J. D. Gale, Acta Crystallogr., Sect. A: Found. Crystallogr., 2002, 58, c196. (a) M. Falcioni and M. W. Deem, J. Chem. Phys., 1999, 110, 1754–1766; (b) T. S. Bush, J. D. Gale, C. R. A. Catlow and P. D. Battle, J. Mater. Chem., 1994, 4, 831; (c) M. W. Deem and J. M. Newsam, J. Am. Chem. Soc., 1992, 114, 7189–7198. M. Sierka and J. Sauer, Faraday Discuss., 1997, 106, 41. J. D. Gale, J. Chem. Soc. Faraday Trans., 1997, 93, 629.

This journal is

c

the Owner Societies 2011