cell

Implementation level

Type

Status

CML extraction template

image1

HTML5 representation

image2

Template attributes

Attribute

Value

source

CASTEP log

id

cell

pattern

\s*\-{10,}.*$\s*Unit\sCell.*

endPattern

\s*$\s*\-{10,}

endPattern2

\s*LBFGS:\sFinal\sEnthalpy.*

endOffset

0

xml:base

setup/cell.xml

Input

                      -------------------------------
                                 Unit Cell
                      -------------------------------
   Real Lattice(A)                      Reciprocal Lattice(1/A)
5.5064821     0.0000000     0.0000000        1.141052528  -0.000000000  -0.000000000
0.0000000     5.5064821     0.0000000       -0.000000000   1.141052528  -0.000000000
0.0000000     0.0000000     5.5064821       -0.000000000  -0.000000000   1.141052528

                  Lattice parameters(A)       Cell Angles
               a =      5.506482          alpha =   90.000000
               b =      5.506482          beta  =   90.000000
               c =      5.506482          gamma =   90.000000

                  Current cell volume =           166.963943       A**3
                              density =             1.345680   AMU/A**3
                                      =             2.234554     g/cm^3

                      -------------------------------

Output text

 1<comment class="example.output" id="cell">>
 2        <module cmlx:templateRef="cell">
 3            <module cmlx:templateRef="lattice">
 4               <list dictRef="ca:axis" id="axis">
 5                  <array dataType="xsd:double" dictRef="cc:latticeA" size="3" units="nonsi:angstrom">5.5064821 0.0000000 0.0000000</array>
 6                  <array dataType="xsd:double" dictRef="cc:latticeB" size="3" units="nonsi:angstrom">0.0000000 5.5064821 0.0000000</array>
 7                  <array dataType="xsd:double" dictRef="cc:latticeC" size="3" units="nonsi:angstrom">0.0000000 0.0000000 5.5064821</array>
 8               </list>
 9               <list id="abc">
10                  <scalar dataType="xsd:double" dictRef="cc:cell.a" units="nonsi:angstrom">5.506482</scalar>
11                  <scalar dataType="xsd:double" dictRef="cc:cell.b" units="nonsi:angstrom">5.506482</scalar>
12                  <scalar dataType="xsd:double" dictRef="cc:cell.c" units="nonsi:angstrom">5.506482</scalar>
13               </list>
14               <list id="alphabeta">
15                  <scalar dataType="xsd:double" dictRef="cc:cell.alpha">90.000000</scalar>
16                  <scalar dataType="xsd:double" dictRef="cc:cell.beta">90.000000</scalar>
17                  <scalar dataType="xsd:double" dictRef="cc:cell.gamma">90.000000</scalar>
18               </list>
19            </module>
20        </module>
21    </comment>

Template definition

1<templateList>  <template id="lattice" pattern="\s*Unit\sCell.*" endPattern="\s*$\s*\-{10,}.*" endPattern2="~">    <record repeat="3" />    <record>{3F,cc:latticeA}.*</record>    <record>{3F,cc:latticeB}.*</record>    <record>{3F,cc:latticeC}.*</record>    <record repeat="1" />    <record>\s*a\s*={F,cc:cell.a}alpha\s*={F,cc:cell.alpha}</record>    <record>\s*b\s*={F,cc:cell.b}beta\s*={F,cc:cell.beta}</record>    <record>\s*c\s*={F,cc:cell.c}gamma\s*={F,cc:cell.gamma}</record>    <transform process="addChild" xpath="." elementName="cml:list" id="axis" />    <transform process="addChild" xpath="." elementName="cml:list" id="abc" />    <transform process="addChild" xpath="." elementName="cml:list" id="alphabeta" />    <transform process="addAttribute" xpath=".//cml:list[@id='axis']" name="dictRef" value="ca:axis" />    <transform process="move" xpath=".//cml:array[@dictRef='cc:latticeA']" to=".//cml:list[@id='axis']" />    <transform process="move" xpath=".//cml:array[@dictRef='cc:latticeB']" to=".//cml:list[@id='axis']" />    <transform process="move" xpath=".//cml:array[@dictRef='cc:latticeC']" to=".//cml:list[@id='axis']" />    <transform process="move" xpath=".//cml:scalar[@dictRef='cc:cell.a']" to=".//cml:list[@id='abc']" />    <transform process="move" xpath=".//cml:scalar[@dictRef='cc:cell.b']" to=".//cml:list[@id='abc']" />    <transform process="move" xpath=".//cml:scalar[@dictRef='cc:cell.c']" to=".//cml:list[@id='abc']" />    <transform process="move" xpath=".//cml:scalar[@dictRef='cc:cell.alpha']" to=".//cml:list[@id='alphabeta']" />    <transform process="move" xpath=".//cml:scalar[@dictRef='cc:cell.beta']" to=".//cml:list[@id='alphabeta']" />    <transform process="move" xpath=".//cml:scalar[@dictRef='cc:cell.gamma']" to=".//cml:list[@id='alphabeta']" />    <transform process="delete" xpath=".//cml:list[count(*) = 0]" />    <transform process="delete" xpath=".//cml:list[count(*) = 0]" />    <transform process="addUnits" xpath=".//cml:list[@id='abc']/cml:scalar" value="nonsi:angstrom" />    <transform process="addUnits" xpath=".//cml:array" value="nonsi:angstrom" />
2        </template>
3
4    </templateList>