Skip to content

Molcas ​

Molcas ​

General Info ​

Molcas - General Info - Main fields ​

FieldSourceSample value
TitleSet on Browse calculation publicationSample calculation
Browse ItemURL pointing Browse published itemhttps://rodi.urv.es:8080/browse/handle/123456789/6
Programprogram.header templateMolcas 8.0 - service pack 1
AuthorUsername fullnameDoe, John
FormulaAtom count from final geometryC 8 H 12 N 8 O 2
Calculation typeCustom logic [^1]Geometry optimization
MethodCustom logic [^2]RASSCF RASPT2

Atomics and Basis Sets ​

After header section, our HTML resume will output a xyz coordinates table with current molecule atoms.

For every atom, we will output it's serial number, atom type, coordinates in angstroms, basis used and contraction.

In geometry optimizations calculations, next to geometry section header there will appear the word (optimized), pointing that this geometry is the last one from all optimization steps and has converged.

If the geometry optimization did not converge, there will appear the phrase (calculation did not converge).

Molecular Info ​

This section captures molecule additional information not captured on previous section.

Symmetry information ​

Data source: <module cmlx:templateRef='symmetry'>

Molecular Info ​

Molecular Info - Main fields ​

FieldSourceSample value
ChargeReaded from "charge" scalar on molcharge line or from mulliken module0.000
MultiplicityReaded from scalar[m:spinquantumnum] inside wave.specs module OR from scalar[m:spin] inside scf-ksdft module3

Solvation input ​

Data source: <module cmlx:templateRef='pcm'>

Data source: <module cmlx:templateRef='kirkwood'>

Integrals ​

Data source: <module cmlx:templateRef='seward.generate'>

Bond distances ​

Data source (to read molecule and calculate bonds): <module cmlx:templateRef='coordinates'>

Restrictions in the Geometry Optimization ​

Data source: <module cmlx:templateRef='constraint'>

Modules ​

Wave function specification ​

Data source: <module cmlx:templateRef='wave.specs'>

Orbital specifications ​

Data source: <module cmlx:templateRef='orbital.specs'>

CI expansion specifications ​

Data source: <module cmlx:templateRef='ci.expansion'>

Energies ​

Data source: <module cmlx:templateRef='wave.printout'>

Wave functions / Weights of the most important CSFs ​

Data source <module cmlx:templateRef='wave.printout'>

Natural Occupation numbers ​

Data source: <module cmlx:templateRef='wave.printout'>, module "natural"

Mulliken Spin Population ​

Data source: <module cmlx:templateRef='mulliken'>, submodule "mulliken.spin"

Electrostatic moments ​

Data source: <module cmlx:templateRef="properties">

Population analysis / Mulliken atomic charges ​

Data source: <module cmlx:templateRef="loprop">

Data source: <module cmlx:templateRef="mulliken">

Single-State CASPT2 ​

Data source: <module cmlx:templateRef="final.caspt2">

Final energy ​

Data source: <module cmlx:templateRef="scf-ksdft"> scalar dictRef='m:scfener'

Data source: <module cmlx:templateRef="cchc"> scalar dictRef='m:e2mp2energy'

Data source: <module cmlx:templateRef="cchc"> scalar dictRef='m:e2ccsdenergy'

Data source: <module cmlx:templateRef="ccsdt"> scalar dictRef='m:ccsdtcorrenergy'

HZERO ​

Data source: <module cmlx:templateRef="extras">

Harmonic frequencies ​

This module also allows displaying harmonic frequency intensities on a customizable chart.

Data source: <module cmlx:templateRef='vibrations'>

IR spectrum / Vibrational frequencies ​

Data source: <module cmlx:templateRef='vibrations'>

This module will display JSpecView + JSmol plugins (using javascript libraries) working together to represent molecule IR spectrum.

Multipole Expansion Analysis ​

Data source:<module cmlx:templateRef="atom.expansion">

LoProp Analysis ​

Data source: <module cmlx:templateRef='dynamic.loprop'>

[^1]: string molcas:getCalcType boolean isRestrictedOpt boolean isOptimization boolean isTS boolean isIncomplete

xml
                                
        $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>

[^2]: string molcas:getMethods node* modules node ksdft node wavespecs

xml
                                
        $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>