12.07.2015 Views

The Computational Materials Repository

The Computational Materials Repository

The Computational Materials Repository

SHOW MORE
SHOW LESS
  • No tags were found...

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

2.1 Working with CMR 19<strong>The</strong>re are few requirements that need to be identified in order to workefficiently with the database: First, the results need to be found after puttingthem into the database. Keywords replace directory and file names. For instancethe file with the path 211surfaces/Ag211/edge/H.gpw would get the keywords211surface,Ag211,edge. <strong>The</strong>re is no need to put H as a keyword, for findingpurposes, because we can search/restrict by atom type. However, if the count ofthe atoms matters as for N2 then it would make sense to include it. (<strong>The</strong> reasonis that when looking for N2 we would also get the results with the single atomN.) <strong>The</strong> advantage of keywords over directory names is that the order doesn’tmatter and they enable to look at arbitrary subsets. When the two keywords211surface and edge and the requirement of presence of the atom H are combinedin a query, we find all kinds of 211 surfaces with an H atom at the edge position.To look for these files in subdirectories would be considerably more cumbersome.Second, we would like to read the data in a similar way as the native output file.This is achieved with the python user interface as described later in section 2.4or with the interface that views the data in a web browser as shown already inthe introduction in Fig. 1.2. Third we profit from the database capability tosearch efficiently for the defined keywords and fields. Fourth, the results shouldprovide more information than just the numbers from the output file. db-filesare capable of storing scripts, in-/or output files, calculation parameters andcustom fields as for example surface=211. Fifth, the results should be traceable.By creating groups (described later in the section 2.7) that reference the useddata is conserved.One might wonder what is the difference between the keyword 211surfaceand the field surface=211, because both define the same data set. <strong>The</strong> differentcharacteristics can be seen when grouping calculations according to criteriaspecific criteria. <strong>The</strong> chemisorption energy E chem is calculated as E chem =E Z − E X − E Y , where E X the adsorbate X in the gas-phase, E Y the cleansurface with atoms Y and E Z is the total energy of surface with atoms Y withthe adsorbate Z. If we had only the keywords, then we would have to know everysingle keyword and loop manually over all possible combinations. In pseudo codeit would look as follows:f o r s u r f a c e i n [ 1 1 1 , 2 1 1 , . . . ] :f o r adsorbate i n [H, O, . . . ] :f i n d r e s u l t with keyword s u r f a c e+adsorbateE chem = . . .This is not efficient because every possible combination has to be checked -even if there is no data in the database and because the actually available surfacesand adsorbates have to be known. <strong>The</strong>y cannot automatically be determinedfrom the database.A better way is to use the keyword to identify a certain type of calculationand the fields to combine them. This can be written as the following list of rules:• X.keywords contains adsorbate• Y.keywords contains surface

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!