Skip to content

mulliken ​

Implementation level ​

TypeStatus
CML extraction template
HTML5 representation

Template attributes ​

AttributeValue
sourceGaussian log
idmulliken
namemulliken
repeat*
newline$
pattern\s*Mulliken\s*([Aa]tomic)?\s*charges:\s*
endPattern\s*Charge=.*
endOffset1
xml:basel601/l601.mulliken.xml

Input ​

 Mulliken atomic charges:
              1
     1  C   -0.619218
     2  H    0.154804
     3  H    0.154804
     4  H    0.154804
     5  H    0.154804
 Sum of Mulliken charges=   0.00000
 Atomic charges with hydrogens summed into heavy atoms:
              1
     1  C    0.000000
     2  H    0.000000
     3  H    0.000000
     4  H    0.000000
     5  H    0.000000
 Sum of Mulliken charges=   0.00000
 Electronic spatial extent (au):  <R**2>=    36.2154
 Charge=     0.0000 electrons

Output text ​

xml
<comment class="example.output" id="l601.mulliken">
    <module cmlx:templateRef="mulliken">
      <module cmlx:lineCount="8" cmlx:templateRef="l601.mullik">
        <scalar dataType="xsd:string" dictRef="g:title">Mulliken atomic charges:</scalar>
        <scalar dataType="xsd:integer" dictRef="cc:serial">1</scalar>
        <list cmlx:lineCount="5" cmlx:templateRef="row">
          <array dataType="xsd:integer" dictRef="cc:serial" size="5">1 2 3 4 5</array>
          <array dataType="xsd:string" dictRef="cc:elementType" size="5">C H H H H</array>
          <array dataType="xsd:double" dictRef="x:charge" size="5">-0.619218 0.154804 0.154804 0.154804 0.154804</array>
        </list>
        <scalar dataType="xsd:string" dictRef="x:type">Mulliken</scalar>
        <scalar dataType="xsd:double" dictRef="x:chargesum">0.0</scalar>
      </module>
      <module cmlx:lineCount="8" cmlx:templateRef="l601.mullik">
        <scalar dataType="xsd:string" dictRef="g:title">Atomic charges with hydrogens summed into heavy atoms:</scalar>
        <scalar dataType="xsd:integer" dictRef="cc:serial">1</scalar>
        <list cmlx:lineCount="5" cmlx:templateRef="row">
          <array dataType="xsd:integer" dictRef="cc:serial" size="5">1 2 3 4 5</array>
          <array dataType="xsd:string" dictRef="cc:elementType" size="5">C H H H H</array>
          <array dataType="xsd:double" dictRef="x:charge" size="5">0.0 0.0 0.0 0.0 0.0</array>
        </list>
        <scalar dataType="xsd:string" dictRef="x:type">Mulliken</scalar>
        <scalar dataType="xsd:double" dictRef="x:chargesum">0.0</scalar>
      </module>
      <scalar dataType="xsd:double" dictRef="g:electextent2">36.2154</scalar>
      <scalar dataType="xsd:double" dictRef="g:charge">0.0</scalar>
    </module>
  </comment>

Template definition ​

xml
<templateList>  <template id="l601.mullik" repeat="*" pattern=".*[Aa]tomic\scharges.*|\s*Mulliken\scharges.*|\s+Atomic\scharges\swith\shydrogens\ssummed.*|\s+APT\satomic\scharges.*|\s+Mulliken\scharges\swith\shydrogens.*" endPattern="\s*Sum of.*" endOffset="1">    <record id="title">&#123;X,g:title&#125;</record>    <record id="serial">&#123;I,cc:serial&#125;</record>    <record id="row" makeArray="true" repeat="*">&#123;I,cc:serial&#125;&#123;A,cc:elementType&#125;&#123;F,x:charge&#125;</record>    <record id="sum">\s+Sum\sof.*=&#123;F,x:chargesum&#125;</record>
    </template>  <template id="l601.spatial" pattern="\s*Electronic spatial extent.*" repeat="*" endPattern=".*" endOffset="0">    <record id="l601.elect">\s*Electronic spatial extent.*=&#123;F,g:electextent2&#125;\s*</record>
    </template>  <template id="l601.charge" pattern="\s*Charge\s*=.*" repeat="*" endPattern=".*" endOffset="0">    <record id="l601.charge">\s*Charge=\s*&#123;F,g:charge&#125;\s*electrons\s*</record>
    </template>  <template pattern="\s*" endPattern=".*">    <record repeat="1" />
    </template>  <xi:include href="l601.mullikenspin.xml" />
  </templateList>
<transform process="pullup" xpath=".//cml:scalar" />
<transform process="pullup" xpath=".//cml:list/cml:scalar" />
<transform process="pullup" xpath=".//cml:module[@cmlx:templateRef='l601.spatial']/cml:scalar" />
<transform process="pullup" xpath=".//cml:module[@cmlx:templateRef='l601.charge']/cml:scalar" />
<transform process="delete" xpath=".//cml:module[@cmlx:templateRef='l601.spatial']" />
<transform process="delete" xpath=".//cml:module[@cmlx:templateRef='l601.charge']" />
<transform process="delete" xpath=".//cml:list[count(*)=0]" />
<transform process="delete" xpath=".//cml:list[count(*)=0]" />