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

Molcas - General Info - HTML example/s

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).

HTML example/s

Molecular Info ​

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

Symmetry information ​

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

Symmetry information - HTML example/s

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

HTML example/s

Solvation input ​

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

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

Solvation information - HTML example/s

Integrals ​

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

SEWARD module fields - HTML example/s

Bond distances ​

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

Bond distances - HTML example/s

Restrictions in the Geometry Optimization ​

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

Restrictions in the Geometry Optimization - HTML example/s

Modules ​

Wave function specification ​

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

Wave function specification - HTML example/s

Orbital specifications ​

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

Orbital specifications - HTML example/s

CI expansion specifications ​

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

CI expansion specifications - HTML example/s

Energies ​

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

Wave function printout (energies) - HTML example/s

Wave functions / Weights of the most important CSFs ​

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

Wave functions - HTML example/s

Natural Occupation numbers ​

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

Natural Occupation numbers. Active orbitals per symmetry - HTML example/s

Mulliken Spin Population ​

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

Mulliken Spin Population- HTML example/s

Electrostatic moments ​

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

Electrostatic moments - HTML example/s

Population analysis / Mulliken atomic charges ​

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

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

Population analysis - HTML example/s

Mulliken atomic charges - HTML example/s

Single-State CASPT2 ​

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

Single-State CASPT2 - HTML example/s

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'

Final KS-DFT energy - HTML example/s

Final SCF energy - HTML example/s

HZERO ​

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

HZERO - HTML example/s

Harmonic frequencies ​

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

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

Harmonic frequencies - HTML example/s

Harmonic frequencies chart - HTML example/s

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.

IR spectrum - HTML example/s

Multipole Expansion Analysis ​

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

Multipole Expansion Analysis - HTML example/s

LoProp Analysis ​

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

LoProp Analysis - HTML example/s

[^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>