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>