MOPAC

Description

According to the page of MOPAC, MOPAC (Molecular Orbital PACkage) is a semi-empirical quantum chemistry program based on the NDDO approximation of Dewar and Thiel.

Available Versions

  • mopac/17.162 (default)

Serial Job Submission

submit_mopac_serial.sh
#!/bin/bash
#SBATCH -J mopac_serial
#SBATCH -N 1
#SBATCH -n 1
#SBATCH -t 24:00:00
#SBATCH --mem=8G

export INPUT="benzene.mop"
export OUTPUT="benzene.out"

module load mopac

job-nanny MOPAC2012.exe benzene.mop

OpenMP Job Submission

submit_mopac_omp.sh
#!/bin/bash
#SBATCH -J mopac_omp
#SBATCH -N 1
#SBATCH -c 8
#SBATCH -t 24:00:00
#SBATCH --mem=16G

export INPUT="large.mop"
export OUTPUT="large.out"

module load mopac

# MOPAC automatically uses threads
export OMP_NUM_THREADS=$SLURM_CPUS_PER_TASK

job-nanny MOPAC2012.exe large.mop

Example Input File (.mop)

benzene.mop
PM7 XYZ T=2H PRECISE
Benzene optimization

C     0.000000  1.396000  0.000000
C     1.209000  0.698000  0.000000
C     1.209000 -0.698000  0.000000
C     0.000000 -1.396000  0.000000
C    -1.209000 -0.698000  0.000000
C    -1.209000  0.698000  0.000000
H     0.000000  2.478000  0.000000
H     2.146000  1.239000  0.000000
H     2.146000 -1.239000  0.000000
H     0.000000 -2.478000  0.000000
H    -2.146000 -1.239000  0.000000
H    -2.146000  1.239000  0.000000

Main MOPAC Keywords

Common keywords

Keyword

Description

PM6, PM7

Semi-empirical method

AM1

Austin Model 1

MNDO

Modified Neglect of Diatomic Overlap

XYZ

Coordinates in XYZ format

OPT

Geometry optimization

FORCE

Vibrational frequency calculation

THERMO

Thermodynamic property calculation

T=2H

Time limit (2 hours)

PRECISE

Stricter convergence criteria

1SCF

Single SCF calculation (no optimization)

Thermodynamic Properties Calculation

submit_mopac_thermo.sh
#!/bin/bash
#SBATCH -J mopac_thermo
#SBATCH -N 1
#SBATCH -n 1
#SBATCH -t 12:00:00
#SBATCH --mem=8G

export INPUT="ethanol.mop"
export OUTPUT="ethanol.out"

module load mopac

job-nanny MOPAC2012.exe ethanol.mop
ethanol.mop
PM7 OPT FREQ THERMO XYZ T=1H
Ethanol thermochemistry

C     0.000000  0.000000  0.000000
C     1.528000  0.000000  0.000000
O     2.000000  1.320000  0.000000
H    -0.400000  1.010000  0.000000
H    -0.400000 -0.510000  0.890000
H    -0.400000 -0.510000 -0.890000
H     1.928000 -0.520000  0.880000
H     1.928000 -0.520000 -0.880000
H     2.970000  1.370000  0.000000

Job Array for Conformational Scan

submit_mopac_array.sh
#!/bin/bash
#SBATCH -J mopac_array
#SBATCH --array=1-10
#SBATCH -N 1
#SBATCH -n 1
#SBATCH -t 06:00:00
#SBATCH --mem=4G

ANGLES=$(seq 0 36 324)
ANGLE_ARRAY=($ANGLES)
ANGLE=${ANGLE_ARRAY[$SLURM_ARRAY_TASK_ID-1]}

export INPUT="template.mop"
export OUTPUT="angle_${ANGLE}/"

module load mopac

mkdir -p angle_${ANGLE}
cd angle_${ANGLE}

# Modify torsion angle
sed "s/DIHEDRAL_ANGLE/$ANGLE/g" ../template.mop > input.mop

job-nanny MOPAC2012.exe input.mop
template.mop
PM7 XYZ OPT T=1H
Dihedral scan at DIHEDRAL_ANGLE degrees

C   0.000000  0.000000  0.000000
C   1.540000  0.000000  0.000000
C   2.080000  1.430000  0.000000
H  -0.400000  1.030000  0.000000
H  -0.400000 -0.510000  0.890000
H  -0.400000 -0.510000 -0.890000
H   1.940000 -0.510000  0.890000
H   1.940000 -0.510000 -0.890000
H   2.080000  1.930000  0.890000
H   2.080000  1.930000 -0.890000
C   3.620000  1.430000  0.000000 DIHEDRAL_ANGLE

Molecular Orbital Calculation

submit_mopac_orbitals.sh
#!/bin/bash
#SBATCH -J mopac_orbitals
#SBATCH -N 1
#SBATCH -n 1
#SBATCH -t 04:00:00
#SBATCH --mem=4G

export INPUT="orbitals.mop"
export OUTPUT="orbitals.out"

module load mopac

job-nanny MOPAC2012.exe orbitals.mop
orbitals.mop
PM7 XYZ VECTORS ENPART
Molecular orbitals of benzene

C     0.000000  1.396000  0.000000
C     1.209000  0.698000  0.000000
C     1.209000 -0.698000  0.000000
C     0.000000 -1.396000  0.000000
C    -1.209000 -0.698000  0.000000
C    -1.209000  0.698000  0.000000
H     0.000000  2.478000  0.000000
H     2.146000  1.239000  0.000000
H     2.146000 -1.239000  0.000000
H     0.000000 -2.478000  0.000000
H    -2.146000 -1.239000  0.000000
H    -2.146000  1.239000  0.000000

Results Analysis

analyze_mopac.sh
#!/bin/bash
#SBATCH -J analyze_mopac
#SBATCH -N 1
#SBATCH -n 1
#SBATCH -t 00:30:00
#SBATCH --mem=2G

# Extract final energy
grep "FINAL HEAT OF FORMATION" *.out | awk '{print $6}' > energies.txt

# Extract optimized geometry
for out in *.out; do
    echo "Optimized geometry for $out:" >> optimized_geometries.txt
    awk '/CARTESIAN COORDINATES/,/CARTESIAN COORDINATES/ {
        if(NF==4 && $1!="CARTESIAN") print $0
    }' $out >> optimized_geometries.txt
    echo "" >> optimized_geometries.txt
done

# Extract frequencies
grep "FREQUENCY:" *.out > frequencies.txt

# Extract HOMO/LUMO orbitals
grep "HOMO LUMO" *.out | awk '{print $4, $6}' > homo_lumo.txt

References

See also