Skip to content

optimization ​

Implementation level ​

TypeStatus
CML extraction template
HTML5 representation

Template attributes ​

AttributeValue
sourcexTB log
idoptimization
nameOptimization section
pattern\s+\|\s+A\sN\sC\sO\sP\sT\s+\|.*
endPattern\s*$\s{8,}-{20,}\s*$\s{8,}\|.*
endPattern2~
xml:baseoptimization.xml

Input

      ----------------------------------------------------------- 
     |                   =====================                   |
     |                        A N C O P T                        |
     |                   =====================                   |
     |               Approximate Normal Coordinate               |
     |                Rational Function Optimizer                |
      ----------------------------------------------------------- 
      ----------------------------------------------------------- 
     |                   =====================                   |
     |                        A N C O P T                        |
     |                   =====================                   |
     |               Approximate Normal Coordinate               |
     |                Rational Function Optimizer                |
      ----------------------------------------------------------- 

...

   *** GEOMETRY OPTIMIZATION CONVERGED AFTER 6 ITERATIONS ***

...
================
 final structure:
================
3
 xtb: 6.7.1 (edcfbbe)
O           -4.14357571817432       -0.61947633448616       -0.00378806021094
H           -3.18420463721556       -0.60691197125535        0.01047746521162
H           -4.44527964461011       -0.01758169425849        0.67960059499932
 
...

           -------------------------------------------------
          |                Final Singlepoint                |

Output text

xml
<comment class="example.output" id="optimization">
        <module cmlx:templateRef="optimization">
            <module cmlx:templateRef="converged">
                <scalar dictRef="xtb:converged" id="converged">converged</scalar>
            </module>
            <module cmlx:templateRef="final">
            <molecule id="final">
                <atomArray>
                    <atom elementType="O" id="a1" x3="-4.14357572" y3="-0.61947633" z3="-0.00378806">
                        <scalar dataType="xsd:integer" dictRef="cc:atomicNumber">8</scalar>
                    </atom>
                    <atom elementType="H" id="a2" x3="-3.18420464" y3="-0.60691197" z3="0.01047747">
                        <scalar dataType="xsd:integer" dictRef="cc:atomicNumber">1</scalar>
                    </atom>
                    <atom elementType="H" id="a3" x3="-4.44527964" y3="-0.01758169" z3="0.67960059">
                        <scalar dataType="xsd:integer" dictRef="cc:atomicNumber">1</scalar>
                    </atom>
                </atomArray>
                <bondArray>
                    <bond atomRefs2="a1 a2" order="S" />
                    <bond atomRefs2="a1 a3" order="S" />
                </bondArray>
                <formula concise="H2O">
                    <atomArray count="2 1" elementType="H O" />
                </formula>
                <property dictRef="cml:molmass">
                    <scalar units="unit:dalton">15.9994</scalar>
                </property>
            </molecule>
            </module>
        </module>
    </comment>

Template definition

xml
<templateList>  <template id="converged" pattern=".*GEOMETRY\sOPTIMIZATION\sCONVERGED.*" endPattern=".*">    <transform process="addChild" id="converged" dictRef="xtb:converged" xpath="." elementName="scalar" value="converged" />
        </template>  <template id="final" pattern="\s*final\sstructure:.*" endPattern="\s*">    <record repeat="4" />    <record id="atom" repeat="*" makeArray="true">&#123;A,cc:elementType&#125;&#123;F,cc:x3&#125;&#123;F,cc:y3&#125;&#123;F,cc:z3&#125;</record>    <transform process="createMolecule" id="final" xpath=".//cml:list[@cmlx:templateRef='atom']/cml:array" />    <transform process="pullup" xpath=".//cml:molecule" />    <transform process="delete" xpath=".//cml:list[count(*)=0]" />    <transform process="delete" xpath=".//cml:list[count(*)=0]" />
        </template>
    </templateList>