kpoints

Implementation level
Type Status
CML extraction template image1
HTML5 representation image2
Template attributes
Attribute Value
source QuantumEspresso log
id kpoints
name kpoints
pattern ^\s+number of k points=.*
endPattern \s*$\s{1,4}\S+.*
endPattern2 \s*$\s*Dense\s*grid.*
endPattern3 ~
endOffset 0
xml:base kpoints.xml
Input
number of k points=     4  gaussian smearing, width (Ry)=  0.0200
                  cart. coord. in units 2pi/alat
   k(    1) = (   0.0000000   0.0000000   0.0000000), wk =   0.2500000
   k(    2) = (   0.0000000  -0.5773503   0.0000000), wk =   0.2500000
   k(    3) = (   0.5000000  -0.2886751   0.0000000), wk =   0.2500000
   k(    4) = (  -0.5000000  -0.2886751   0.0000000), wk =   0.2500000

                  cryst. coord.
   k(    1) = (   0.0000000   0.0000000   0.0000000), wk =   0.2500000
   k(    2) = (   0.0000000  -0.5000000   0.0000000), wk =   0.2500000
   k(    3) = (   0.5000000  -0.5000000   0.0000000), wk =   0.2500000
   k(    4) = (  -0.5000000   0.0000000   0.0000000), wk =   0.2500000

Dense  grid:  1711295 G-vectors     FFT dimensions: ( 120, 120, 320)
Input
number of k points=     1
                  cart. coord. in units 2pi/alat
   k(    1) = (   0.0000000   0.0000000   0.0000000), wk =   2.0000000

Dense  grid:   345264 G-vectors     FFT dimensions: ( 125, 128,  90)
Output text
<comment class="example.output" id="kpoints">
        <module cmlx:templateRef="kpoints">
            <matrix cols="3" dataType="xsd:double" dictRef="qex:kpointlist.cartesian" rows="4">0.0000000 0.0000000 0.0000000 0.0000000 -0.5773503 0.0000000 0.5000000 -0.2886751 0.0000000 -0.5000000 -0.2886751 0.0000000</matrix>
            <matrix cols="3" dataType="xsd:double" dictRef="qex:kpointlist" rows="4">0.0000000 0.0000000 0.0000000 0.0000000 -0.5000000 0.0000000 0.5000000 -0.5000000 0.0000000 -0.5000000 0.0000000 0.0000000</matrix>
            <array dataType="xsd:double" dictRef="qex:kpointweight" size="4">0.2500000 0.2500000 0.2500000 0.2500000</array>
        </module>
    </comment>
Output text
<comment class="example.output" id="kpoints2">
        <module cmlx:templateRef="kpoints">
            <matrix cols="3" dataType="xsd:double" dictRef="qex:kpointlist.cartesian" rows="1">0.0000000 0.0000000 0.0000000</matrix>
         </module>
    </comment>
Template definition
<templateList>  <template pattern="\s*cart\.\scoord\.\sin\sunits\s2pi\/alat.*" endPattern="\s*" endPattern2="~">    <record />    <record id="kpoints.cartesian" repeat="*">\s*k\({I,cc:serial}\)\s=\s\({3F,x:coords}\),\s*wk\s*={F,qex:kpointweight}</record>
        </template>  <template pattern="\s*cryst\.\scoord.*" endPattern="\s*" endPattern2="~">    <record />    <record id="kpoints.crystal" repeat="*">\s*k\({I,cc:serial}\)\s=\s\({3F,x:coords}\),\s*wk\s*={F,qex:kpointweight}</record>
        </template>
    </templateList>
<transform process="createMatrix" xpath="." from=".//cml:list[@cmlx:templateRef='kpoints.cartesian']/cml:list/cml:array" dictRef="qex:kpointlist.cartesian" />
<transform process="createMatrix" xpath="." from=".//cml:list[@cmlx:templateRef='kpoints.crystal']/cml:list/cml:array" dictRef="qex:kpointlist" />
<transform process="createArray" xpath="." from=".//cml:list[@cmlx:templateRef='kpoints.cartesian']/cml:list/cml:scalar[@dictRef='qex:kpointweight']" />
<transform process="createArray" xpath="." from=".//cml:list[@cmlx:templateRef='kpoints.crystal']/cml:list/cml:scalar[@dictRef='qex:kpointweight']" />
<transform process="pullup" xpath=".//cml:matrix" repeat="3" />
<transform process="pullup" xpath=".//cml:array" repeat="3" />
<transform process="delete" xpath=".//cml:scalar[@dictRef='cc:serial']" />
<transform process="delete" xpath=".//cml:scalar[@dictRef='qex:kpointweight']" />
<transform process="delete" xpath=".//cml:list[count(*) = 0]" />
<transform process="delete" xpath=".//cml:list[count(*) = 0]" />
<transform process="delete" xpath=".//cml:module[count(*) = 0]" />
<transform process="delete" xpath=".//cml:array[@dictRef='qex:kpointweight'][position() > 1]" />