Было решено автоматизировать процесс получения соответствующего числа файла через скрипт bash.
Для начала был создан файл et.inp со следующим заголовком:
Если запустить GAMESS с таким файлом, то в выходном ошибок не будет, а это значит, что все ок!
Далее был сделан bash файл, как описано в задании. После его запуска получился 21 файл (надо проследить, что файл
находится в кодировке UNIX, иначе будут ругаться на концы строк).
В итоге был получен файл bond в котором хранится следующая информация:
$CONTRL COORD=ZMT 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
1.32986 -79.7339315289
1.34986 -79.7406173737
1.36986 -79.7462868578
1.38986 -79.7510331813
1.40986 -79.7549412921
1.42986 -79.7580886263
1.44986 -79.7605457819
1.46986 -79.7623771323
1.48986 -79.7636413832
1.50986 -79.7643920816
1.52986 -79.7646780790
1.54986 -79.7645439543
1.56986 -79.7640303992
1.58986 -79.7631745699
1.60986 -79.7620104053
1.62986 -79.7605689179
1.64986 -79.7588784564
1.66986 -79.7569649422
1.68986 -79.7548520851
1.70986 -79.7525615748
1.72986 -79.7501132582
А дальше дело техники!
Построенная зависимость энергии от длины C-C связи молекулы этана:
a = -79.7652 k = 0.563608 b = 1.55432Как видно, функция далеко не совсем точно совпадает с полученными точками. Почему так? Ну, возможно, реальная зависимость энергии связи от ее длины описывается куда более сложной функцией!
Далее нужно было проделать аналогичные процедуры, но уже для валентного угла HCH.
Вот соответствующие значения торсионного угла и энергии:
109.200 -79.7645100964
109.400 -79.7645396600
109.600 -79.7645663953
109.800 -79.7645902988
110.000 -79.7646113672
110.200 -79.7646295973
110.400 -79.7646449862
110.600 -79.7646575313
110.800 -79.7646672302
111.000 -79.7646740809
111.200 -79.7646780815
111.400 -79.7646792309
111.600 -79.7646775278
111.800 -79.7646729717
112.000 -79.7646655623
112.200 -79.7646552997
112.400 -79.7646421847
112.600 -79.7646262180
112.800 -79.7646074011
113.000 -79.7645857358
113.200 -79.7645612241
Теперь непосредственно график.
a = -79.7647 k = 3.56076e-05 b = 111.38Тут можно сказать, что апроксимация выполнена хорошо.
Теперь что касается торсионного угла. Проводим аналогичные процедуры, и получаем соответствующие значения для
угла и энергии:
-180 -79.7646780790
-168 -79.7642336928
-156 -79.7630628377
-144 -79.7616148156
-132 -79.7604407798
-120 -79.7599827599
-108 -79.7604407798
-96 -79.7616148156
-84 -79.7630628377
-72 -79.7642336928
-60 -79.7646780790
-48 -79.7642336928
-36 -79.7630628377
-24 -79.7616148156
-12 -79.7604407798
0 -79.7599827599
12 -79.7604407798
24 -79.7616148156
36 -79.7630628377
48 -79.7642336928
60 -79.7646780790
72 -79.7642336928
84 -79.7630628377
96 -79.7616148156
108 -79.7604407798
120 -79.7599827599
132 -79.7604407798
144 -79.7616148156
156 -79.7630628377
168 -79.7642336928
180 -79.7646780790
Вот график без подгонки.