Abinito вычисления для нафталина и азулена

1

Исходные SMILES-файлы для азулена и нафталина были переконвертированы с помощью babel в mol-файлы. При этом структуры получились плоскими только при оптимизации с использованием силового поля UFF:

Azulene : C1=CC=C2C=CC=C2C=C1 Napthalene: c1ccc2ccccc2c1

obgen azu.smi -ff UFF > azu.mol 
obgen nap.smi -ff UFF > nap.mol
In [7]:
from xmlrpclib import ServerProxy
from IPython.display import Image, display
cmd = ServerProxy(uri="http://localhost:9123/RPC2")
util = ServerProxy(uri="http://localhost:9123/RPC2")
cmd.bg_color('white')
cmd.delete('all')
cmd.set("opaque_background", 'off')
cmd.set("ray_trace_mode", '3')
cmd.set('antialias', 3)
cmd.set('ray_shadow', 0)
cmd.bg_color('white')
cmd.load('azu.mol')
cmd.orient()
cmd.show_as('sticks')
cmd.show('spheres')
cmd.set('stick_radius', 0.1)
cmd.set('sphere_scale', 0.15)
cmd.ray()
cmd.png('azu.png')
cmd.delete('all')
cmd.load('nap.mol')
cmd.orient()
cmd.show_as('sticks')
cmd.show('spheres')
cmd.ray()
cmd.png('nap.png')
azu1 = Image(filename='azu.png')
nap1 = Image(filename='nap.png')
display(azu1, nap1)

2

Затем полученные файлы были переконвертированы в формат gamess, к ним был добавлен соответствующий заголовок и, наконец, геометрия этих структур была оптимизирована с помощью gamess. Для оптимизации используется базис N31 (6-31G). Это значит, что внутренние орбитали обсчитываются шестью гауссовскими функциями, а для описания валентных орбиталей используется три и одна функции в каждом слагаемом, соответственно.

gamess -imol nap.mol -ogamin nap_out.inp gamess -imol nap.mol -ogamin nap_out.inp

gms nap_opt.inp 1 >& nap_opt.log gms azu_opt.inp 1 >& azu_opt.log

3

На основе полученных координат были составлены новые файлы для расчета энергии. Для этого сначала log-файлы после GAMESS были переформатированы с помощью babel в gamin, а затем для каждого способа расчета были добавлены соответствующие заголовки. Для расчета по Хартри-Фоку:

$CONTRL COORD=CART UNITS=ANGS   SCFTYP=RHF RUNTYP=ENERGY$END
$BASIS  GBASIS=N31 NGAUSS=6$POLAR=POPN31 NDFUNC=1 $END$GUESS  GUESS=HUCKEL $END$system mwords=2 $end$DATA

В случае теории функционала плотности:

$CONTRL COORD=CART UNITS=ANGS   dfttyp=b3lyp RUNTYP=ENERGY$END
$BASIS  GBASIS=N31 NGAUSS=6$POLAR=POPN31 NDFUNC=1 $END$GUESS  GUESS=HUCKEL $END$system mwords=2 $end$DATA
babel -ilog nap_opt.log -ogamin nap_hf.inp babel -ilog azu_opt.log -ogamin azu_hf.inp

gms nap_hf.inp 1 >& nap_hf.log gms azu_hf.inp 1 >& azu_hf.log gms nap_dft.inp 1 >& nap_dft.log gms azu_dft.inp 1 >& azu_dft.log ```

4

После оптимизации с помощью GAMESS были найдены энергии обеих молекул, найдено и переведено в привычные единицы измерения ΔE.

Вещество E(Naptalene) E(Azulene) ΔE, Hartree ΔE, kCal/mol
Хартри-Фок -383.3549 -383.2825 0.0724 45,4317
DFT -385.6401 -385.5857 0.0544 34,1365

Как видно, энергия изомеризации нафталина в азулен, полученная с помощью теории функциональной плотности, соответствует реальной (35.3±2.2 kCal/mol). Из этого эксперимента можно сделать вывод, что этот метод лучше, чем Хартри-Фока.

5

In [10]:
napLUMO = Image(filename='nap_dft_LOMO.png')
napHOMO = Image(filename='nap_dft_HOMO.png')
azuLUMO = Image(filename='azu_dft_LOMO.png')
azuHOMO = Image(filename='azu_dft_HOMO.png')
display('Napthalene - LUMO', napLOMO, 'Napthalene - HOMO', napHOMO, 'Azulene - LUMO', azuLOMO, 'Azulene - HOMO', azuHOMO)
'Napthalene - LUMO'
'Napthalene - HOMO'
'Azulene - LUMO'
'Azulene - HOMO'