Skip to content

rfo ​

Implementation level ​

TypeStatus
CML extraction template
HTML5 representation

Template attributes ​

AttributeValue
sourceGaussian log
idrfo
pattern\s*RFO\s*step.*
endPattern\s*Iteration.*$\s*((?!Iteration).)*
endPattern2.*$\s*Item\s+Value.*
endPattern3~
repeat*
endOffset1
xml:basel103/l103.rfo.xml

Input ​

 RFO step:  Lambda=-1.94485150D-03.
 Linear search not attempted -- first point.
 Iteration  1 RMS(Cart)=  0.02447047 RMS(Int)=  0.00000000
 Iteration  2 RMS(Cart)=  0.00000000 RMS(Int)=  0.00000000

Input ​

 RFO step:  Lambda0=3.978273883D-10 Lambda=-1.11650779D-08.
 Linear search not attempted -- option 19 set.
 Iteration  1 RMS(Cart)=  0.00010279 RMS(Int)=  0.00000001
 Iteration  2 RMS(Cart)=  0.00000016 RMS(Int)=  0.00000000

Output text ​

xml
<comment class="example.output" id="l103.rfo">
    <module cmlx:templateRef="rfo">
       <list cmlx:templateRef="rfo">
          <scalar dataType="xsd:double" dictRef="g:lambda">-1.94485150e-03</scalar>
       </list>
       <list cmlx:templateRef="nolinear">
          <scalar dataType="xsd:string" dictRef="g:linear">Linear search</scalar>
       </list>
       <list cmlx:templateRef="iteration">
          <array dataType="xsd:integer" dictRef="cc:serial" size="2">1 2</array>
          <array dataType="xsd:double" dictRef="g:rmscart" size="2">0.02447047 0.00000000</array>
          <array dataType="xsd:double" dictRef="g:rmsint" size="2">0.00000000 0.00000000</array>
       </list>
    </module>
  </comment>

Output text ​

xml
<comment class="example.output" id="l103.rfo.2">
      <module cmlx:templateRef="rfo">
          <list cmlx:templateRef="rfo">
             <scalar dataType="xsd:double" dictRef="g:lambda0">3.978273883e-10</scalar>
             <scalar dataType="xsd:double" dictRef="g:lambda">-1.11650779e-08</scalar>
          </list>
          <list cmlx:templateRef="nolinear">
             <scalar dataType="xsd:string" dictRef="g:linear">Linear search</scalar>
          </list>
          <list cmlx:templateRef="iteration">
             <array dataType="xsd:integer" dictRef="cc:serial" size="2">1 2</array>
             <array dataType="xsd:double" dictRef="g:rmscart" size="2">0.00010279 0.00000016</array>
             <array dataType="xsd:double" dictRef="g:rmsint" size="2">0.00000001 0.00000000</array>
          </list>
    </module>
  </comment>

Template definition ​

xml
<templateList>  <template id="double" pattern="\s*RFO\s*step:\s+Lambda0=.*\s+Lambda=.*\.\s*" endPattern=".*" endOffset="0">    <record id="rfo">\s*RFO\s*step:\s+Lambda0=&#123;E,g:lambda0&#125;\s+Lambda=&#123;E,g:lambda&#125;\.\s*</record>    <transform process="pullup" xpath=".//cml:scalar" />        
        </template>  <template id="single" pattern="\s*RFO\s*step:\s+Lambda=.*.\s*" endPattern=".*" endOffset="0">    <record id="rfo">\s*RFO\s*step:\s+Lambda=&#123;E,g:lambda&#125;\.\s*</record>
        </template>
    </templateList>
<record id="nolinear">\s*&#123;X,g:linear&#125;\snot attempted.*</record>
<record repeat="*" id="iteration" makeArray="true">\s*Iteration&#123;I,cc:serial&#125;RMS\(Cart\)=&#123;F,g:rmscart&#125;RMS\(Int\)=&#123;F,g:rmsint&#125;\s*</record>
<transform process="pullup" xpath=".//cml:list[@cmlx:templateRef='rfo']" />
<transform process="delete" xpath=".//cml:list[count(*) =0]" />
<transform process="delete" xpath=".//cml:module[count(*) =0]" />