Mopac

General Info

Mopac - 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/5672

Program

header template

Mopac 2016 - 16.041 64BITS

Author

Username fullname

Doe, John

Formula

Atom count from final geometry

C 4 H 6 O 4

Calculation type

Custom logic 1

Geometry optimization

Method

Custom logic 2

RASSCF RASPT2

../_images/MOPAC_header.png

Molecular Info

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

Molecular Info

Molecular Info - Main fields

Field

Source

Sample value

Charge

Readed from input file section of input.file module

0.000

Multiplicity

Readed from input file section input.file module with SINGLET, DOUBLE, TRIPLET … keywords.

3

../_images/MOPAC_molecularinfo.png

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.

Initially its read from geometry module

../_images/MOPAC_geometry.png

Modules

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

../_images/ORCA_module_irspectrum.png

Final results - energies

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

../_images/MOPAC_module_finalresults.png
1

string molcas:getCalcType boolean isRestrictedOpt boolean isOptimization boolean isTS boolean isIncomplete

 1    $isOptimization   Exists module <module cmlx:templateRef="optimization" > ?
 2    $hasVibrations    Exists module <module cmlx:templateRef="vibrations" > ?
 3
 4    $negativeFrequenciesCount  Negative frequencies count from <module cmlx:templateRef="vibrations" > module
 5    $isTS                      A TS calculation was setup on the <module cmlx:templateRef="inputlines" >
 6
 7      <xsl:param name="isOptimization" as="xs:boolean"/>
 8        <xsl:param name="hasVibrations" as="xs:boolean"/>
 9        <xsl:param name="negativeFrequenciesCount" as="xs:integer"/>
10        <xsl:param name="isTS" as="xs:boolean"/>
11
12        <xsl:variable name="type">
13            <xsl:choose>
14                <xsl:when test="$isOptimization">
15                    <xsl:value-of select="$mp:GeometryOptimization"/>
16                </xsl:when>
17                <xsl:otherwise>
18                    <xsl:value-of select="$mp:SinglePoint"/>
19                </xsl:otherwise>
20            </xsl:choose>
21        </xsl:variable>
22
23        <xsl:variable name="type2">
24            <xsl:if test="$hasVibrations">
25                <xsl:choose>
26                    <xsl:when test="$negativeFrequenciesCount = 1 and $isTS" >
27                        <xsl:value-of select="$mp:TransitionState"/>
28                    </xsl:when>
29                    <xsl:when test="$negativeFrequenciesCount = 0">
30                        <xsl:value-of select="$mp:Minimum"/>
31                    </xsl:when >
32                </xsl:choose>
33            </xsl:if>
34        </xsl:variable>
35        <xsl:value-of select="concat($type, ' ', $type2)"/>
2

string* mp:getMethods nodes inputLines

 1    $inputLines   Input lines from <module cmlx:templateRef="inputlines" >
 2
 3    <xsl:variable name="mp:methodsRegex" select="'^(HF|UHF|RHF|PM3|PM6|PM6-D3|PM6-DH\+|PM6-DH2|PM6-DH2X|PM6-D3H4|PM6-D3H4X|PMEP|PM7|PM7-TS|AM1|RM1|MNDO|MNDOD).*'"/>
 4
 5    <xsl:for-each select="$inputLines//cml:scalar[@dictRef='mp:inputline']">
 6        <xsl:variable name="line" select="./text()"/>
 7        <xsl:for-each select="tokenize($line,'\s+')">
 8            <xsl:variable name="command" select="."/>
 9                <xsl:if test="matches(upper-case($command), $mp:methodsRegex)">
10                    <xsl:value-of select="$command"/><xsl:text> </xsl:text>
11                </xsl:if>
12        </xsl:for-each>
13    </xsl:for-each>