Skip to content

optsetup ​

Implementation level ​

TypeStatus
CML extraction template
HTML5 representation

Template attributes ​

AttributeValue
sourceOrca log
idoptsetup
nameOptimization Coordinate Setup
pattern\s*-{20,}$\s*Redundant\sInternal\sCoordinates.*
endPattern\s*Number\sof\sdegrees\sof\sfreedom.*
endPattern2\s*\*{10,}.*
endPattern3~
endOffset1
keepfirst
xml:basejob/optsetup.xml

Input ​

    -----------------------------------------------------------------
                    Redundant Internal Coordinates


    -----------------------------------------------------------------
         Definition                    Initial Value    Approx d2E/dq
    -----------------------------------------------------------------
      1. B(H   1,O   0)                  1.0000         0.448900   
      2. B(H   2,O   0)                  1.0000         0.448900   
      3. A(H   1,O   0,H   2)           90.0000         0.306850 C 
    -----------------------------------------------------------------

Number of atoms                         .... 3
Number of degrees of freedom            .... 3  

Output text ​

xml
<comment class="example.output" id="optsetup">        
        <module cmlx:templateRef="optsetup" dictRef="cc:userDefinedModule">
           <list>
              <scalar dataType="xsd:string" dictRef="x:restriction">A</scalar>
              <array dataType="xsd:integer" dictRef="x:serial" size="3">1 0 2</array>
              <scalar dataType="xsd:double" dictRef="x:parameter">90.0000</scalar>
              <scalar dataType="xsd:double" dictRef="o:d2E_dq">0.306850</scalar>
           </list>
        </module>
    </comment>

Template definition ​

xml
<record repeat="7" />
<templateList>  <template id="cartesian" pattern=".*C.*\(.*\).*C\s*" endPattern=".*" endPattern2="~" repeat="*">    <record>.*\.&#123;A,x:restriction&#125;\(\w+\s+&#123;I,x:serial&#125;\)&#123;F,x:parameter&#125;&#123;F,o:d2E_dq&#125;.*C\s*</record>    <transform process="createArray" xpath="." from=".//cml:scalar[@dictRef='x:serial']" />          
        </template>  <template id="bond" pattern=".*B\(.*\).*C\s*" endPattern=".*" endPattern2="~" repeat="*">    <record>.*\.&#123;A,x:restriction&#125;\(\w+\s+&#123;I,x:serial&#125;,\w+\s+&#123;I,x:serial&#125;\)&#123;F,x:parameter&#125;&#123;F,o:d2E_dq&#125;.*C\s*</record>    <transform process="createArray" xpath="." from=".//cml:scalar[@dictRef='x:serial']" />         
        </template>  <template id="angle" pattern=".*A\(.*\).*C\s*" endPattern=".*" endPattern2="~" repeat="*">    <record>.*\.&#123;A,x:restriction&#125;\(\w+\s+&#123;I,x:serial&#125;,\w+\s+&#123;I,x:serial&#125;,\w+\s+&#123;I,x:serial&#125;\)&#123;F,x:parameter&#125;&#123;F,o:d2E_dq&#125;.*C\s*</record>    <transform process="createArray" xpath="." from=".//cml:scalar[@dictRef='x:serial']" />
        </template>  <template id="dihedral" pattern=".*D\(.*\).*C\s*" endPattern=".*" endPattern2="~" repeat="*">    <record>.*\.&#123;A,x:restriction&#125;\(\w+\s+&#123;I,x:serial&#125;,\w+\s+&#123;I,x:serial&#125;,\w+\s+&#123;I,x:serial&#125;,\w+\s+&#123;I,x:serial&#125;\)&#123;F,x:parameter&#125;&#123;F,o:d2E_dq&#125;.*C\s*</record>    <transform process="createArray" xpath="." from=".//cml:scalar[@dictRef='x:serial']" />
        </template>  <template id="plane" pattern=".*L\(.*\).*C\s*" endPattern=".*" endPattern2="~" repeat="*">    <record>.*\.&#123;A,x:restriction&#125;\(\w+\s+&#123;I,x:serial&#125;,\w+\s+&#123;I,x:serial&#125;,\w+\s+&#123;I,x:serial&#125;,\w+\s+&#123;I,x:serial&#125;,&#123;I,x:value&#125;\)&#123;F,x:parameter&#125;&#123;F,o:d2E_dq&#125;.*C\s*</record>    <transform process="createArray" xpath="." from=".//cml:scalar[@dictRef='x:serial']" />
        </template>       
    </templateList>
<transform process="pullup" xpath=".//cml:list[./cml:scalar]" repeat="2" />
<transform process="delete" xpath=".//cml:list[count(*) = 0]" />
<transform process="delete" xpath=".//cml:list[count(*) = 0]" />