species

Implementation level

Type

Status

CML extraction template

image1

HTML5 representation

image2

Template attributes

Attribute

Value

source

QuantumEspresso log

id

species

name

Atomic species

pattern

^\s*atomic\s+species.*

endPattern

\s*

endOffset

1

xml:base

initialization/atomic-species.xml

Input

atomic species   valence    mass     pseudopotential
   Fe1           16.00    55.84500     Fe( 1.00)
   Fe2           16.00    55.84500     Fe( 1.00)
   O              6.00    15.99990     O ( 1.00)
   H              1.00     1.00790     H ( 1.00)

Output text

 1<comment class="example.output" id="species">
 2    <module cmlx:templateRef="species">
 3        <list cmlx:templateRef="species">
 4            <array dataType="xsd:string" dictRef="qex:specie" size="4">Fe1 Fe2 O H</array>
 5            <array dataType="xsd:double" dictRef="x:valelectrons" size="4">16.00 16.00 6.00 1.00</array>
 6            <array dataType="xsd:double" dictRef="cc:mass" size="4">55.84500 55.84500 15.99990 1.00790</array>
 7            <array dataType="xsd:string" dictRef="cc:elementType" size="4">Fe Fe O H</array>
 8            <array dataType="xsd:double" dictRef="qex:pseudopot" size="4">1.00 1.00 1.00 1.00</array>
 9        </list>
10        <map id="speciesToAtomTypeMap">
11            <link from="Fe1" to="Fe" />
12            <link from="Fe2" to="Fe" />
13            <link from="O" to="O" />
14            <link from="H" to="H" />
15        </map>
16    </module>
17   </comment>

Template definition

 1<record repeat="1" />
 2<record id="species" repeat="*">{A,qex:specie}{F,x:valelectrons}{F,cc:mass}{A,cc:elementType}\({F,qex:pseudopot}\).*</record>
 3<transform process="addMap" xpath="." id="speciesToAtomTypeMap" from=".//cml:scalar[@dictRef='qex:specie']" to=".//cml:scalar[@dictRef='cc:elementType']" />
 4<transform process="createArray" xpath="." from=".//cml:scalar[@dictRef='qex:specie']" />
 5<transform process="createArray" xpath="." from=".//cml:scalar[@dictRef='x:valelectrons']" />
 6<transform process="createArray" xpath="." from=".//cml:scalar[@dictRef='cc:mass']" />
 7<transform process="createArray" xpath="." from=".//cml:scalar[@dictRef='cc:elementType']" />
 8<transform process="createArray" xpath="." from=".//cml:scalar[@dictRef='qex:pseudopot']" />
 9<transform process="pullup" xpath=".//cml:array" />
10<transform process="delete" xpath=".//cml:list[count(*)=0]" />
11<transform process="delete" xpath=".//cml:list[count(*)=0]" />