MOPAC
Nesta seção:
Descrição
De acordo com a página do MOPAC, MOPAC (Molecular Orbital PACkage) é um programa de química quântica semiempírica baseado na aproximação NDDO de Dewar e Thiel.
Versões Disponíveis
mopac/17.162 (default)
Submissão de Jobs Seriais
#!/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
Submissão de Jobs com OpenMP
#!/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 usa threads automaticamente
export OMP_NUM_THREADS=$SLURM_CPUS_PER_TASK
job-nanny MOPAC2012.exe large.mop
Exemplo de Arquivo de Entrada (.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
Principais Palavras-chave MOPAC
Palavra-chave |
Descrição |
|---|---|
|
Método semiempírico |
|
Austin Model 1 |
|
Modified Neglect of Diatomic Overlap |
|
Coordenadas em formato XYZ |
|
Otimização de geometria |
|
Cálculo de frequências vibracionais |
|
Cálculo de propriedades termodinâmicas |
|
Tempo limite (2 horas) |
|
Critérios de convergência mais rigorosos |
|
Apenas um cálculo SCF (sem otimização) |
Cálculo de Propriedades Termodinâmicas
#!/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
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 para Varredura Conformacional
#!/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}
# Modificar ângulo de torção
sed "s/DIHEDRAL_ANGLE/$ANGLE/g" ../template.mop > input.mop
job-nanny MOPAC2012.exe input.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
Cálculo de Orbitais Moleculares
#!/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
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
Análise de Resultados
#!/bin/bash
#SBATCH -J analyze_mopac
#SBATCH -N 1
#SBATCH -n 1
#SBATCH -t 00:30:00
#SBATCH --mem=2G
# Extrair energia final
grep "FINAL HEAT OF FORMATION" *.out | awk '{print $6}' > energies.txt
# Extrair geometria otimizada
for out in *.out; do
echo "Geometria otimizada para $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
# Extrair frequências
grep "FREQUENCY:" *.out > frequencies.txt
# Extrair orbitais HOMO/LUMO
grep "HOMO LUMO" *.out | awk '{print $4, $6}' > homo_lumo.txt
Referências
Documentação: http://openmopac.net/manual/
Tutoriais: http://openmopac.net/manual/tutorials.html
Forum: http://openmopac.net/forum/
Ver também
GAMESS - Ab initio
Gaussian - Ab initio e DFT
ORCA - Alternativa gratuita
Processando Simulações - Como submeter jobs