Skip to content

qtaim ​

Implementation level ​

TypeStatus
CML extraction template
HTML5 representation

Template attributes ​

AttributeValue
sourceAMS ADF log
idqtaim
nameQTAIM module
pattern\s*L\s*O\s*C\s*A\s*L\s*Q\s*T\s*A\s*I\s*M\s*P\s*R\s*O\s*P\s*E\s*R\s*T\s*I\s*E\s*S.*
endPattern(\s+\S+){7}\s*$\s*-{20,}$\s*
endOffset2
repeat*
xml:baseresults/qtaim.xml

Input ​

      ===========================================
      L O C A L   Q T A I M   P R O P E R T I E S
      ===========================================
       
      Module written by Juan I. Rodriguez-Hernandez,
      ESFM-Instituto Politecnico Nacional-Mexico.
      Any questions/comments to: juan@esfm.ipn.mx and/or SCM technical support.
      This subroutine was vectorized, its efficientcy is reported in
      Juan I. Rodriguez et. al., J. Comput. Chem. 34, 681 (2013).
      Additional CP properties added by L. Joubert and V. Tognetti,
      University of Rouen, France.
       
       
       THIS IS THE GEOMETRY IN THE CP SEARCH (ANGSTROM):
       
      Atom              X            Y           Z
       1  6        -1.625772    2.821169    0.011007
       2  1        -0.780176    3.160038   -0.600405
       3  1        -2.558918    3.228874   -0.397255
       4  1        -1.669552    1.724981   -0.000837
       5  1        -1.494411    3.170738    1.042628
       
      TOTAL NUMBER OF CRITICAL POINTS:            9
      NUMBER OF (3,-1) CRITICAL POINTS:           4
      NUMBER OF (3,+1) CRITICAL POINTS:           0
      NUMBER OF (3,+3) CRITICAL POINTS:           0
      NUMBER OF (3,-3) CRITICAL POINTS:           5
         Poincare-Hopf satisfied
       
      --------------------------------------------------------
     CP #    1
     (RANK,SIGNATURE):     (3,-3)    
     
     CP COORDINATES:     -1.625772    2.821169    0.011007
     
     VALUES OF SOME FUNCTIONS AT CPs (a.u.):
     
                     Rho =    0.1240652E+03
      --------------------------------------------------------
     CP #    2
     (RANK,SIGNATURE):     (3,-3)    
     
     CP COORDINATES:     -0.780176    3.160038   -0.600405
     
     VALUES OF SOME FUNCTIONS AT CPs (a.u.):
     
                     Rho =    0.4970016E+00
      --------------------------------------------------------
     CP #    3
     (RANK,SIGNATURE):     (3,-3)    
     
     CP COORDINATES:     -2.558918    3.228874   -0.397255
     
     VALUES OF SOME FUNCTIONS AT CPs (a.u.):
     
                     Rho =    0.4969989E+00
      --------------------------------------------------------
     CP #    9
     (RANK,SIGNATURE):     (3,-1)    
     
     CP COORDINATES:     -2.214438    3.078366   -0.246541
     
     EIGENVALUES OF HESSIAN MATRIX:
     
          -0.6774897E+00  -0.6774878E+00   0.5166115E+00
     
     EIGENVECTORS (ORTHONORMAL) OF HESSIAN MATRIX (COLUMNS):
     
           0.5094958E+00  -0.1303148E+00   0.8505481E+00
           0.4069349E+00  -0.8344515E+00  -0.3716109E+00
          -0.7581676E+00  -0.5354519E+00   0.3721199E+00
     
     
     HESSIAN MATRIX:
     
           0.1863615E+00  -0.3774229E+00   0.3779402E+00
                          -0.5125894E+00  -0.1651240E+00
                                          -0.5121381E+00
     
     VALUES OF SOME FUNCTIONS AT CPs (a.u.):
     
                     Rho =    0.2636369E+00
             |GRAD(Rho)| =    0.3317931E-15
              GRAD(Rho)x =    0.2989145E-15
              GRAD(Rho)y =    0.8950089E-16
              GRAD(Rho)z =    0.1128112E-15
               Laplacian =   -0.8383660E+00
      (-1/4)Del**2(Rho)) =    0.2095915E+00
                 Diamond =    0.1184869E+01
             Metallicity =   -0.8909566E+01     Comput.Theor.Chem. 1053 (2015) 112
             Ellipticity =    0.2716282E-05
      
     INHOMOGENEITY PARAMETERS AT CPs (a.u.)
     
                 Delta_u =    0.6266899E+00     J.Phys.Chem.A, 113 (2009) 12322; PCCP, 16 (2014) 14539
                 Delta_s =    0.5991571E+00     >>
                 Delta_t =    0.7478656E+00     >>
                 Inhom_s =    0.1669011E+01     Chem.Phys.Lett. 579 (2013) 122
                Inhom_ex =    0.1228964E+01     >>
      
     ENERGY COMPONENTS AT CPs (a.u.)
     
             Gb(Abramov) =    0.1715006E+00     ActaCryst. 153 (1997) 264; Chem.Phys.Lett. 285 (1998) 170
             Vb(Abramov) =   -0.5525926E+00     >>
             Hb(Abramov) =   -0.3810921E+00     >>
                  Ex_ueg =   -0.1248514E+00     PCCP, 16 (2014) 14539
                  Ec_ueg =   -0.1608835E-01     >>
                Delta_ex =    0.8266378E-01     >>
                Delta_ec =    0.1977484E-01     >>
                Delta_et =   -0.4621819E+00     >>
                     Pxc =    0.7760357E+01     JCP, 132 (2010) 211101
                     Qxc =    0.4180250E+01     >>
     
     
      ----------------------------------------------------------------
      BOND PATHS (BP) AND PROPERTIES ALONG THEM ARE WRITTEN TO TAPE21
      ----------------------------------------------------------------
      #BP   #CP     Atom   Atom    Distance     BP Lenth    BP Steps
      -----------------------------------------------------------
        1     6       1      2     1.097129     1.097129      16
        2     9       1      3     1.097115     1.097115      15
        3     8       1      4     1.097126     1.097126      16
        4     7       1      5     1.097130     1.097131      15
      -----------------------------------------------------------

Output text ​

xml
<comment class="example.output" id="qtaim">
      <module cmlx:templateRef="qtaim">
         <module cmlx:templateRef="qtaim">
            <list cmlx:templateRef="atoms">
               <array dataType="xsd:integer" dictRef="a:id" size="5">1 2 3 4 5</array>
               <array dataType="xsd:integer" dictRef="cc:atomicNumber" size="5">6 1 1 1 1</array>
               <array dataType="xsd:double" dictRef="x:coords" size="15">-1.625772 2.821169 0.011007 -0.780176 3.160038 -0.600405 -2.558918 3.228874 -0.397255 -1.669552 1.724981 -0.000837 -1.494411 3.170738 1.042628</array>
            </list>
            <module cmlx:templateRef="point">
               <scalar dataType="xsd:integer" dictRef="a:id">1</scalar>
               <scalar dataType="xsd:integer" dictRef="a:rank">3</scalar>
               <scalar dataType="xsd:integer" dictRef="a:signature">-3</scalar>
               <list cmlx:templateRef="coords">
                  <scalar dataType="xsd:double" dictRef="cc:x3">-1.625772</scalar>
                  <scalar dataType="xsd:double" dictRef="cc:y3">2.821169</scalar>
                  <scalar dataType="xsd:double" dictRef="cc:z3">0.011007</scalar>
               </list>
               <module cmlx:templateRef="functions">
                  <list>
                     <scalar dataType="xsd:string" dictRef="cc:parameter">Rho</scalar>
                     <scalar dataType="xsd:double" dictRef="cc:value">0.1240652E+03</scalar>
                  </list>
               </module>
               <scalar dictRef="a:ranksignature">3,-3</scalar>
            </module>
            <module cmlx:templateRef="point">
               <scalar dataType="xsd:integer" dictRef="a:id">2</scalar>
               <scalar dataType="xsd:integer" dictRef="a:rank">3</scalar>
               <scalar dataType="xsd:integer" dictRef="a:signature">-3</scalar>
               <list cmlx:templateRef="coords">
                  <scalar dataType="xsd:double" dictRef="cc:x3">-0.780176</scalar>
                  <scalar dataType="xsd:double" dictRef="cc:y3">3.160038</scalar>
                  <scalar dataType="xsd:double" dictRef="cc:z3">-0.600405</scalar>
               </list>
               <module cmlx:templateRef="functions">
                  <list>
                     <scalar dataType="xsd:string" dictRef="cc:parameter">Rho</scalar>
                     <scalar dataType="xsd:double" dictRef="cc:value">0.4970016E+00</scalar>
                  </list>
               </module>
               <scalar dictRef="a:ranksignature">3,-3</scalar>
            </module>
            <module cmlx:templateRef="point">
               <scalar dataType="xsd:integer" dictRef="a:id">3</scalar>
               <scalar dataType="xsd:integer" dictRef="a:rank">3</scalar>
               <scalar dataType="xsd:integer" dictRef="a:signature">-3</scalar>
               <list cmlx:templateRef="coords">
                  <scalar dataType="xsd:double" dictRef="cc:x3">-2.558918</scalar>
                  <scalar dataType="xsd:double" dictRef="cc:y3">3.228874</scalar>
                  <scalar dataType="xsd:double" dictRef="cc:z3">-0.397255</scalar>
               </list>
               <module cmlx:templateRef="functions">
                  <list>
                     <scalar dataType="xsd:string" dictRef="cc:parameter">Rho</scalar>
                     <scalar dataType="xsd:double" dictRef="cc:value">0.4969989E+00</scalar>
                  </list>
               </module>
               <scalar dictRef="a:ranksignature">3,-3</scalar>
            </module>
            <module cmlx:templateRef="point">
               <scalar dataType="xsd:integer" dictRef="a:id">9</scalar>
               <scalar dataType="xsd:integer" dictRef="a:rank">3</scalar>
               <scalar dataType="xsd:integer" dictRef="a:signature">-1</scalar>
               <list cmlx:templateRef="coords">
                  <scalar dataType="xsd:double" dictRef="cc:x3">-2.214438</scalar>
                  <scalar dataType="xsd:double" dictRef="cc:y3">3.078366</scalar>
                  <scalar dataType="xsd:double" dictRef="cc:z3">-0.246541</scalar>
               </list>
               <module cmlx:templateRef="functions">
                  <list>
                     <scalar dataType="xsd:string" dictRef="cc:parameter">Rho</scalar>
                     <scalar dataType="xsd:double" dictRef="cc:value">0.2636369E+00</scalar>
                  </list>
                  <list>
                     <scalar dataType="xsd:string" dictRef="cc:parameter">|GRAD(Rho)|</scalar>
                     <scalar dataType="xsd:double" dictRef="cc:value">0.3317931E-15</scalar>
                  </list>
                  <list>
                     <scalar dataType="xsd:string" dictRef="cc:parameter">GRAD(Rho)x</scalar>
                     <scalar dataType="xsd:double" dictRef="cc:value">0.2989145E-15</scalar>
                  </list>
                  <list>
                     <scalar dataType="xsd:string" dictRef="cc:parameter">GRAD(Rho)y</scalar>
                     <scalar dataType="xsd:double" dictRef="cc:value">0.8950089E-16</scalar>
                  </list>
                  <list>
                     <scalar dataType="xsd:string" dictRef="cc:parameter">GRAD(Rho)z</scalar>
                     <scalar dataType="xsd:double" dictRef="cc:value">0.1128112E-15</scalar>
                  </list>
                  <list>
                     <scalar dataType="xsd:string" dictRef="cc:parameter">Laplacian</scalar>
                     <scalar dataType="xsd:double" dictRef="cc:value">-0.8383660E+00</scalar>
                  </list>
                  <list>
                     <scalar dataType="xsd:string" dictRef="cc:parameter">(-1/4)Del**2(Rho))</scalar>
                     <scalar dataType="xsd:double" dictRef="cc:value">0.2095915E+00</scalar>
                  </list>
                  <list>
                     <scalar dataType="xsd:string" dictRef="cc:parameter">Diamond</scalar>
                     <scalar dataType="xsd:double" dictRef="cc:value">0.1184869E+01</scalar>
                  </list>
                  <list>
                     <scalar dataType="xsd:string" dictRef="cc:parameter">Metallicity</scalar>
                     <scalar dataType="xsd:double" dictRef="cc:value">-0.8909566E+01</scalar>
                  </list>
                  <list>
                     <scalar dataType="xsd:string" dictRef="cc:parameter">Ellipticity</scalar>
                     <scalar dataType="xsd:double" dictRef="cc:value">0.2716282E-05</scalar>
                  </list>
               </module>
               <module cmlx:templateRef="energycomp">
                  <list>
                     <scalar dataType="xsd:string" dictRef="cc:parameter">Gb(Abramov)</scalar>
                     <scalar dataType="xsd:double" dictRef="cc:value">0.1715006E+00</scalar>
                  </list>
                  <list>
                     <scalar dataType="xsd:string" dictRef="cc:parameter">Vb(Abramov)</scalar>
                     <scalar dataType="xsd:double" dictRef="cc:value">-0.5525926E+00</scalar>
                  </list>
                  <list>
                     <scalar dataType="xsd:string" dictRef="cc:parameter">Hb(Abramov)</scalar>
                     <scalar dataType="xsd:double" dictRef="cc:value">-0.3810921E+00</scalar>
                  </list>
                  <list>
                     <scalar dataType="xsd:string" dictRef="cc:parameter">Ex_ueg</scalar>
                     <scalar dataType="xsd:double" dictRef="cc:value">-0.1248514E+00</scalar>
                  </list>
                  <list>
                     <scalar dataType="xsd:string" dictRef="cc:parameter">Ec_ueg</scalar>
                     <scalar dataType="xsd:double" dictRef="cc:value">-0.1608835E-01</scalar>
                  </list>
                  <list>
                     <scalar dataType="xsd:string" dictRef="cc:parameter">Delta_ex</scalar>
                     <scalar dataType="xsd:double" dictRef="cc:value">0.8266378E-01</scalar>
                  </list>
                  <list>
                     <scalar dataType="xsd:string" dictRef="cc:parameter">Delta_ec</scalar>
                     <scalar dataType="xsd:double" dictRef="cc:value">0.1977484E-01</scalar>
                  </list>
                  <list>
                     <scalar dataType="xsd:string" dictRef="cc:parameter">Delta_et</scalar>
                     <scalar dataType="xsd:double" dictRef="cc:value">-0.4621819E+00</scalar>
                  </list>
                  <list>
                     <scalar dataType="xsd:string" dictRef="cc:parameter">Pxc</scalar>
                     <scalar dataType="xsd:double" dictRef="cc:value">0.7760357E+01</scalar>
                  </list>
                  <list>
                     <scalar dataType="xsd:string" dictRef="cc:parameter">Qxc</scalar>
                     <scalar dataType="xsd:double" dictRef="cc:value">0.4180250E+01</scalar>
                  </list>
               </module>
               <scalar dictRef="a:ranksignature">3,-1</scalar>
            </module>
            <list cmlx:templateRef="bondPaths">
               <array dataType="xsd:integer" dictRef="a:bondPath" size="4">1 2 3 4</array>
               <array dataType="xsd:integer" dictRef="a:cp" size="4">6 9 8 7</array>
               <array dataType="xsd:integer" dictRef="x:atomInx1" size="4">1 1 1 1</array>
               <array dataType="xsd:integer" dictRef="x:atomInx2" size="4">2 3 4 5</array>
               <array dataType="xsd:double" dictRef="a:distance" size="4">1.097129 1.097115 1.097126 1.097130</array>
               <array dataType="xsd:double" dictRef="a:length" size="4">1.097129 1.097115 1.097126 1.097131</array>
               <array dataType="xsd:double" dictRef="a:steps" size="4">16 15 16 15</array>
            </list>
         </module>      
      </module>
    </comment>

Template definition ​

xml
<templateList>  <template id="atoms" pattern="\s*Atom\s+X\s+Y\s*Z.*" endPattern="\s*" endOffset="0">    <record />    <record id="atoms" repeat="*" makeArray="true">&#123;I,a:id&#125;&#123;I, cc:atomicNumber&#125;&#123;3E,x:coords&#125;</record>    <transform process="pullup" xpath="//cml:list[@cmlx:templateRef='atoms']" />
      </template>  <template id="point" pattern="\s*CP.*" endPattern="\s*-&#123;20,&#125;" repeat="*" endOffset="1">    <record>\s*CP\s*\#&#123;I,a:id&#125;</record>    <record>\s*.RANK\,SIGNATURE.:\s*\(&#123;I,a:rank&#125;,&#123;I,a:signature&#125;\)\s*</record>    <record />    <record id="coords">.*:&#123;E,cc:x3&#125;&#123;E,cc:y3&#125;&#123;E,cc:z3&#125;</record>    <templateList>      <template id="functions" pattern="\s*VALUES\s*OF\s*SOME\s*FUNCTIONS.*" endPattern="(\s+\S+)&#123;3&#125;\s*$\s*-&#123;20,&#125;.*" endPattern2="(\s+\S+)&#123;3&#125;\s*$\s*" endOffset="1">        <record repeat="2" />        <record repeat="*">&#123;X,cc:parameter&#125;=&#123;E,cc:value&#125;.*</record>        <transform process="pullup" xpath=".//cml:list[cml:scalar]" />        <transform process="delete" xpath=".//cml:list[count(*) =0]" />        <transform process="delete" xpath=".//cml:list[count(*) =0]" />
               </template>      <template id="energycomp" pattern="\s*ENERGY\s*COMPONENTS\s*AT\s*CPs.*" endPattern="(\s+\S+)&#123;3&#125;.*$\s*-&#123;20,&#125;.*" endPattern2="(\s+\S+)&#123;3&#125;.*$\s*" endOffset="1">        <record repeat="2" />        <record repeat="*">&#123;X,cc:parameter&#125;=&#123;E,cc:value&#125;.*</record>        <transform process="pullup" xpath=".//cml:list[cml:scalar]" />        <transform process="delete" xpath=".//cml:list[count(*) =0]" />        <transform process="delete" xpath=".//cml:list[count(*) =0]" />
               </template>
         </templateList>    <transform process="pullup" xpath=".//cml:list[@*:templateRef='coords']//cml:scalar" />    <transform process="pullup" xpath=".//cml:scalar[@dictRef='a:rank' or @dictRef='a:signature']" repeat="2" />    <transform process="pullup" xpath=".//cml:scalar[@dictRef='a:id']" />    <transform process="addChild" xpath="." elementName="cml:scalar" dictRef="a:ranksignature" />    <transform process="delete" xpath=".//cml:list[count(*) =0]" />    <transform process="delete" xpath=".//cml:list[count(*) =0]" />

        </template>  <template id="bondPaths" pattern="\s*BOND\s*PATHS.*AND\s*PROPERTIES.*" endPattern="\s*-&#123;20,&#125;-*$\s*" endPattern2="~" endOffset="0">    <record repeat="4" />    <record id="bondPaths" repeat="*" makeArray="true">&#123;I,a:bondPath&#125;&#123;I, a:cp&#125;&#123;I,x:atomInx1&#125;&#123;I,x:atomInx2&#125;&#123;F,a:distance&#125;&#123;F,a:length&#125;&#123;F,a:steps&#125;</record>    <transform process="pullup" xpath=".//cml:list[@cmlx:templateRef='bondPaths']" />
      </template>
   </templateList>
<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="setValue" xpath=".//cml:scalar[@dictRef='a:ranksignature']" value="$string(concat(..//cml:scalar[@dictRef='a:rank']/text(),',', ..//cml:scalar[@dictRef='a:signature']/text()))" />