Skip to content

ORCA ​

Orca ​

General Info ​

Orca - General Info - Main fields ​

FieldSourceSample value
TitleSet on Browse calculation publicationSample calculation
Browse ItemURL pointing Browse published itemhttps://iochem-bd.iciq.es/browse/handle/100/1722
Programheader templateOrca 3.0.1
AuthorUsername fullnameDoe, John
FormulaAtom count from final geometryH 2 Fe 1 O 1
Calculation typeCustom logic [^1]Geometry optimization Minimum
Method(s)Custom logic [^2]DFT ( PBE0 )

Modules ​

Atomic coordinates ​

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.

Molecular Info ​

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

​

Molecular Info - Main fields ​

FieldSourceSample value
MultiplicityReaded from Mul parameter on General settings section of scfsettings module1
ChargeReaded from Charge parameter on General settings section of scfsettings module0

Bond distances ​

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

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

Solvation input ​

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

Restrictions in the Geometry Optimization ​

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

Total SCF energy ​

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

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

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

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

IR spectrum / Vibrational frequencies ​

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

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

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

Population analysis ​

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

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

Electrostatic moments ​

Data source: Charge parameter on General settings section of scfsettings

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

Broken symmetry magnetic coupling analysis ​

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

Frontier orbitals ​

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

Natural orbitals ​

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

NMR Shielding tensors ​

Data source:

  • <module cmlx:templateRef="nmr">

TDHF / TDDFT ​

This section displays an interative chart to visualize root energies and an additional table with most relevant dominant contributions to each root

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

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

g-matrix and ZFS ​

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

Final results ​

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

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

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

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

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

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

[^1]: string orca:getCalcType boolean isOptimization boolean isBrokenSymm boolean hasVibrations integer negativeFrequenciesCount

xml
        $isOptimization        Refers to function orca:isOptimization($commands), which searches optimitzation keywords from <module cmlx:templateRef="input" > module  
        $isBrokenSymm          Refers to function orca:isBrokenSymm($commands)  which searches BrokenSymm keyword from <module cmlx:templateRef="input" > module
        $hasVibrations         Exists module <module cmlx:templateRef="vibrations" > ?
        $negativeFrequenciesCount   Count negative frequencies from <module cmlx:templateRef="vibrations" > ?                            
                   
        
        <!-- Calculation type related constants -->
        <xsl:variable name="orca:GeometryOptimization" select="'Geometry optimization'" />
        <xsl:variable name="orca:SinglePoint" select="'Single point'" />
        <xsl:variable name="orca:BrokenSymmetry" select="'Broken symmetry'" />    
        <xsl:variable name="orca:TransitionState" select="'TS'" />
        <xsl:variable name="orca:Minimum" select="'Minimum'"/>

        <!-- Calculation type variables -->
        <xsl:param name="isOptimization" as="xs:boolean"/>
        <xsl:param name="isBrokenSymm" as="xs:boolean"/>
        <xsl:param name="hasVibrations" as="xs:boolean"/>
        <xsl:param name="negativeFrequenciesCount" as="xs:integer"/>
        
        <xsl:variable name="type">
            <xsl:choose>
                <xsl:when test="$isOptimization">
                    <xsl:value-of select="$orca:GeometryOptimization"/>
                </xsl:when>
                <xsl:when test="$isBrokenSymm">
                    <xsl:value-of select="$orca:BrokenSymmetry"/>
                </xsl:when>
                <xsl:otherwise>
                    <xsl:value-of select="$orca:SinglePoint"/>
                </xsl:otherwise>
            </xsl:choose>     
        </xsl:variable>
        
        <xsl:variable name="type2">
            <xsl:if test="$hasVibrations">
                <xsl:choose>
                    <xsl:when test="$negativeFrequenciesCount > 0">
                        <xsl:value-of select="$orca:TransitionState"/>
                    </xsl:when>
                    <xsl:otherwise>
                        <xsl:value-of select="$orca:Minimum"/>
                    </xsl:otherwise>
                </xsl:choose>
            </xsl:if>        
        </xsl:variable>
        
        <xsl:value-of select="concat($type, ' ', $type2)"/>

[^2]: string orca:getMehods nodeset section boolean isTddft

xml
     
            $section    Input section elements from <module cmlx:templateRef="input"> module  
            $isTddft    Refers to function orca:isTddft($commands) which searches tddft keywords from <module cmlx:templateRef="input" > module                           
                                
            <xsl:for-each select="$section/cml:array[@dictRef='cc:keywords']">
                <xsl:variable name="line" select="./text()"/>
                <xsl:for-each select="tokenize($line,'\s+')">
                    <xsl:variable name="command" select="."/>
                    <xsl:choose>
                        <xsl:when test="matches(upper-case($command), $orca:methodsRegex)">
                            <xsl:if test="$isTddft and matches(upper-case($command), '(DFT|HF)')">TD</xsl:if><xsl:value-of select="$command"/><xsl:text> </xsl:text>    
                        </xsl:when>                   
                        <xsl:when test="matches(upper-case($command),$orca:calculationLevelRegex)">
                            <xsl:if test="$isTddft">TD</xsl:if><xsl:value-of select="$orca:calculationLevels/level[@id=upper-case($command)]/@method"/><xsl:text> </xsl:text>
                        </xsl:when>
                    </xsl:choose>                             
                </xsl:for-each>
            </xsl:for-each>
            
            <xsl:variable name="blocklines" select="$section//cml:module[@cmlx:templateRef='block']/cml:scalar"/>
            <xsl:for-each select="$blocklines">
                <xsl:variable name="line" select="./text()"/>                    
                <xsl:for-each select="tokenize($line,'\s+')">
                    <xsl:variable name="command" select="."/>                
                    <xsl:choose>
                        <xsl:when test="matches(upper-case($command), $orca:methodsRegex)">
                            <xsl:if test="$isTddft and matches(upper-case($command), '(DFT|HF)')">TD</xsl:if><xsl:value-of select="$command"/><xsl:text> </xsl:text>    
                        </xsl:when>
                        <xsl:when test="matches(upper-case($command),$orca:calculationLevelRegex)">
                            <xsl:if test="$isTddft">TD</xsl:if><xsl:value-of select="$orca:calculationLevels/level[@id=upper-case($command)]/@method"/><xsl:text> </xsl:text>
                        </xsl:when>
                    </xsl:choose>             
                </xsl:for-each>                
            </xsl:for-each>