dipole ​
Implementation level ​
Type | Status |
---|---|
CML extraction template | |
HTML5 representation |
Template attributes ​
Attribute | Value |
---|---|
source | Orca log |
id | dipole |
name | Dipole moment |
pattern | \s*-+\s*$\s*DIPOLE\sMOMENT\s*$\s*-+\s* |
endPattern | \s*Magnitude.*$\s* |
endPattern2 | ~ |
endOffset | 1 |
repeat | * |
xml:base | electricproperties/dipole.xml |
Input ​
-------------
DIPOLE MOMENT
-------------
X Y Z
Electronic contribution: -2.73052 -4.20537 0.24659
Nuclear contribution : 3.48724 4.50131 -0.28886
-----------------------------------------
Total Dipole Moment : 0.75672 0.29593 -0.04226
-----------------------------------------
Magnitude (a.u.) : 0.81363
Magnitude (Debye) : 2.06808
Input ​
-------------
DIPOLE MOMENT
-------------
Method : SCF
Type of density : Electron Density
Multiplicity : 2
Irrep : 0
Energy : -1176.5639362750409873 Eh
Relativity type :
Basis : AO
X Y Z
Electronic contribution: 81.503198503 49.233134199 134.078106141
Nuclear contribution : -83.454642361 -48.667435362 -137.803583290
-----------------------------------------
Total Dipole Moment : -1.951443859 0.565698837 -3.725477149
-----------------------------------------
Magnitude (a.u.) : 4.243504247
Magnitude (Debye) : 10.786130609
Output text ​
xml
<comment class="example.output" id="dipole">
<module cmlx:templateRef="dipole">
<array dataType="xsd:double" dictRef="cc:dipole" size="9">3.48724 -2.73052 0.75672 4.50131 -4.20537 0.29593 -0.28886 0.24659 -0.04226</array>
<scalar dataType="xsd:double" dictRef="o:magnitude" units="nonsi2:au">0.81363</scalar>
<scalar dataType="xsd:double" dictRef="o:magnitude" units="nonsi2:debye">2.06808</scalar>
</module>
</comment>
Template definition ​
xml
<templateList> <template id="method" pattern="\s*Method.*" endPattern=".*"> <record>\s*Method\s*:{X,o:dipolemethod}</record> <transform process="move" xpath=".//cml:scalar" to="." /> <transform process="delete" xpath=".//cml:list" />
</template> <template id="dipole" pattern="\s*Electronic\scontribution.*" endPattern="~"> <record>\s*Electronic\scontribution\s*:{F,o:electronicX}{F,o:electronicY}{F,o:electronicZ}</record> <record>\s*Nuclear\scontribution\s*:{F,o:nuclearX}{F,o:nuclearY}{F,o:nuclearZ}</record> <record repeat="1" /> <record>\s*Total\sDipole\sMoment\s*:{F,o:totaldipoleX}{F,o:totaldipoleY}{F,o:totaldipoleZ}</record> <record repeat="1" /> <record>\s*Magnitude.*:{F,o:magnitude}</record> <record>\s*Magnitude.*:{F,o:magnitude}</record> <transform process="addUnits" xpath="(.//cml:scalar[@dictRef='o:magnitude'])[1]" value="nonsi2:au" /> <transform process="addUnits" xpath="(.//cml:scalar[@dictRef='o:magnitude'])[2]" value="nonsi2:debye" /> <transform process="moveRelative" xpath=".//cml:list[child::cml:scalar[@dictRef='o:nuclearX']]" to="../.." position="1" /> <transform process="createArray" xpath="." from=".//cml:scalar[ends-with(@dictRef,'X')]" /> <transform process="createArray" xpath="." from=".//cml:scalar[ends-with(@dictRef,'Y')]" /> <transform process="createArray" xpath="." from=".//cml:scalar[ends-with(@dictRef,'Z')]" /> <transform process="joinArrays" xpath="." from=".//cml:array" /> <transform process="addAttribute" xpath=".//cml:array" name="dictRef" value="cc:dipole" /> <transform process="move" xpath=".//cml:array" to="." /> <transform process="move" xpath=".//cml:scalar" to="." />
</template>
</templateList>
<transform process="move" xpath=".//preceding::cml:module[@cmlx:templateRef='electricproperties']/cml:module[@cmlx:templateRef='method']/cml:list[@cmlx:templateRef='label'][position()=last()]" to="." />
<transform process="moveRelative" xpath=".//cml:list[@cmlx:templateRef='label']/cml:scalar[@dictRef='o:dipolemethod']" to="./following::cml:module[@cmlx:templateRef='electricproperties'][position() = last()]" />
<transform process="pullup" xpath=".//cml:array" repeat="2" />
<transform process="pullup" xpath=".//cml:scalar" repeat="2" />
<transform process="delete" xpath=".//cml:list" />
<transform process="delete" xpath=".//cml:module[count(*)=0]" />