Skip to content

l716.thermochemistry.moi ​

Implementation level ​

TypeStatus
CML extraction template
HTML5 representation

Template attributes ​

AttributeValue
sourceGaussian log
idl716.thermochemistry.moi
repeat*
pattern\s*Principal axes and moments of inertia in atomic units:.*
endPattern\s*Z\s*.*
endOffset1
xml:basel716/thermochemistry/l716.thermochemistry.moi.xml

Input ​

 Principal axes and moments of inertia in atomic units:
                           1         2         3
     EIGENVALUES --   621.711322597.891062620.41387
           X            0.99993   0.00000  -0.01211
           Y            0.00000   1.00000  -0.00020
           Z            0.01211   0.00020   0.99993

Output text ​

xml
<comment class="example.output" id="l716.thermochemistry.moi">
    <module cmlx:templateRef="l716.thermochemistry.moi">
      <array dataType="xsd:double" size="3" dictRef="cc:moi" cmlx:templateRef="eigen">621.71132 2597.89106 2620.41387</array>
      <matrix rows="3" columns="3" dataType="xsd:double" dictRef="cc:moi.eigenvectors">0.99993 0.0 -0.01211 0.0 1.0 -2.0E-4 0.01211 2.0E-4 0.99993</matrix>
    </module>
  </comment>

Template definition ​

xml
<record repeat="2" />
<templateList>  <template id="noeigen" pattern="\s*(EIGENVALUES|Eigenvalues)\s\-\-\s+\*+.*" endPattern=".*" endOffset="0">    <record />          
    </template>  <template id="eigen" pattern="\s*(EIGENVALUES|Eigenvalues)\s\-\-\s+[-\d]+.*" endPattern=".*" endOffset="0">    <record id="eigen">\s*(?:EIGENVALUES|Eigenvalues) \-\-\s&#123;2&#125;&#123;3F10.5,cc:moi.eigenvalues&#125;\s*</record>      
    </template>
  </templateList>
<record id="m" repeat="3">\s*[XYZ]&#123;3F,cc:moimatrix&#125;\s*</record>
<transform process="createMatrix33" xpath="./cml:list[@cmlx:templateRef='m']" from=".//cml:array[@dictRef='cc:moimatrix']" dictRef="cc:moi.eigenvectors" />
<transform process="pullup" xpath=".//cml:array[@dictRef='cc:moi.eigenvalues']" repeat="2" />
<transform process="pullup" xpath=".//cml:matrix" />
<transform process="delete" xpath=".//cml:list[count(*)=0]" />
<transform process="delete" xpath=".//cml:list[count(*)=0]" />
<transform process="delete" xpath=".//cml:module[count(*)=0]" />