ORCA ​
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 | Doe, John |
| Formula | Atom count from final geometry | H 2 Fe 1 O 1 |
| Calculation type | Custom 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 ​
| 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 |

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