Orca

General Info

Orca - General Info - Main fields
Field Source Sample value
Title Set on Browse calculation publication Sample calculation
Browse Item URL pointing Browse published item https://iochem-bd.iciq.es/browse/handle/100/1722
Program header template Orca 3.0.1
Author Username fullname Alvarez Moreno, Moises
Formula Atom count from final geometry H 2 Fe 1 O 1
Calculation type Custom logic Geometry optimization Minimum
Method(s) Custom logic DFT ( PBE0 )

image0

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.

image1

Molecular Info

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

Molecular Info - Main fields
Field Source Sample value
Multiplicity Readed from Mul parameter on General settings section of scfsettings module 1
Charge Readed from Charge parameter on General settings section of scfsettings module 0

image2

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’>

image3

Solvation input

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

image4

Restrictions in the Geometry Optimization

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

image5

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’>

image6

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’>

image7

image8

Population analysis

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

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

image9

image10

Electrostatic moments

Data source: Charge parameter on General settings section of scfsettings

Data source: modulecmlx:templateRef=’electricproperties’

image11

Broken symmetry magnetic coupling analysis

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

image12

Frontier orbitals

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

image13

image14

Natural orbitals

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

image15

NMR Shielding tensors

Data source:

  • <module cmlx:templateRef=”nmr”>

image16

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’>

image17

image18

g-matrix and ZFS

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

image19

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’>

image20

image21

image22

[1]

string orca:getCalcType boolean isOptimization boolean isBrokenSymm boolean hasVibrations integer negativeFrequenciesCount

$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

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