Skip to content

thermodynamic ​

Implementation level ​

TypeStatus
CML extraction template
HTML5 representation

Template attributes ​

AttributeValue
sourcexTB log
idthermodynamic
nameThermodynamic section
pattern\s*:{10,}\s*$\s+::\s*THERMODYNAMIC.*
endPattern\s*
repeat*
xml:basethermodynamic.xml

Input

         :::::::::::::::::::::::::::::::::::::::::::::::::::::
         ::                  THERMODYNAMIC                  ::
         :::::::::::::::::::::::::::::::::::::::::::::::::::::
         :: total free energy          -5.068414209106 Eh   ::
         ::.................................................::
         :: total energy               -5.070201851499 Eh   ::
         :: zero point energy           0.019426163935 Eh   ::
         :: G(RRHO) w/o ZPVE           -0.017638521542 Eh   ::
         :: G(RRHO) contrib.            0.001787642393 Eh   ::
         :::::::::::::::::::::::::::::::::::::::::::::::::::::

Output text

xml
<comment class="example.output" id="thermodynamic">
        <module cmlx:templateRef="thermodynamic">
            <scalar dataType="xsd:double" dictRef="xtb:totalfreeenergy" units="nonsi:hartree">-5.068414209106</scalar>
            <scalar dataType="xsd:double" dictRef="xtb:energy" units="nonsi:hartree">-5.070201851499</scalar>
            <scalar dataType="xsd:double" dictRef="xtb:zeropointenergy" units="nonsi:hartree">0.019426163935</scalar>
            <scalar dataType="xsd:double" dictRef="xtb:grrhowozpve" units="nonsi:hartree">-0.017638521542</scalar>
            <scalar dataType="xsd:double" dictRef="xtb:grrhocontrib" units="nonsi:hartree">0.001787642393</scalar>
        </module>
    </comment>

Template definition

xml
<template id="totalFreeEnergy" pattern="\s*::\s*total\sfree\senergy\s*.*" endPattern=".*">  <record>\s*::\s*total\sfree\senergy\s*&#123;F,xtb:totalfreeenergy&#125;.*</record>  <transform process="addUnits" xpath=".//cml:scalar" value="nonsi:hartree" />
    </template>
<template id="totalEnergy" pattern="\s*::\s*total\senergy\s*.*" endPattern=".*">  <record>\s*::\s*total\senergy\s*&#123;F,xtb:energy&#125;.*</record>  <transform process="addUnits" xpath=".//cml:scalar" value="nonsi:hartree" />
    </template>
<template id="zeroPointEnergy" pattern="\s*::\s*zero\spoint\senergy\s*.*" endPattern=".*">  <record>\s*::\s*zero\spoint\senergy\s*&#123;F,xtb:zeropointenergy&#125;.*</record>  <transform process="addUnits" xpath=".//cml:scalar" value="nonsi:hartree" />
    </template>
<template id="grrhoWithoutZpve" pattern="\s*::\s*G\(RRHO\)\sw/o\sZPVE\s*.*" endPattern=".*">  <record>\s*::\s*G\(RRHO\)\sw/o\sZPVE\s*&#123;F,xtb:grrhowozpve&#125;.*</record>  <transform process="addUnits" xpath=".//cml:scalar" value="nonsi:hartree" />
    </template>
<template id="grrhoContribution" pattern="\s*::\s*G\(RRHO\)\scontrib\.\s*.*" endPattern=".*">  <record>\s*::\s*G\(RRHO\)\scontrib\.\s*&#123;F,xtb:grrhocontrib&#125;.*</record>  <transform process="addUnits" xpath=".//cml:scalar" value="nonsi:hartree" />
    </template>
<transform process="pullup" xpath=".//cml:scalar" repeat="2" />
<transform process="delete" xpath=".//cml:list[count(*)=0]" />
<transform process="delete" xpath=".//cml:module[count(*)=0]" />