Orca¶
General Info¶
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.
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 |

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: modulecmlx:templateRef=’electricproperties’

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


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