convergence.info

Implementation level

Type

Status

CML extraction template

image1

HTML5 representation

image2

Template attributes

Attribute

Value

source

Turbomole log

id

convergence.info

name

Convergence information section

pattern

\s*\*{10,}\s*$\s*CONVERGENCE\sINFORMATION.*

endPattern

\s*\*{10,}\s*

endOffset

1

repeat

*

xml:base

minimumts/convergence.info.xml

Input

******************************************************************
                    CONVERGENCE INFORMATION

                         Converged?     Value      Criterion
       Energy change         yes      0.0000004   0.0000010
       RMS of displacement   yes      0.0000800   0.0005000
       RMS of gradient       yes      0.0000092   0.0005000
       MAX displacement      yes      0.0003920   0.0010000
       MAX gradient          yes      0.0000313   0.0010000
******************************************************************

Input

******************************************************************
                    CONVERGENCE INFORMATION

                         Converged?     Value      Criterion
       Energy change         yes      0.0000020   0.0001000
       MAX geom. grad.       yes      0.0008366   0.0010000
******************************************************************

Output text

 1<comment class="example.output" id="convergence.info">
 2        <module cmlx:lineCount="10" cmlx:templateRef="convergence.info">
 3            <list cmlx:templateRef="energyChange">
 4              <scalar dataType="xsd:string" dictRef="cc:converged">yes</scalar>
 5              <scalar dataType="xsd:string" dictRef="cc:value">0.0000004</scalar>
 6              <scalar dataType="xsd:string" dictRef="cc:criterion">0.0000010</scalar>
 7            </list>
 8            <list cmlx:templateRef="rmsDisplacement">
 9              <scalar dataType="xsd:string" dictRef="cc:converged">yes</scalar>
10              <scalar dataType="xsd:string" dictRef="cc:value">0.0000800</scalar>
11              <scalar dataType="xsd:string" dictRef="cc:criterion">0.0005000</scalar>
12            </list>
13            <list cmlx:templateRef="rmsGradient">
14              <scalar dataType="xsd:string" dictRef="cc:converged">yes</scalar>
15              <scalar dataType="xsd:string" dictRef="cc:value">0.0000092</scalar>
16              <scalar dataType="xsd:string" dictRef="cc:criterion">0.0005000</scalar>
17            </list>
18            <list cmlx:templateRef="maxDisplacement">
19              <scalar dataType="xsd:string" dictRef="cc:converged">yes</scalar>
20              <scalar dataType="xsd:string" dictRef="cc:value">0.0003920</scalar>
21              <scalar dataType="xsd:string" dictRef="cc:criterion">0.0010000</scalar>
22            </list>
23            <list cmlx:templateRef="maxGradient">
24              <scalar dataType="xsd:string" dictRef="cc:converged">yes</scalar>
25              <scalar dataType="xsd:string" dictRef="cc:value">0.0000313</scalar>
26              <scalar dataType="xsd:string" dictRef="cc:criterion">0.0010000</scalar>
27            </list>
28        </module>
29    </comment>

Output text

 1<comment class="example.output2" id="convergence.info">
 2       <module cmlx:lineCount="7" cmlx:templateRef="convergence.info">
 3        <list cmlx:templateRef="energyChange">
 4         <scalar dataType="xsd:string" dictRef="cc:converged">yes</scalar>
 5         <scalar dataType="xsd:string" dictRef="cc:value">0.0000020</scalar>
 6         <scalar dataType="xsd:string" dictRef="cc:criterion">0.0001000</scalar>
 7        </list>
 8        <list cmlx:templateRef="maxGradient">
 9         <scalar dataType="xsd:string" dictRef="cc:converged">yes</scalar>
10         <scalar dataType="xsd:string" dictRef="cc:value">0.0008366</scalar>
11         <scalar dataType="xsd:string" dictRef="cc:criterion">0.0010000</scalar>
12        </list>
13       </module>
14    </comment>

Template definition

 1<record repeat="4" />
 2<templateList>  <template pattern="\s*Energy\schange.*" endPattern=".*">    <record id="energyChange">\s*Energy\schange\s*{A,cc:converged}{A,cc:value}{A,cc:criterion}</record>
 3        </template>  <template pattern="\s*RMS\sof\sdisplacement.*" endPattern=".*">    <record id="rmsDisplacement">\s*RMS\sof\sdisplacement\s*{A,cc:converged}{A,cc:value}{A,cc:criterion}</record>
 4        </template>  <template pattern="\s*RMS\sof\sgradient.*" endPattern=".*">    <record id="rmsGradient">\s*RMS\sof\sgradient\s*{A,cc:converged}{A,cc:value}{A,cc:criterion}</record>
 5        </template>  <template pattern="\s*MAX\sdisplacement.*" endPattern=".*">    <record id="maxDisplacement">\s*MAX\sdisplacement\s*{A,cc:converged}{A,cc:value}{A,cc:criterion}</record>
 6        </template>  <template pattern="\s*MAX.*(gradient|grad\.).*" endPattern=".*">    <record id="maxGradient">\s*MAX.*(?:gradient|grad\.)\s*{A,cc:converged}{A,cc:value}{A,cc:criterion}</record>
 7        </template>
 8    </templateList>
 9<transform process="pullup" xpath=".//cml:scalar" />
10<transform process="delete" xpath=".//cml:list[count(*)=0]" />
11<transform process="delete" xpath=".//cml:list[count(*)=0]" />
12<transform process="pullup" xpath=".//cml:list" />
13<transform process="delete" xpath=".//cml:module[count(*)=0]" />