Использование GAMESS

Pups12

Вопрос к химикам - у кого-нибудь есть книга или инструкция, которая нормально объясняет, как пользоваться оным пакетом программ для квантовохимических расчетов? То, что на официальном сайте - это просто список команд без пояснений.
Или, если у кого есть немного времени, объясните мне лично. В последнем случае пиво с меня причитается.

Lene81

INPUT.DOC & REFS.DOC

Pups12

Input.doc смотрел, не разобрался.
Там просто список команд и короткое описание каждой команды. Возможно тому, кто долго работал в области квантовой химии, все эти описания говорят многое, но мне они говорят мало. Мне бы инструкцию, в которой более подробно разобран формат inp - файла, что там должно быть, а что - не обязательно.

Lene81

Формат такой $Имя_секции $END. Секций может быть несколько. Если почитать refs.doc, то там обнаружатся главы о том, как делать ССП, теорию возмущений, КВ, МКССП и многое другое с примерами.
но мне они говорят мало

Это профессиональный софт, готовьтесь тратить время на обучение. Ну и изучайте квантовую химию, будет понятнее.
P.S. Забыл: есть еще TEST.DOC, в котором можно найти много примеров

Nitochka

Там же тестов куча в /tests
! EXAM01.
! 1-A-1 CH2 RHF geometry optimization using GAMESS.
!
! Although internal coordinates are used (COORD=ZMAT
! the optimization is done in Cartesian space (NZVAR=0).
! This run uses a criterion (OPTTOL) on the gradient
! which is tighter than default, but very safe.
!
! This job tests the sp integral module, the RHF module,
! and the geometry optimization module.
!
! Using the default search METHOD=STANDARD,
! FINAL E= -37.2322678015, 8 iters, RMS grad= .0264308
! FINAL E= -37.2351919062, 7 iters, RMS grad= .0202617
! FINAL E= -37.2380037239, 7 iters, RMS grad= .0013100
! FINAL E= -37.2380352917, 8 iters, RMS grad= .0007519
! FINAL E= -37.2380396312, 5 iters, RMS grad= .0001615
! FINAL E= -37.2380397693, 5 iters, RMS grad= .0000067
! FINAL E= -37.2380397698, 3 iters, RMS grad= .0000004
!
$CONTRL SCFTYP=RHF RUNTYP=OPTIMIZE COORD=ZMT NZVAR=0 $END
$SYSTEM TIMLIM=1 $END
$STATPT OPTTOL=1.0E-5 $END
$BASIS GBASIS=STO NGAUSS=2 $END
$GUESS GUESS=HUCKEL $END
$DATA
Methylene...1-A-1 state...RHF/STO-2G
Cnv 2

C
H 1 rCH
H 1 rCH 2 aHCH

rCH=1.09
aHCH=110.0
$END

Lene81

Вот еще хорошая презентация , чтобы понять, с чего начинать (названо устройство входного файла, наиболее важные секции, кое-что о форматировании, со стр 19)

Pups12

Спасибо за презентацию, вроде кое что понятно.
Правда, поведение Gamess непонятно.
Итак, моя задача - определить теплоту образования некоторой сложной органической молекулы.
Что я сделал:
1) Нарисовал эту молекулу в ChemDraw 9.0.
2) Перенес в Chem3D.
3) В Chem3D провел оптимизацию геометрии с использованием MOPAC.
4) Экспортировал файл с координатами атомов в формате GAMESS, получил в итоге файл с координатами.
5) Добавил заголовок, теперь файл выглядит так:
$CONTRL SCFTYP = RHF RUNTYP = HESSIAN COORD = ZMT NZVAR = 0 $end
$BASIS GBASIS=N31 NGAUSS=6 $end
$GUESS GUESS=HUCKEL $END
$DATA
stage_1.inp
C1
Далее координаты атомов
Запускаю GAMESS через batmaker и получаю ошибку 911.
Что я сделал не то?

Lene81

На первый взгляд все ок. А что гамес написал в вывод?

Pups12

UNKNOWN CONNECTION ATOM= ON ZMAT CARD 4
EXECUTION OF GAMESS TERMINATED -ABNORMALLY- AT Fri Dec 10 18:21:43 2010

Lene81

COORD=UNIQUE

if COORD=UNIQUE NAME, ZNUC, X, Y, Z
***************
NAME = 10 character atomic name, used only for printout.
Thus you can enter H or Hydrogen, or whatever.
ZNUC = nuclear charge. It is the nuclear charge which
actually defines the atom's identity.
X,Y,Z = Cartesian coordinates.

ZMT — это ввод начальных координат в виде Z-матрицы. Лучше пользоваться декартовыми, если Вы не хотите изучать, как устроена Z-матрица в гамесе
Кстати, считать матрицу вторых производных (гессиан) на неоптимизованной в данном методе геометрии очень плохая идея.

Pups12

То есть сначала надо сделать RunTyp=Optimize ?

Lene81

Да. И желательно выбрать метод получше RHF, хотя бы MP2, или, лучше CCSD или CCSD(T если позволяют ресурсы. Кроме того, для термохимии следует правильно подбирать базисные наборы, которые должны быть более обширными, чем тот, что я вижу у Вас.
Если под "термохимией" подразумевается только гармонические частоты, то все равно нужно хотя бы 6-311G++(3d,3p) или aug-cc-pVTZ и метод "не хуже" MP2

Pups12

Зачем мне учитывать d-орбитали, если у меня органика?
У меня там только H, C и O. И кстати именно поэтому я обхожусь RHF, хотя, возможно, MP2 имеет смысл.
Отсюда же и выбор 6-31G в качестве базиса. Кроме того, мне не требуется расчет с точностью до десятых долей процента, у меня стоит задача сравнить между собой теплоты образования 5 модельных молекул, и соотнести оные с экспериментальными данными для довольно сложных систем, которые эти молекулы моделируют, а эти экспериметальные данные получены с достаточно большой погрешностью.

var24

Зачем мне учитывать d-орбитали, если у меня органика?
У меня там только H, C и O. И кстати именно поэтому я обхожусь RHF, хотя, возможно, MP2 имеет смысл.

То, чему учат на органике, несколько отличается от того, что нужно знать в вычислительной химии.
Отсюда же и выбор 6-31G в качестве базиса. Кроме того, мне не требуется расчет с точностью до десятых долей процента, у меня стоит задача сравнить между собой теплоты образования 5 модельных молекул, и соотнести оные с экспериментальными данными для довольно сложных систем, которые эти молекулы моделируют, а эти экспериметальные данные получены с достаточно большой погрешностью.

Точность до десятых долей процента ты и при использовании наиболее точных из современных методов расчета вряд ли получишь.
Настоятельно советую прислушаться к словам 'а.

vovatroff

Если Вас устроит погрешность в несколько десятков (или порядка сотни) ккал/моль, то Вы, конечно, можете использовать RHF (или даже MP2) в базисе 6-31G. Но, по-моему, это все малоосмысленно. Если Вам нужно примерно, скажем, с погрешностью в 5-10 ккал/моль оценить термохимию своих молекул, не претендуя при этом на высокий уровень теории, то возьмите лучше "золотой стандарт" B3LYP/6-31G(d,p). Кстати, важность поляризационных орбиталей (d,p) в базисе, даже при DFT-расчетах и даже для легких sp-элементов - тоже давно установленный научный факт, тем более, касательно термохимии.
То, что Вас интересует, очень давно тестировалось и проверялось на десятках и сотнях органических молекул, поищите и посмотрите для начала литературу.

Nitochka

Можно указать hssend=.t. тогда гессиан начнет считаться сразу после нахождения минимума.
Только для этого желательно быть уверенным, что оптимизация сойдется туда, куда надо.

Lene81

оценить термохимию своих молекул, не претендуя при этом на высокий уровень теории, то возьмите лучше "золотой стандарт" B3LYP/6-31G(d,p).
Я бы поостерегся использовать B3LYP для термохимии (оптимизация геометрии еще ОК т.к. известно, что он имеет систематическую ошибку в оценке энтальпий образования старших алканов (и многих других, "протяженных" молекул)
Systematic Errors in Computed Alkane Energies Using B3LYP and Other Popular DFT Functionals

DanilaZ

Соглашусь с тем, что уже ранее написал . Для начала, к примеру, можете посмотреть вот на эту работу.

vovatroff

Спасибо за ссылку, интересно.
Я бы поостерегся использовать B3LYP для термохимии
Я думаю, что по цене базиса 6-31G (плюс-минус-звезда) практически любое
DFT-решение будет всяко лучше, чем все то, что было перечислено перед этим.
А выбор функционала - это уже кулинария, апологетика, маркетинговое исследование,
все что угодно, но только не наука, потому что в конечном счете все понимают, — это
игра в компенсацию ошибок. Как повезет.
Наверняка для любого мало-мальски употребительного функционала найдется свой
набор тестовых данных, из которого будет следовать, что именно он - the best.
Вот если на картинку по той ссылке из Org Lett взглянуть, то по ней выходит, что
the best is LDA. Что ж, и такое бывает.

Pups12

Еще один вопрос - сколько ему надо места на жестком диске, если использовать RHF c MP2 в базисе 6-31G для системы из 180 атомов?

Nitochka

Пока ждешь ответа - давно бы прогнал такое :)
Подозреваю, что в указанном базисе много не потребуется, любой современный винт справится.

Pups12

В том то и дело, что GAMESS сделал временный файл на 26ГБ и вылетел из-за недостатка места на жестком диске. Использованный заголовок:
$CONTRL SCFTYP = RHF MPLevl=2 RUNTYP = OPTIMIZE COORD = UNIQUE $end
$System MWORDS = 15 $end
$BASIS GBASIS=N31 NGAUSS=6 $end
$STATPT HSSEND=.true. $End
$GUESS GUESS=HUCKEL $END
$DATA

Lene81

Понадобится очень много диска, а главное, времени CPU. Такое надо считать на кластере

var24

Еще один вопрос - сколько ему надо места на жестком диске, если использовать RHF c MP2 в базисе 6-31G для системы из 180 атомов?
Это очень большая система, на обычном компе не посчитаешь. Сколько у тебя получается базисных функций? Попробуй получить доступ на
http://parallel.ru/cluster/
А для проверки, пойдет ли задача, попробуй
$contrl exetyp=check $end
Хотя, дисковое пространство оно может и не проверять.

Lene81

Я уверен, что никаких вменяемых ресурсов на 180 атомов Вам не хватит, более того, базиса 6-31G абсолютно недостаточно.
Все, что можно сделать, это поставить на кластер B3LYP/6-31G(d,p). Все остальное потребует больших ресурсов и если Вам не знакома аббревиатура DF-MP2 или DF-LMP2, то даже не пытайтесь.

vovatroff

При таких масштабах задачи советую использовать только прямые расчеты,
без хранения двухэлектронных интегралов на диске. Неважно, RHF это у вас,
MP2 или DFT.
В гамессе это задается как
$SCF dirscf=.t. $END

terl

можно еще выкинуть невалентные электроны и считать с эффективными потенциалами (pseudopotentials) на ядрах (например $contrl pp=sbkjc $end)

DanilaZ

Боюсь что и псевдопотенциалы тут не помогут, поскольку для молекулы из 180 атомов, даже если выкинуть остовные электроны, задача все равно останется неподъемной (для C60H120, к примеру, вместо 480 электронов останется 360). Может быть имеет смысл использовать полуэмпирические методы, что-нибудь вроде AM1 или PMn. Все таки лучше, чем ничего.

Lene81

можно еще выкинуть невалентные электроны и считать с эффективными потенциалами (pseudopotentials) на ядрах (например $contrl pp=sbkjc $end)
Термохимия с остовными потенциалами, боюсь, не пойдет, тем более, что остов плохо отделен от валентной части. Да и с direct методами считать придется весьма и весьма долго.

Nitochka

Ну посчитать интеграл процом в данном случае таки наверняка быстрее будет, чем лопатить десятки гигабайт.

vovatroff

+1
(Это даже не теоретические рассуждения, а практический опыт.)
Молекула из 180 атомов - неизбежно большая по размеру, соответственно,
огромное число двухэлектронных интегралов будет пренебрежимо мало
из-за того, что в них стоят произведения гауссовых функций, разбросанных
по удаленным друг от друга атомам. Тем более, если не включать диффузные
функции в базис. Прямые алгоритмы обычно умеют этим обстоятельством
эффективно пользоваться, и не считать лишнего.
Так что рекомендуем не мучать диск.
По поводу остовных потенциалов для легких атомов - однозначно совет "нет",
полностью согласен с -ом и предыдущими. Выигрыш несущественный
(1s-функции хорошо локализованы, ненулевых интеграловс их участием весьма
мало возникает а качество таких оценок, и именно для термохимии, обычно плохое.

Pups12

Мда...
Вопрос, а как воспользоваться промежуточными результатами расчета? Запустил с прямым расчетом, но на полпути программа вылетела, так как для MP2 надо больше памяти, чем я выделил. И он еще зачем-то для MP2 760 гигов на харде требует...

var24

Ты бы залил куда-нибудь конфигурационные файлы со всеми своими молекулами, сказал бы, какой версией гамесса пользуешься, на какой машине собираешься считать, а также скажи, для чего тебе эти теплоты образования. Может, что-нибудь можно будет придумать, чтобы не связываться со 180 атомами.

Pups12

В общем из доступных компьютеров P4/3000/1GB, 60 GB на харде, P4/3200/512Mb, 30 GB на харде, Centrino Duo 1750/1 GB, 30 GB на харде.
Версия GAMESS - 10я.
Конфигурационные файлы:
[image] [/image]

Nitochka

Сначала надо гонять чеки :)
Промежуточные результаты расчета - это итоги хартри-фока что ли?
Надо выпилить из файла .dat группу $VEC и подцепить в конец нового .inp-файла. Кроме того в новом инпуте нужно указать, что векторы надо брать не из GUESS=HUCKEL, а GUESS=MOREAD NORB=<сколько у тебя там занятых орбиталей>.
После сего фок должен сойтись за 1 итерацию.

Pups12

Вообще насколько ГАМЕСС к оперативке требователен?

Nitochka

Это зависит от вида расчета. Я MP2 никогда особо не гонял, но сам хартри-фок ест копейки.
Пользуй exetyp=check в $CONTRL, оно покажет все требования без выполнения фактического расчета.

Nitochka

  EXETYP=CHECK FOR PARALLEL MP2 RUNS MUST BE DONE AS FOLLOWS:
A) RUN ON ONLY ONE NODE, NOT NECESSARILY THE TARGET PARALLEL SYSTEM.
THIS LETS YOU SIZE THE MEMORY ON A PLATFORM WITH QUICK TURNAROUND.
B) USE $SYSTEM PARALL=.TRUE. SO THAT THE CHECK RUN CHECKS RUNNING
THE PARALLEL CODE, NOT THE SERIAL CODE. THIS KEYWORD IS NOT
NECESSARY WHEN THE REAL JOB EXECUTES ON P>1, OF COURSE.
C) GIVE A RATHER SMALL MWORDS BUT A RATHER BIG MEMDDI IN $SYSTEM.
THE CHECK RUN WILL NOT OFFICIALLY ALLOCATE ITS MEMDDI FROM THE
OPERATING SYSTEM, SO YOUR CHECK RUN MACHINE ONLY HAS TO HAVE
ENOUGH RAM TO HANDLE THE MUCH SMALLER VALUE OF MWORDS.


CHECK SHOWS $SYSTEM GROUP SYNTAX IS OK

DISTRIBUTED --REPLICATED--
CORES MEMDDI MEMORY/MWORDS
1 418904 903949440/ 904

* INSUFFICIENT DISTRIBUTED MEMORY REQUESTED *
YOUR $SYSTEM MEMDDI = 0

904 мегаслова ты не на каждой машине найдешь, прямо скажем, так что оставь надежды попользовать MP2.
Это попытка запуска первого инпутника.

Nitochka

Ну и
 CHECK SHOWS $SYSTEM   GROUP SYNTAX IS OK

DISTRIBUTED --REPLICATED--
CORES MEMDDI MEMORY/MWORDS
1 418904 903949440/ 904
2 418904 467977510/ 468
4 418904 249991546/ 250
8 418904 140998564/ 141
16 418904 86502072/ 87
32 418904 59253826/ 60
64 418904 45629704/ 46
128 418904 38817642/ 39
256 418904 38448169/ 39

CHECK SHOWS INPUT VALUES FOR DISTRIBUTED MEMDDI AND REPLICATED MWORDS
ARE SUFFICIENT FOR A CALCULATION RUNNING ON 32 CPUS (AKA CORES).

PLEASE COMPUTE YOUR RAM/CPU NEEDS AS SHOWN, FOR P CORES:
MILLIONS OF WORDS/CPU = MWORDS + MEMDDI/P
MBYTES/CPU = 8*(MWORDS + MEMDDI/P)
GBYTES/CPU = 8*(MWORDS + MEMDDI/P)/1024
CHOOSE A SUFFICIENTLY LARGE VALUE FOR -P- TO FIT WITHIN YOUR MACHINE'S
INSTALLED RAM/CPU.

PLEASE NOTE: A NODE WITH 4 CORES AND 8 GB TOTAL RAM HAS 2 GB/CPU.
DISTRIBUTED MEMORY WILL BE SPREAD ACROSS ALL CPUS (CORES) AT RUN TIME,
REPLICATED MEMORY WILL BE ALLOCATED BY EACH AND EVERY CPU.

Nitochka

+ на таких машинках задача заранее обречена на долгое прозябание: на моем компе
4R2 2Gb 800 MHz Patriot
Intel Core quad Q6600

одна итерация Хартри-Фока - 20 минут. У тебя же все машинки не в пример слабее.

Pups12

MWORDS = 7.2 GB. Насколько я понял, ГАМЕСС файл подкачки принципиально не использует.
В общем, на своих компах я только С и Д посчитаю - там меньше атомов.
Я засовываю уже оптимизированные при помощи MOPAC геометрии, не думаю, что потребуется много итераций.
Во всяком случае MolC у меня за 154 минуты дошел до начала вычислений по MP2, на чем и вырубился. Сравнивая компы, думаю, это где-то 4-5 итераций.

Nitochka

Использовать-то можно заставить, просто на этом расчет закончится и начнется дископиление.

Pups12

Где можно найти список возможных ошибок?
У меня что-то ошибку 26 выдал, когда я в лаборатории на ночь считаться оставил...

DanilaZ

Где можно найти список возможных ошибок
http://www.ioplex.com/~miallen/errcmp.html

Pups12

Надо выпилить из файла .dat группу $VEC и подцепить в конец нового .inp-файла. Кроме того в новом инпуте нужно указать, что векторы надо брать не из GUESS=HUCKEL, а GUESS=MOREAD NORB=<сколько у тебя там занятых орбиталей>.

Как количество этих самых орбиталей определить?
NORB=N(H)+5*N(O)+5*N(C)? (У водорода одна орбиталь, у углерода с кислородом 5)? Или как то в dat-файле, если он не все учитывает?

Pups12

Насколько я понял, это внутренняя ошибка GAMESS, а не ошибка Linux

DanilaZ

Как количество этих самых орбиталей определить?
в dat фаиле: в блоке $VEC $END первое число последней строки (без сотен)
в out файле: рядом с "NUMBER OF CARTESIAN GAUSSIAN BASIS FUNCTIONS" или "THE NUMBER OF SPHERICAL HARMONICS KEPT IN THE VARIATION SPACE"
Насколько я понял, это внутренняя ошибка GAMESS
А что конкретно пишет. Просто номер и все?

Pups12

ddikick.x: TCP Error in Recv.
TCP recv error: Unknown.
TCP recv error: return value errno=26
ddikick.x: Sending kill signal to DDI processes.
ddikick.x: Execution terminated due to error(s).
Это конец out-файла

Pups12

MP2 ENERGY GRADIENT CALCULATION PROGRAM WRITTEN BY K.ISHIMURA
 ------------------------------- -----------------------------
 NUMBER OF OCCUPIED ORBITALS = 279
 NUMBER OF VIRTUAL ORBITALS = 561
Которое из двух? Или сумма?
А последняя строчка $VEC выглядит так:
40168-5.96041174E-03-9.74174279E-03-3.58317041E-02 4.42125752E-03 9.84215651E-03

DanilaZ

сумма (840 = 168*5
40168-5.96041174E-03-9.74174279E-03-3.58317041E-02 4.42125752E-03 9.84215651E-03
TCP recv error: Unknown.
TCP recv error: return value errno=26
Здесь же написано, что это errno. Другое дело, что число 26 ничего не означает, поскольку его печатает следующий код (хотя может быть уже исправили):

switch(errno) {
...
default:
fprintf(stdout," TCP recv error: Unknown.\n");
fprintf(stdout," TCP recv error: return value errno=%d\n");
break;
}

Pups12

errno это по идее номер ошибки.

Nitochka

Это похоже на наведенную ошибку. Выше нормальными словами проблема не описана?
Могут быть и технические проблемы: не там поставленный пробел в инпуте, внезапно место на винте кончилось итд.

Pups12

Нет, ничего не написано. Возможно, действительно место на винте закончилось, хотя предварительно проведенный check сказал, что все будет в порядке.
Я тут подумал, что надо попробовать посчитать и с Mp2, и без оного молекулу C - там относительно мало атомов, может подходящий компьютер удастся найти. Если результаты будут близки - забить на MP2 и обойтись просто RHF.

Nitochka

B3LYP-то точно не хочешь попробовать?

Nitochka

Да, и чек не проверяет место на диске таки.

Pups12

Ура, у меня досчитались две из четырех молекул.
Теперь сакраментальный вопрос - а где в out-файле находится теплота образования? Я что-то найти не смог.
И второй вопрос - у меня случайно выключили компьютер, когда на нем шел расчет. Есть ли возможность продолжить с момента разрыва?

Pups12

Откликнитесь!

terl

Теперь сакраментальный вопрос - а где в out-файле находится теплота образования?
Видимо теперь надо считать энергии простых веществ и вычитать (ибо они конечно зависят деталей расчета). Правда например для простого вещества углерод (графит) видимо проще найти в справочнике энергию атомизации графита + посчитать энергию атома углерода.

Pups12

Видимо теперь надо считать энергии простых веществ и вычитать (ибо они конечно зависят деталей расчета). Правда например для простого вещества углерод (графит) видимо проще найти в справочнике энергию атомизации графита + посчитать энергию атома углерода.
 Меня интересует 2 вопроса - в каком пункте этого файла даны энергетические характеристики, и какие именно характеристики и для каких условий рассчитаны
Т.е. скажем, рассчитана теплота образования данной молекулы из атомарных углерода, кислорода и водорода в идеальном газе при 298К?

terl

запости сюда входной файл без $data

DanilaZ

где в out-файле находится теплота образования?
В самом конце после "THERMOCHEMISTRY AT T=", сразу после колебательного анализа. Однако имейте в виду, что GAMESS вычисляет термохимические константы по формулам статистической механики. Для расчета же колебательной суммы по состояниям необходимы колебательные частоты, что требует вычисление гессиана. У Вас он посчитан?
Раз Вы не можете найти теплоту образований, я предполагаю, что либо в $STATPT Вы не указали HSSEND=.true., либо (что более вероятно) у Вас не сошлась оптимизация, к примеру, было достигнуто максимальное число итерации (по умолчанию = 50).
Есть ли возможность продолжить
Да, вы можете перезапустить задачу. Если Вы оптимизировали геометрию, просто поместите во входной файл геометрию и орбитали с последнего шага оптимизации. Если считали гессиан, то скопируйте из rst файла блок $VEC или $VEC2

Pups12

$CONTRL SCFTYP = RHF RUNTYP = OPTIMIZE COORD = UNIQUE $end
$SCF dirscf=.t. $END
$System MWORDS = 40 $end
$BASIS GBASIS=N31 NGAUSS=6 $end
$STATPT HSSEND=.true. $End
$GUESS GUESS=HUCKEL $END

DanilaZ

А в out-файле присутствует строчка 'EQUILIBRIUM GEOMETRY LOCATED'?
Да, и в inp-файле укажите еще
$FORCE NVIB=2 VIBANL=.true. $END

terl

найди строку
EQUILIBRIUM GEOMETRY LOCATED
затем перед ней найди строку вида
FINAL RHF ENERGY IS XXX AFTER NNN ITERATIONS
XXX - это потенциальная энергия твоей системы (потенциальная энергия взаимодействия ядра-ядра + ядра-электроны + электроны-электроны+ кинетическая энергия электронов)
обычно к ней еще прибавляют энергию нулевых колебаний (zero point energy) - ее смотри после расчета нормальных колебаний

DanilaZ

XXX - это потенциальная энергия твоей системы
при 0K

Pups12

Нет, у меня этого нет.
Точнее, в самом начале есть строка FINAL RHF ENERGY = XXXX, но это в самом начале. EQUILIBRIUM GEOMETRY LOCATED нет.
Т.е. получается, что действительно просто все 30 итераций пройдено, а схождения нет...
Кстати, а можно ли визуализировать полученную геометрию?

terl

надо в $statpt задать nstep побольше

terl

при 0K
по-хорошему при 0К будет как раз, если добавить энергию нулевых колебаний ; )

terl

 Кстати, а можно ли визуализировать полученную геометрию?
http://www.scl.ameslab.gov/MacMolPlt/

terl

ЗЫ
я бы все-таки рекомендовал полуэмпирику типа pm3

Pups12

У меня от одной итерации к другой RHF energy изменяется на тысячные доли джоуля на моль, при этом сама энергия составляет -2732 Дж/моль.
Можно ли как-то заставить GAMESS принять это состояние в качестве оптимизированной геометрии и посчитать HESSIAN?

DanilaZ

при этом сама энергия составляет -2732 Дж/моль
а не -2732 Hartree? 0.001 Hartree равен приблизительно 2.6 кДж/моль

terl

У меня от одной итерации к другой RHF energy изменяется на тысячные доли джоуля на моль, при этом сама энергия составляет -2732 Дж/моль.
какой при этом максимальный градиент (MAXIMUM GRADIENT)?
зы надо увеличить $statpt opttol $end

Pups12

Maximum Gradient для последней итерации составляет 0.0066881.
 А насчет единицы измерения... если оная в Hartree, то больно много получается. Хотя вам виднее.

terl

0.0066881
ну это все-же не мало. Систему из нескольких сот атомов можно оптимизировать лучше, я думаю до 1e-3 - 1e-4. Можно поcтроить график log10(max_grad) от номера шага и когда он из линейно спадающего начнет выходить на асимптоту - остановить оптимизацию.
зы
Расчет номальных колебаний имеет смысл только в потенциальном минимуме и чем точнее он найден, тем лучше.

terl

А насчет единицы измерения...
единицы везде атомные (хартри, боры)

Nitochka

Это немало.
Сводить геометрию для большой системы - это нихрена не просто, я помниццо сводил геометрию для системы из ~150 атомов и кучи водородных связей итераций этак 120.
Гессиан в точке посчитать можно, правда смысла большого нет. Надо просто указать строчку RUNTYP=HESSIAN вместо OPTIMIZE.

Lene81

Теперь сакраментальный вопрос - а где в out-файле находится теплота образования? Я что-то найти не смог.
Квантовохимические программы, в общем случае, не считают термохимию. Они считают полную энергию молекулы — энергию разрыва ее на невзаимодействующие (разнесенные на большое расстояние) ядра и электроны. Для того, чтобы рассчитать теплоты образования, надо еще рассчитать абсолютные энергии простых веществ в стандартных состояниях. Честно говоря, проще считать энергию атомизации, т.к. сосчитать "на одном уровне" абсолютные энергии газообразного водорода и кристаллического графита не так то просто. Ну и учесть поправки вроде энергии нулевых колебаний и статистический вклад, если температура отлична от 0 K

Pups12

Поднимаю старую тему... теперь вопрос - как рассчитать ИК-спектры при помощи GAMESS. Что-то я не нашел в мануале, как это делать

Lene81

Интенсивности фундаментальных полос (в гармоническом приближении) выводятся после расчета частот. Для построения ангармонического силового поля курите в строну колебательного SCF (VSCF VMP2, VCI. Расчитываются ли при этом интенсивности — не в курсе.
Что касается ширины полос то тут безнадега: нужно решать динамическую задачу, для чего потребны другие программы.

Nitochka

Всякие VSCF - это дико тяжелые задачки, и вряд ли автор с его системой такое потянет.

Pups12

Мне удалось достать систему помощнее - Phenom II 2100 с тремя ядрами и 4 гига оперативки.
Правда больше 110Mwords выделять что-то не хочет, но надеюсь, достаточно будет

Lene81

-битная винда?

Nitochka

Даже под x64 вендой гамесс не горел желанием выделять много памяти на процесс. Забил, стал пользовать убунту.

Pups12

Windows 7, 64-битная.
Ну, с учетом того, что ядер 3, соответственно процессов 3, в сумме получается 330 MWords. Правда, это только для RHF, попытка использовать MP2 привела к забавному результату - памяти на один процесс требуется ~100MWords, но вот Memddi он с меня потребовал 74 Гб :crazy:
 В общем, спектры решил считать на Гауссиане (G9W он более дружелюбен в смысле взаиможействия с пользователем. Только эта зараза считает примерно 12 часов, а затем крашит Windows (ноут при этом выключается). Есть идея, в чем причина, может кто-то сталкивался уже с этим?

Lene81

Только эта зараза считает примерно 12 часов
отключи Raman intensities

Pups12

Отключил, теперь расчет вылетает с ошибкой Есть идеи, в чем причина?

DanilaZ

Memddi он с меня потребовал 74 Гб
правильно потребовал. Представь что произойдет, если три процесса начнут одновременно читать 74Гб файл в разных местах.
Гессиан сосчитается быстрее, если вместо одной N-процессорной задачи запустить N однопроцессорных, рабочий каталог каждой из которых находится на отдельном жестком диске. Первая задача запускается как обычно и убивается после того как будет посчитана 1/N-ая часть смещений. Во входной файл второй задачи помещается блок $VIB/$VIB2, где для первой 1/N-ой части смещений указывается энергия в точке минимума; задача запускается одновременно с первой. Для 3-ей задачи указываешь блок $VIB но уже c 2/N-ой частью смещений и т.д. После того как всё посчитается, собираешь полный блок $VIB и делаешь колебательный анализ.