Skip to content

multipole ​

Implementation level ​

TypeStatus
CML extraction template
HTML5 representation

Template attributes ​

AttributeValue
sourceGaussian log
idmultipole
namemultipole
repeat*
pattern\s*Dipole moment.*
endPattern(\s*N\-N=.*)
endOffset1
xml:basel601/l601.multipole.xml

Input ​

 Dipole moment (field-independent basis, Debye):
    X=     0.0000    Y=     0.0000    Z=     0.0000  Tot=     0.0000
 Quadrupole moment (field-independent basis, Debye-Ang):
   XX=    -8.3036   YY=    -8.3036   ZZ=    -8.3036
   XY=     0.0000   XZ=     0.0000   YZ=     0.0000
 Traceless Quadrupole moment (field-independent basis, Debye-Ang):
   XX=     0.0000   YY=     0.0000   ZZ=     0.0000
   XY=     0.0000   XZ=     0.0000   YZ=     0.0000
 Octapole moment (field-independent basis, Debye-Ang**2):
  XXX=     0.0000  YYY=     0.0000  ZZZ=     0.0000  XYY=     0.0000
  XXY=     0.0000  XXZ=     0.0000  XZZ=     0.0000  YZZ=     0.0000
  YYZ=     0.0000  XYZ=    -0.7195
 Hexadecapole moment (field-independent basis, Debye-Ang**3):
 XXXX=   -16.2252 YYYY=   -16.2252 ZZZZ=   -16.2252 XXXY=     0.0000
 XXXZ=     0.0000 YYYX=     0.0000 YYYZ=     0.0000 ZZZX=     0.0000
 ZZZY=     0.0000 XXYY=    -4.9297 XXZZ=    -4.9297 YYZZ=    -4.9297
 XXYZ=     0.0000 YYXZ=     0.0000 ZZXY=     0.0000
  N-N= 1.339525332293D+01 E-N=-1.198300348205D+02  KE= 4.007106437468D+01

Output text ​

xml
<comment class="example.output" id="l601.multipole">
    <module cmlx:templateRef="multipole">
      <array dataType="xsd:double" size="3" dictRef="cc:dipole">0.0 0.0 0.0</array>
      <scalar dataType="xsd:double" dictRef="x:dipole">0.0</scalar>
      <array dataType="xsd:double" size="3" dictRef="cc:quadrupole">-8.3036 -8.3036 -8.3036</array>
      <array dataType="xsd:double" size="3" dictRef="cc:quadrupole">0.0 0.0 0.0</array>
      <array dataType="xsd:double" size="6" dictRef="cc:quadrupole">0.0 0.0 0.0 0.0 0.0 0.0</array>
      <array dataType="xsd:double" size="10" dictRef="cc:octapole">0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.7195</array>
      <array dataType="xsd:double" size="15" dictRef="cc:hexadecapole">-16.2252 -16.2252 -16.2252 0.0 0.0 0.0 0.0 0.0 0.0 -4.9297 -4.9297 -4.9297 0.0 0.0 0.0</array>
    </module>
 </comment>

Template definition ​

xml
<record id="dipoletype">\s*Dipole moment \(&#123;X,g:dipoletype&#125;\):\s*</record>
<record id="dipole">\s*X=&#123;F,x:d&#125;Y=&#123;F,x:d&#125;Z=&#123;F,x:d&#125;Tot=&#123;F,x:dipole&#125;\s*</record>
<record id="quadrupoletype">\s*Quadrupole moment \(&#123;X,g:quadpoletype&#125;\):\s*</record>
<record id="quadrupol">\s*XX=&#123;F,x:q&#125;YY=&#123;F,x:q&#125;ZZ=&#123;F,x:q&#125;\s*</record>
<record id="xy">\s*XY=&#123;F,x:qb&#125;XZ=&#123;F,x:qb&#125;YZ=&#123;F,x:qb&#125;\s*</record>
<record id="quadrupoletypea">\s*Traceless Quadrupole moment \(&#123;X,g:quadpoletype&#125;\):\s*</record>
<record id="xx">\s*XX=&#123;F,x:qq&#125;YY=&#123;F,x:qq&#125;ZZ=&#123;F,x:qq&#125;\s*</record>
<record id="xya">\s*XY=&#123;F,x:qq&#125;XZ=&#123;F,x:qq&#125;YZ=&#123;F,x:qq&#125;\s*</record>
<record id="octapoletype">\s*Octapole moment \(&#123;X,g:octapoletype&#125;\):\s*</record>
<record id="xxx">\s*XXX=&#123;F,x:o&#125;YYY=&#123;F,x:o&#125;ZZZ=&#123;F,x:o&#125;XYY=&#123;F,x:o&#125;\s*</record>
<record id="xxy">\s*XXY=&#123;F,x:o&#125;XXZ=&#123;F,x:o&#125;XZZ=&#123;F,x:o&#125;YZZ=&#123;F,x:o&#125;\s*</record>
<record id="yyz">\s*YYZ=&#123;F,x:o&#125;XYZ=&#123;F,x:o&#125;\s*</record>
<record id="hexadecapoletype">\s*Hexadecapole moment \(&#123;X,g:hexadecapoletype&#125;\):\s*</record>
<record id="xxxx">\s*XXXX=&#123;F,x:h&#125;YYYY=&#123;F,x:h&#125;ZZZZ=&#123;F,x:h&#125;XXXY=&#123;F,x:h&#125;\s*</record>
<record id="xxxz">\s*XXXZ=&#123;F,x:h&#125;YYYX=&#123;F,x:h&#125;YYYZ=&#123;F,x:h&#125;ZZZX=&#123;F,x:h&#125;\s*</record>
<record id="zzzy">\s*ZZZY=&#123;F,x:h&#125;XXYY=&#123;F,x:h&#125;XXZZ=&#123;F,x:h&#125;YYZZ=&#123;F,x:h&#125;\s*</record>
<record id="xxyz">\s*XXYZ=&#123;F,x:h&#125;YYXZ=&#123;F,x:h&#125;ZZXY=&#123;F,x:h&#125;\s*</record>
<record repeat="*" id="xzz" />
<transform process="createArray" xpath="." from=".//cml:scalar[@dictRef='x:d']" dictRef="cc:dipole" />
<transform process="createArray" xpath="." from=".//cml:scalar[@dictRef='x:q']" dictRef="cc:quadrupole" />
<transform process="createArray" xpath="." from=".//cml:scalar[@dictRef='x:qb']" dictRef="cc:quadrupole" />
<transform process="createArray" xpath="." from=".//cml:scalar[@dictRef='x:qq']" dictRef="cc:quadrupole" />
<transform process="createArray" xpath="." from=".//cml:scalar[@dictRef='x:o']" dictRef="cc:octapole" />
<transform process="createArray" xpath="." from=".//cml:scalar[@dictRef='x:h']" dictRef="cc:hexadecapole" />
<transform process="delete" xpath=".//cml:scalar[contains(@dictRef,'type')]" />
<transform process="pullup" xpath=".//cml:scalar | .//cml:array" repeat="2" />
<transform process="delete" xpath=".//cml:list[count(*)=0]" />
<transform process="delete" xpath=".//cml:list[count(*)=0]" />