atoms
Type |
Status |
---|---|
CML extraction template |
|
HTML5 representation |
Attribute |
Value |
---|---|
source |
CASTEP log |
id |
atoms |
pattern |
\s*\-{10,}.*$\s*Cell\sContents.* |
endPattern |
\s*$\s*\-{10,} |
endOffset |
0 |
xml:base |
setup/atoms.xml |
Input
-------------------------------
Cell Contents
-------------------------------
Total number of ions in cell = 8
Total number of species in cell = 1
Max number of any one species = 8
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
x Element Atom Fractional coordinates of atoms x
x Number u v w x
x----------------------------------------------------------x
x Si 1 0.000000 0.000000 0.000000 x
x Si 2 0.000000 0.500000 0.500000 x
x Si 3 0.500000 0.000000 0.500000 x
x Si 4 0.500000 0.500000 0.000000 x
x Si 5 0.750000 0.250000 0.750000 x
x Si 6 0.250000 0.250000 0.250000 x
x Si 7 0.250000 0.750000 0.750000 x
x Si 8 0.750000 0.750000 0.250000 x
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
No user defined ionic velocities
-------------------------------
Output text
1<comment class="example.output" id="atoms">
2 <module cmlx:templateRef="atoms">
3 <module cmlx:templateRef="atomtable">
4 <list cmlx:templateRef="atom">
5 <list>
6 <scalar dataType="xsd:string" dictRef="cc:elementType">Si</scalar>
7 <scalar dataType="xsd:integer" dictRef="cc:serial">1</scalar>
8 <scalar dataType="xsd:double" dictRef="cc:xFract">0.000000</scalar>
9 <scalar dataType="xsd:double" dictRef="cc:yFract">0.000000</scalar>
10 <scalar dataType="xsd:double" dictRef="cc:zFract">0.000000</scalar>
11 </list>
12 <list>
13 <scalar dataType="xsd:string" dictRef="cc:elementType">Si</scalar>
14 <scalar dataType="xsd:integer" dictRef="cc:serial">2</scalar>
15 <scalar dataType="xsd:double" dictRef="cc:xFract">0.000000</scalar>
16 <scalar dataType="xsd:double" dictRef="cc:yFract">0.500000</scalar>
17 <scalar dataType="xsd:double" dictRef="cc:zFract">0.500000</scalar>
18 </list>
19 <list>
20 <scalar dataType="xsd:string" dictRef="cc:elementType">Si</scalar>
21 <scalar dataType="xsd:integer" dictRef="cc:serial">3</scalar>
22 <scalar dataType="xsd:double" dictRef="cc:xFract">0.500000</scalar>
23 <scalar dataType="xsd:double" dictRef="cc:yFract">0.000000</scalar>
24 <scalar dataType="xsd:double" dictRef="cc:zFract">0.500000</scalar>
25 </list>
26 <list>
27 <scalar dataType="xsd:string" dictRef="cc:elementType">Si</scalar>
28 <scalar dataType="xsd:integer" dictRef="cc:serial">4</scalar>
29 <scalar dataType="xsd:double" dictRef="cc:xFract">0.500000</scalar>
30 <scalar dataType="xsd:double" dictRef="cc:yFract">0.500000</scalar>
31 <scalar dataType="xsd:double" dictRef="cc:zFract">0.000000</scalar>
32 </list>
33 <list>
34 <scalar dataType="xsd:string" dictRef="cc:elementType">Si</scalar>
35 <scalar dataType="xsd:integer" dictRef="cc:serial">5</scalar>
36 <scalar dataType="xsd:double" dictRef="cc:xFract">0.750000</scalar>
37 <scalar dataType="xsd:double" dictRef="cc:yFract">0.250000</scalar>
38 <scalar dataType="xsd:double" dictRef="cc:zFract">0.750000</scalar>
39 </list>
40 <list>
41 <scalar dataType="xsd:string" dictRef="cc:elementType">Si</scalar>
42 <scalar dataType="xsd:integer" dictRef="cc:serial">6</scalar>
43 <scalar dataType="xsd:double" dictRef="cc:xFract">0.250000</scalar>
44 <scalar dataType="xsd:double" dictRef="cc:yFract">0.250000</scalar>
45 <scalar dataType="xsd:double" dictRef="cc:zFract">0.250000</scalar>
46 </list>
47 <list>
48 <scalar dataType="xsd:string" dictRef="cc:elementType">Si</scalar>
49 <scalar dataType="xsd:integer" dictRef="cc:serial">7</scalar>
50 <scalar dataType="xsd:double" dictRef="cc:xFract">0.250000</scalar>
51 <scalar dataType="xsd:double" dictRef="cc:yFract">0.750000</scalar>
52 <scalar dataType="xsd:double" dictRef="cc:zFract">0.750000</scalar>
53 </list>
54 <list>
55 <scalar dataType="xsd:string" dictRef="cc:elementType">Si</scalar>
56 <scalar dataType="xsd:integer" dictRef="cc:serial">8</scalar>
57 <scalar dataType="xsd:double" dictRef="cc:xFract">0.750000</scalar>
58 <scalar dataType="xsd:double" dictRef="cc:yFract">0.750000</scalar>
59 <scalar dataType="xsd:double" dictRef="cc:zFract">0.250000</scalar>
60 </list>
61 </list>
62 <atomArray>
63 <atom elementType="Si" id="a1" xFract="0.000000" yFract="0.000000" zFract="0.000000">Si</atom>
64 <atom elementType="Si" id="a2" xFract="0.000000" yFract="0.500000" zFract="0.500000">Si</atom>
65 <atom elementType="Si" id="a3" xFract="0.500000" yFract="0.000000" zFract="0.500000">Si</atom>
66 <atom elementType="Si" id="a4" xFract="0.500000" yFract="0.500000" zFract="0.000000">Si</atom>
67 <atom elementType="Si" id="a5" xFract="0.750000" yFract="0.250000" zFract="0.750000">Si</atom>
68 <atom elementType="Si" id="a6" xFract="0.250000" yFract="0.250000" zFract="0.250000">Si</atom>
69 <atom elementType="Si" id="a7" xFract="0.250000" yFract="0.750000" zFract="0.750000">Si</atom>
70 <atom elementType="Si" id="a8" xFract="0.750000" yFract="0.750000" zFract="0.250000">Si</atom>
71 </atomArray>
72 </module>
73 </module>
74 </comment>
Template definition
1<templateList> <template id="atomtable" pattern="\s+x{20,}x.*" endPattern="\s+x{20,}x.*"> <record repeat="4" /> <record repeat="*" id="atom">\s*x{A,cc:elementType}{I,cc:serial}{F,cc:xFract}{F,cc:yFract}{F,cc:zFract}\s*x.*</record> <transform process="addChild" xpath=".//cml:list[@cmlx:templateRef='atom']/cml:list" elementName="cml:atom" id="atom" /> <transform process="addAttribute" xpath=".//cml:atom" name="id" value="$string(concat('a', count(preceding::cml:atom)+1))" /> <transform process="addAttribute" xpath=".//cml:atom" name="elementType" value="$string(preceding-sibling::cml:scalar[@dictRef='cc:elementType']/text())" /> <transform process="addAttribute" xpath=".//cml:atom" name="xFract" value="$string(preceding-sibling::cml:scalar[@dictRef='cc:xFract']/text())" /> <transform process="addAttribute" xpath=".//cml:atom" name="yFract" value="$string(preceding-sibling::cml:scalar[@dictRef='cc:yFract']/text())" /> <transform process="addAttribute" xpath=".//cml:atom" name="zFract" value="$string(preceding-sibling::cml:scalar[@dictRef='cc:zFract']/text())" /> <transform process="setValue" xpath=".//cml:atom" value="$string(preceding-sibling::cml:scalar[@dictRef='cc:elementType']/text())" /> <transform process="addChild" xpath="." elementName="cml:atomArray" /> <transform process="move" xpath=".//cml:atom" to="./cml:atomArray" />
2 </template>
3 </templateList>
4<transform process="delete" xpath=".//cml:list[count(*) = 0]" />
5<transform process="delete" xpath=".//cml:list[count(*) = 0]" />