Skip to content

symmetry ​

Implementation level ​

TypeStatus
CML extraction template
HTML5 representation

Template attributes ​

AttributeValue
sourceMOLCAS log
idsymmetry
nameSymmetry information
pattern\s*\+\+\s*Symmetry\sinformation.*
pattern2\s*\-\-\-\s*Group\sGenerators\s*\-\-\-\s*
endPattern\s*\-\-\s*
endPattern2\s{10,}\S+.*$\s{0,5}\S+.*
endPattern3~
endOffset1
repeat*
xml:basemodules/symmetry.xml

Input ​

++    Symmetry information:
---------------------

              --- Group Generators ---
              Reflection in the yz-plane  
              Reflection in the xz-plane  
              Reflection in the xy-plane  

              Character Table for D2h

                       E   s(yz) s(xz) C2(z) s(xy) C2(y) C2(x)   i  
              ag       1     1     1     1     1     1     1     1  
              b3u      1    -1     1    -1     1    -1     1    -1  x
              b2u      1     1    -1    -1     1     1    -1    -1  y
              b1g      1    -1    -1     1     1    -1    -1     1  xy, Rz
              b1u      1     1     1     1    -1    -1    -1    -1  z
              b2g      1    -1     1    -1    -1     1    -1     1  xz, Ry
              b3g      1     1    -1    -1    -1    -1     1     1  yz, Rx
              au       1    -1    -1     1    -1     1     1    -1  I
--

Output text ​

xml
<comment class="example.output" id="symmetry">
         <module cmlx:templateRef="symmetry">
            <scalar dataType="xsd:string" dictRef="m:symmdesc">Reflection in the yz-plane</scalar>
            <scalar dataType="xsd:string" dictRef="m:symmdesc">Reflection in the xz-plane</scalar>
            <scalar dataType="xsd:string" dictRef="m:symmdesc">Reflection in the xy-plane</scalar>
            <module cmlx:templateRef="charactertable">            
               <list dictRef="m:symelemexample">
                  <scalar dataType="xsd:string" dictRef="m:symelemexample" />
                  <scalar dataType="xsd:string" dictRef="m:symelemexample">x</scalar>
                  <scalar dataType="xsd:string" dictRef="m:symelemexample">y</scalar>
                  <scalar dataType="xsd:string" dictRef="m:symelemexample">xy, Rz</scalar>
                  <scalar dataType="xsd:string" dictRef="m:symelemexample">z</scalar>
                  <scalar dataType="xsd:string" dictRef="m:symelemexample">xz, Ry</scalar>
                  <scalar dataType="xsd:string" dictRef="m:symelemexample">yz, Rx</scalar>
                  <scalar dataType="xsd:string" dictRef="m:symelemexample">I</scalar>
               </list>           
               <scalar dataType="xsd:string" dictRef="m:symmelemdesc">D2h</scalar>
               <array dataType="xsd:string" dictRef="m:symmelementrow" size="8">E s(yz) s(xz) C2(z) s(xy) C2(y) C2(x) i</array>
               <array dataType="xsd:string" dictRef="m:irreductiblerepcol" size="8">ag b3u b2u b1g b1u b2g b3g au</array>
               
               <matrix cols="8" dataType="xsd:integer" dictRef="m:characters" rows="8">1 1 1 1 1 1 1 1 1 -1 1 -1 1 -1 1 -1 1 1 -1 -1 1 1 -1 -1 1 -1 -1 1 1 -1 -1 1 1 1 1 1 -1 -1 -1 -1 1 -1 1 -1 -1 1 -1 1 1 1 -1 -1 -1 -1 1 1 1 -1 -1 1 -1 1 1 -1</matrix>
            </module>
         </module>
    </comment>

Template definition ​

xml
<templateList>  <template pattern="\s*\-\-\-\s*Group\sGenerators\s*\-\-\-\s*" endPattern="\s*">    <record />    <record repeat="*">&#123;X,m:symmdesc&#125;</record>    <transform process="pullup" xpath=".//cml:scalar" repeat="2" />              
        </template>  <template id="charactertable" pattern="\s*Character\sTable\sfor.*" endPattern=".*\S\s*$\s*" endPattern2="\s&#123;10,&#125;\S+.*$\s&#123;0,5&#125;\S+.*" endPattern3="~" endOffset="1">    <record>\s*Character\sTable\sfor&#123;X,m:symmelemdesc&#125;</record>    <record />    <record>&#123;1_20A,m:symmelementrow&#125;</record>    <record repeat="*">&#123;A,m:irreductiblerepcol&#125;&#123;1_20I,m:characters&#125;&#123;X,m:symelemexample&#125;</record>         
        </template>
    </templateList>
<transform process="createArray" xpath=".//cml:module[@cmlx:templateRef='charactertable']" from=".//cml:scalar[@dictRef='m:irreductiblerepcol']" />
<transform process="createMatrix" xpath=".//cml:module[@cmlx:templateRef='charactertable']" from=".//cml:array[@dictRef='m:characters']" dictRef="m:characters" />
<transform process="addChild" xpath=".//cml:module[@cmlx:templateRef='charactertable']" elementName="cml:list" dictRef="m:symelemexample" />
<transform process="move" xpath=".//cml:scalar[@dictRef='m:symelemexample']" to=".//cml:module[@cmlx:templateRef='charactertable']/cml:list[@dictRef='m:symelemexample']" />
<transform process="move" xpath=".//cml:scalar[@dictRef='m:symmelemdesc']" to=".//cml:module[@cmlx:templateRef='charactertable']" />
<transform process="move" xpath=".//cml:array" to=".//cml:module[@cmlx:templateRef='charactertable']" />
<transform process="move" xpath=".//cml:matrix" to=".//cml:module[@cmlx:templateRef='charactertable']" />
<transform process="delete" xpath=".//cml:list[count(*)=0]" />
<transform process="delete" xpath=".//cml:list[count(*)=0]" />
<transform process="delete" xpath=".//cml:module[count(*)=0]" />