General Info

Table 13. Molcas - General Info - Main fields

FieldSourceSample value
Title Set on Browse calculation publication Sample calculation
Browse Item URL pointing Browse published item https://rodi.urv.es:8080/browse/handle/123456789/6
Program program.header template Molcas 8.0 - service pack 1
Author Username fullname Alvarez Moreno, Moises
Formula Atom count from final geometry C 8 H 12 N 8 O 2
Calculation typeCustom logic[9] Geometry optimization
MethodCustom logic[10] RASSCF RASPT2


Example 79. Molcas - General Info - HTML example/s


[9]

[10]



[9]

string molcas:getCalcType (isRestrictedOpt,  
 isOptimization,  
 isTS,  
 isIncomplete); 
boolean isRestrictedOpt ;
boolean isOptimization ;
boolean isTS ;
boolean isIncomplete ;
 

                            
    $isRestrictedOpt  Exists module <module cmlx:templateRef="constraint" > ?
    $isOptimization   Input file from <module cmlx:templateRef="molcas.input" > is setup to perform a geometry optimization? 
    $isTS           TS keyword is defined inside <module cmlx:templateRef="molcas.input" > ?
    $isIncomplete   Convergence table from <module cmlx:templateRef="energy.statistics" > shows 'all converged' OR $isOptimization and $hasLastEnergySection ?                             
               
    
    <!-- Calculation type related constants -->
    <xsl:param name="isRestrictedOpt"/>
    <xsl:param name="isOptimization"/>
    <xsl:param name="isTS"/>
    <xsl:param name="isIncomplete"/>

    <xsl:choose>
        <xsl:when test="$isRestrictedOpt">
            <xsl:value-of select="$molcas:RestrictedGeomOpt"/>
        </xsl:when>
        <xsl:when test="$isOptimization">
            <xsl:value-of select="$molcas:GeometryOpt"/>
        </xsl:when>
        <xsl:otherwise>
            <xsl:value-of select="$molcas:SinglePoint"/>    
        </xsl:otherwise>            
    </xsl:choose>
    <xsl:if test="$isTS">
        <xsl:text> </xsl:text><xsl:value-of select="$molcas:TS"/>
    </xsl:if>               
    <xsl:if test="$isIncomplete">
        <xsl:text> </xsl:text><xsl:value-of select="$molcas:Incomplete"/>
    </xsl:if>                           
                        
                        

[10]

string molcas:getMethods (modules,  
 ksdft,  
 wavespecs); 
node* modules ;
node ksdft ;
node wavespecs ;
 

                            
    $modules    Array with all executed module names 
    $ksdft      Module from <module cmlx:templateRef="scf-ksdft" > 
    $wavespecs  Entire <module cmlx:templateRef="wave.specs" > module                             
               
    
        <xsl:param name="modules"/>
        <xsl:param name="ksdft" />
        <xsl:param name="wavespecs" />

        <xsl:variable name="isCASSCF" select="
            if(exists($wavespecs) and contains($modules,$molcas:RASSCFmodule) and ($wavespecs/cml:scalar[@dictRef='m:ras1holes'] = '0') and ($wavespecs/cml:scalar[@dictRef='m:ras3holes'] = 0)) then
                true()                
            else
                false()"/>
        <xsl:variable name="isRASSCF" select="
            if(contains($modules,$molcas:RASSCFmodule)) then
                true()
            else
                false()"/>      
        
        <xsl:variable name="moduleArray">
            <xsl:for-each select="$modules">                
                <xsl:value-of select="concat(upper-case(string(.)),'|')"/>
            </xsl:for-each>
        </xsl:variable>
        
        <xsl:for-each select="distinct-values(tokenize($moduleArray/text(),'[|]+'))">
            <xsl:if test="matches(.,$molcas:methodsRegex)">
                <xsl:choose>
                    <xsl:when test="exists($ksdft) and matches(.,$molcas:SCFmodule)">
                        <xsl:choose>
                            <xsl:when test="matches($ksdft,$molcas:SCFmodule)">
                                <xsl:text>HF </xsl:text>
                            </xsl:when>
                            <xsl:otherwise>
                                <xsl:text>DFT </xsl:text>
                            </xsl:otherwise>
                        </xsl:choose>
                    </xsl:when>
                    <xsl:when test="matches(.,$molcas:RASSCFmodule)">                        
                        <xsl:choose>
                            <xsl:when test="$isCASSCF">
                                <xsl:value-of select="$molcas:CASSCFmodule"/><xsl:text> </xsl:text>
                            </xsl:when>
                            <xsl:otherwise>
                                <xsl:value-of select="."/><xsl:text> </xsl:text>
                            </xsl:otherwise>
                        </xsl:choose>
                    </xsl:when>
                    <xsl:when test="matches(.,$molcas:CASPT2module)">
                        <xsl:choose>
                            <xsl:when test="not($isCASSCF) and $isRASSCF">
                                <xsl:value-of select="$molcas:RASPT2module"/><xsl:text> </xsl:text>
                            </xsl:when>
                            <xsl:otherwise>
                                <xsl:value-of select="."/><xsl:text> </xsl:text>
                            </xsl:otherwise>
                        </xsl:choose>
                    </xsl:when>
                    <xsl:otherwise>
                        <xsl:value-of select="."/><xsl:text> </xsl:text>
                    </xsl:otherwise>
                </xsl:choose>
            </xsl:if>           
        </xsl:for-each>