GAMMES для расчета УФ-спектров

вопросы строения молекул и квантовой химии
ahh
Сообщения: 515
Зарегистрирован: Пн дек 03, 2007 9:10 pm

GAMMES для расчета УФ-спектров

Сообщение ahh » Пт мар 27, 2009 4:12 pm

Как в GAMMES посчитать УФ-спектр для органического соединения? Что и куда надо вводить? Может кто-то знает?

alxyppv
Сообщения: 560
Зарегистрирован: Сб апр 07, 2007 11:23 am

Re: GAMMES для расчета УФ-спектров

Сообщение alxyppv » Пт мар 27, 2009 4:36 pm

Если речь о средних и больших молекулах (~20 и более атомов), то Вам видимо нужен метод TDDFT. Ниже приведет фрагмент входного файла для расчета 60 нижних возбужденных состояний несимметричной молекулы(я исхожу из того, что некоторый опыт работы с программой у Вас есть и ряд параметров Вы добавите или измените под себя). В зависимости от размеров молекулы может понадобится много памяти (гораздо больше чем для оптимизации; этот параметр, естественно, зависит от числа возб. состояний). Использование гибридных функционалов обычно дает лучшую картину, но расчет дороже. И да, приготовтесь к тому, что в лучшем случае все энергии будут системаичесли занижены. А в худшем - отклонения будут разными для разных типов возбуждений...

Код: Выделить всё

 $CONTRL SCFTYP=RHF RUNTYP=ENERGY DFTTYP=PBE96 D5=.T. CITYP=TDDFT  $END                                     
 $BASIS GBASIS=N31 NGAUSS=6 NDFUNC=1 NPFUNC=1 $END                                       
 $SCF DIRSCF=.T. FDIFF=.T. DIIS=.T. SOSCF=.F. NCONV=7 $END                      
 $TDDFT NSTATE=60 ISTATE=1 $END                                        
А.П.

ahh
Сообщения: 515
Зарегистрирован: Пн дек 03, 2007 9:10 pm

Re: GAMMES для расчета УФ-спектров

Сообщение ahh » Пт мар 27, 2009 5:01 pm

alxyppv писал(а):(я исхожу из того, что некоторый опыт работы с программой у Вас есть и ряд параметров Вы добавите или измените под себя).
Как раз опыта работы то и нет :) Я не знаю даже с чего начать. Я этого работал с Hyperchem, там я знаю как УФ-спектры считать.

alxyppv
Сообщения: 560
Зарегистрирован: Сб апр 07, 2007 11:23 am

Re: GAMMES для расчета УФ-спектров

Сообщение alxyppv » Пт мар 27, 2009 5:08 pm

ahh писал(а): Я не знаю даже с чего начать.
Э-э-э... с мануала... по-моему, нет смысла его здесь копировать...
ahh писал(а): Я этого работал с Hyperchem, там я знаю как УФ-спектры считать.
скорее всего был полуэмпирически? WARNING В gamess расчета спектров возбуждения полуэмпирикой нет, а есть уже упомянутый TDDFT и гораздо более дорогие ab initio методы. Приготовтесь к тому, что время расчета будет во много раз дольше.
А.П.

alxyppv
Сообщения: 560
Зарегистрирован: Сб апр 07, 2007 11:23 am

Re: GAMMES для расчета УФ-спектров

Сообщение alxyppv » Вт мар 31, 2009 10:07 pm

ahh писал(а): Я не знаю даже с чего начать.
Вот так примерно должен выглядеть входной файл для оптимизации геометрии (я исхожу из того, что перед расчетом спектра Вы захотите оптимизировать геом. параметры; в принципе, этот шаг можно и пропустить - но лучше все-таки не пропускать)

Код: Выделить всё

 $CONTRL SCFTYP=RHF RUNTYP=OPTIMIZE DFTTYP=PBE96 D5=.T. MAXIT=100 $END                                     
 $BASIS GBASIS=N31 NGAUSS=6 NDFUNC=1 NPFUNC=1 $END                                       
 $SYSTEM TIMLIM=600000 MEMORY=50000000 $END                                    
 $SCF DIRSCF=.T. FDIFF=.T. DIIS=.T. SOSCF=.F. NCONV=7 $END                     
 $STATPT OPTTOL=1.0d-5 NSTEP=50 $END 
 $DATA
 CNH3O
C1
CARBON      6.0     -0.092752756        -0.404567599         0.000000000
HYDROGEN    1.0     -0.055560577        -1.509997140         0.000000000
NITROGEN    7.0      1.146732220         0.156552312         0.000000000
HYDROGEN    1.0      1.981223961        -0.406263982         0.000000000
HYDROGEN    1.0      1.238694897         1.161265288         0.000000000
OXYGEN      8.0     -1.135789087         0.210959793         0.000000000
 $END
геометрия задана в декартовых координатах; единицы - ангстрем. Если молекула симметричная - то имеет смысл это использовать поскольку стоимость расчет может существенно понизиться (но после оптимизации надо проверять отвечает ли реальному минимуму симметричная конфигурация). Если у Вас есть симметричная молекула - приведите ее координаты, тогда рассмотрим конкретнее как должен выглядеть входной файл. Обратите внимание, что в группе $SYSTEM значение MEMORY дается в "словах" - в байтах это в 8 раз больше (т.е. в приведенном выше примере запрашивается 400 Мб). Просить больше чем есть фиической памяти не имеет смысл, все будет ооочень тормозить. Если молекулы не очень большие и/или есть быстрые жесткие диски - то м.б. будет быстрее писать интегралы на диск а потом их считывать на каждой итерации (эта опция, как я помню, используется по умолчанию). Может понадобиться много дискового пространства. Другой вариант - пересчитывать интегралы на каждой итерации (этот вариант вызывается опцией DIRSCF=.T. , а вариант с записью интегралов - DIRSCF=.F.). Что будет эффективнее в каждом конкретном случае - заранее сказать сложно, зависит от молекулы и имеющегося железа.


После оптизации, проводим расчет спектра:

Код: Выделить всё

 $CONTRL SCFTYP=RHF RUNTYP=ENERGY DFTTYP=PBE96 D5=.T. CITYP=TDDFT  $END                                     
 $BASIS GBASIS=N31 NGAUSS=6 NDFUNC=1 NPFUNC=1 $END                                       
 $SCF DIRSCF=.T. FDIFF=.T. DIIS=.T. SOSCF=.F. NCONV=7 $END                     
 $SYSTEM TIMLIM=600000 MEMORY=250000000 $END                                    
 $TDDFT NSTATE=20 ISTATE=1 $END  
 $DATA
 CNH3O
C1
CARBON      6.0     -0.092752756        -0.404567599         0.000000000
HYDROGEN    1.0     -0.055560577        -1.509997140         0.000000000
NITROGEN    7.0      1.146732220         0.156552312         0.000000000
HYDROGEN    1.0      1.981223961        -0.406263982         0.000000000
HYDROGEN    1.0      1.238694897         1.161265288         0.000000000
OXYGEN      8.0     -1.135789087         0.210959793         0.000000000
 $END
(координаты, естественно, меняем на полученные при оптимизации). Чем больше запрашивается возбужденных состояний - тем больше требуется памяти и дольше расчет. Разумное число запрашиваемых состояний зависит от конкретной системы - но в любом случае, далеко в УФ соваться не стоит, TDDFT там уже очень плохо работает

Если есть желание визулизировать изменение электронной плотности при конкретном переходе, то можно добавить строки:

Код: Выделить всё

$CUBE CUBE=.T. MESH=fine $END
 $ELDENS IEDEN=1 spind=.f. diffd=.t. skiphf=.t. $END
тогда в punch-файле в конце расчета будет приведен блок в формате cube. Его надо вырезать, сдалать из него отдельный файл и смотреть чем угодно, работающим с форматом cube (ChemCraft. VESTA. Molekel и т.п.). Номер состояния, ля которого будет выведена разность плотносетй основного и возб. состояний, задается значением ISTATE= в группе $TDDFT (по умолчанию кажется ISTATE=1, т.е. первое возбужденное состояние). Если молекула симметричная, то расчет опять же становится значительно "легче", но спектр возбуждения надо считать отдельно для каждого типа симметрии. Если есть конкретный пример, приведите - разберем.
А.П.

avelon
Сообщения: 460
Зарегистрирован: Ср авг 12, 2009 5:09 pm

Re: GAMMES для расчета УФ-спектров

Сообщение avelon » Ср авг 11, 2010 6:41 pm

чем лучше посчитать ППЗ для металлорганике в GAMESS исходя из геометрии MP2? CIS или EOM-CCSD или........ DFT и TDDFT врут

rebel
Сообщения: 31
Зарегистрирован: Ср дек 01, 2010 5:57 pm

Re: GAMMES для расчета УФ-спектров

Сообщение rebel » Ср дек 01, 2010 7:24 pm

Странно ввел, как здесь написано в PC GAMMES
$CONTRL SCFTYP=RHF RUNTYP=ENERGY DFTTYP=PBE96 D5=.T. CITYP=TDDFT $END
$BASIS GBASIS=N31 NGAUSS=6 NDFUNC=1 NPFUNC=1 $END
$SCF DIRSCF=.T. FDIFF=.T. DIIS=.T. SOSCF=.F. NCONV=7 $END
$SYSTEM TIMLIM=600000 MEMORY=250000000 $END
$TDDFT NSTATE=20 ISTATE=1 $END
$DATA
CNH3O
C1
CARBON 6.0 -0.092752756 -0.404567599 0.000000000
HYDROGEN 1.0 -0.055560577 -1.509997140 0.000000000
NITROGEN 7.0 1.146732220 0.156552312 0.000000000
HYDROGEN 1.0 1.981223961 -0.406263982 0.000000000
HYDROGEN 1.0 1.238694897 1.161265288 0.000000000
OXYGEN 8.0 -1.135789087 0.210959793 0.000000000
$END
------------------
Но у меня вышла следующая ошибка.
**** ERROR READING INPUT GROUP $SCF *****
THE PROBLEM IS WITH THIS CARD, BEFORE OR NEAR THE $ POINTER
$SCF DIRSCF=.T. FDIFF=.T. DIIS=.T. SOSCF=.F. NCONV=7 UNITS=ANGS NZVAR=0 $END
$

LEGAL KEYWORDS FOR THIS GROUP ARE:
NCONV NPUNCH NCO NSETO DMPCUT NPAIR
NO CICOEF F ALPHA BETA DIIS
ETHRSH MAXDII EXTRAP DAMP SHIFT RSTRCT
COUPLE UHFNOS MVOQ DEM DEMCUT DIRSCF
FDIFF VTSCAL VTCONV MAXVT SCALF SOSCF
SOGTOL JKMAT XFDIFF XFDNR FSHIFT FDCTRL
ERROR IN $SCF INPUT - STOP
------------
Что здесь не так?

VTur
Сообщения: 7357
Зарегистрирован: Пт авг 31, 2007 1:36 pm

Re: GAMMES для расчета УФ-спектров

Сообщение VTur » Ср дек 01, 2010 11:11 pm

См. конец предыдущей строки (как в линукс) или пробел в начале этой строки
После отстоя требуйте долива

alxyppv
Сообщения: 560
Зарегистрирован: Сб апр 07, 2007 11:23 am

Re: GAMMES для расчета УФ-спектров

Сообщение alxyppv » Ср дек 01, 2010 11:59 pm

В Вашем сообщении об ошибке почему-то фигурируют UNITS=ANGS NZVAR=0 в группе $SCF. Из там быть не должно... В файле, который Вы показываете, их тоже нет. Смотрите внимательно, где-то что-то не до конца вытерли...
А.П.

maks-im2
Сообщения: 6
Зарегистрирован: Чт дек 02, 2010 3:58 am

Re: GAMMES для расчета УФ-спектров

Сообщение maks-im2 » Чт дек 02, 2010 4:06 am

alxyppv, вы писали о том, как можно визуализировать изменение электронной плотности при конкретном переходе для PC-Gamess, а не подскажите, как это сделать для US-Gamess?

alxyppv
Сообщения: 560
Зарегистрирован: Сб апр 07, 2007 11:23 am

Re: GAMMES для расчета УФ-спектров

Сообщение alxyppv » Чт дек 02, 2010 1:29 pm

честно говоря, я не в курсе - с US-Gamess не работал. PC-Gamess и US-Gamess во многом схожи, можте быть и эта функция у них общая. Но может и нет - мануал Вам поможет, такого рода опция обязательно должна быть.
А.П.

rebel
Сообщения: 31
Зарегистрирован: Ср дек 01, 2010 5:57 pm

Re: GAMMES для расчета УФ-спектров

Сообщение rebel » Чт дек 02, 2010 7:09 pm

Спасибо все заработало. Проблема возникло в другой области. Я решил просчитать спектр в симметрии D2h, Задал группу и после нее указал список атомов в декартовых координатах. У меня выходит следующая ошибка.
**** ERROR READING VARIABLE X0 CHECK COLUMN 1
HYDROGEN 1.0 0.000000000 0.000000000 1.102887000
....V....1....V....2....V....3....V....4....V....5....V....6....V....7....V....8

Другими словами после первого атома водорода, появляется что-то, что мне не понятно. В симметрии C1 было все нормально, но естественно спектр был другой. Важно получить симметрию возбужденных состояний.

alxyppv
Сообщения: 560
Зарегистрирован: Сб апр 07, 2007 11:23 am

Re: GAMMES для расчета УФ-спектров

Сообщение alxyppv » Пт дек 03, 2010 12:03 am

будет проще, если Вы кинете сюда хотя бы геометрию, или сам входной файл - тогда будет проще проверить что не так, чем гадать на кофейной гуще. Вы когда симметрию указали, координаты потом привели для всех атомов, или только для симметрийно-неэквивалетных? По умолчанию должны быть координаты только неэквивалентных, остальные потом будут получены операциями симметрии. Если же в таком случае привести все атомы, то придействии операций симметрии Вы получите совсем не то, что хотите. В таком случае, правда, в сообщении об ошибке говорится что есть атомы на слишком маленьком расстоянии. У Вас, кажется, что-то другое...
А.П.

Аватара пользователя
Kobychevv
Сообщения: 10
Зарегистрирован: Вт янв 26, 2010 8:12 am

Re: GAMMES для расчета УФ-спектров

Сообщение Kobychevv » Пт дек 03, 2010 2:23 am

А Вы не забыли выставить ПУСТУЮ строку между обозначением группы и набором координат?

rebel
Сообщения: 31
Зарегистрирован: Ср дек 01, 2010 5:57 pm

Re: GAMMES для расчета УФ-спектров

Сообщение rebel » Пт дек 03, 2010 11:54 am

У меня молекула порфина(38 атомов) симметрия d2h. Я как понимаю. что я должен задать всего 19 атомов и написать units=uinique? Атомы заданы в декартовых координатах.

Аватара пользователя
amge
Сообщения: 2046
Зарегистрирован: Вт июл 31, 2007 11:42 am

Re: GAMMES для расчета УФ-спектров

Сообщение amge » Пт дек 03, 2010 12:18 pm

Вот пример порфирина.

Код: Выделить всё

  $contrl coord=unique icharg=0 mult=1 scftyp=RHF maxit=100
   nzvar=108 ispher=+1 mplevl=0 runtyp=optimize exetyp=run $end
  $system timlim=3000 mwords=32 memddi=8 $end
  $statpt hess=guess nstep=300 $end
  $basis  gbasis=n31 ngauss=6 ndfunc=1 $end
  $dft dfttyp=B3LYP $end
  $zmat dlc=.t. auto=.t. $end
  $scf dirscf=.t. $end
  $guess guess=huckel $end
  $data
  
  Dnh 2

  C    6.0   0.692  -4.211   0.000
  C    6.0  -1.103  -2.880   0.000
  N    7.0   0.000  -2.104   0.000
  C    6.0   4.193   0.693   0.000
  C    6.0   2.864  -1.112   0.000
  N    7.0   2.103   0.000   0.000
  C    6.0   2.441  -2.452   0.000
  H    1.0   1.291  -5.039   0.000
  H    1.0   5.021   1.293   0.000
  H    1.0   1.137   0.000   0.000
  H    1.0   3.166  -3.175   0.000
  $end
ЗЫ Почему то в тексте кода форум съедает пробел в начале строки, но только когда он один. Не очень понятная фича.

rebel
Сообщения: 31
Зарегистрирован: Ср дек 01, 2010 5:57 pm

Re: GAMMES для расчета УФ-спектров

Сообщение rebel » Пт дек 03, 2010 4:09 pm

Спасибо, все заработало. Вот только возник другой вопрос.
1.Какой лучше базис использовать в методе TDFT (функционал PBE96) для расчета возбужденных состояний молекул(от 38 до 120 атомов)? Я использовал два базиса TZV и DZV, но не уверен на сколько это правильно.
2. Ниже приводятся мои начальные данные без геометрии.
$CONTRL SCFTYP=RHF RUNTYP=ENERGY DFTTYP=PBE96 D5=.T. CITYP=TDDFT UNITS=ANG $END
$BASIS GBASIS=DZV $END
$SCF DIRSCF=.T. FDIFF=.T. DIIS=.T. SOSCF=.F. $END
$SYSTEM TIMLIM=600000 MEMORY=80000000 $END
$TDDFT NSTATE=20 ISTATE=1 $END
$CUBE CUBE=.T. MESH=fine $END
$ELDENS IEDEN=1 spind=.f. diffd=.t. skiphf=.t. $END
Хотелось узнать подробно про ключ SCFTYP=RHF. На сколько коректно использовать здесь RHF? Можно ли использовать что-то другое для расчета возубжденных состояний? Имеется в виду, чтобы повысить точность расчета.

VTur
Сообщения: 7357
Зарегистрирован: Пт авг 31, 2007 1:36 pm

Re: GAMMES для расчета УФ-спектров

Сообщение VTur » Пт дек 03, 2010 10:30 pm

maks-im2 писал(а):alxyppv, вы писали о том, как можно визуализировать изменение электронной плотности при конкретном переходе для PC-Gamess, а не подскажите, как это сделать для US-Gamess?
Что имеется в виду?
После отстоя требуйте долива

alxyppv
Сообщения: 560
Зарегистрирован: Сб апр 07, 2007 11:23 am

Re: GAMMES для расчета УФ-спектров

Сообщение alxyppv » Сб дек 04, 2010 5:16 am

rebel писал(а):1.Какой лучше базис использовать в методе TDFT (функционал PBE96) для расчета возбужденных состояний молекул(от 38 до 120 атомов)? Я использовал два базиса TZV и DZV, но не уверен на сколько это правильно.
по моему скромному опыту, результат будет слабо зависеть от базиса - у меня получалось, что при его изменении энергии систематически менялись на небольшую величину (скажем, 0.05 эВ), не более. На мой взгляд, базис типа TZV (я так понимаю, поляризационные функции там оже имеются...) должен быть вполне достаточным. Проблема здесь не в базисе, а в фунционалах - у чистого GGA могут быть серьезные проблемы с заниженем энерегий некоторых типов переходов. Лучше бы гибридные использовать - но это гораздо дороже, особенно если Вас интересуют системы под 100 атомов

rebel писал(а):Хотелось узнать подробно про ключ SCFTYP=RHF. На сколько коректно использовать здесь RHF? Можно ли использовать что-то другое для расчета возубжденных состояний? Имеется в виду, чтобы повысить точность расчета.
Если Ваша молекула в исходном состоянии нормально описывается закрытыми оболочками, то RHF Вам и нужен (можете ради инереса попробовать UHF, все равно придете к тому же решению, что и RHF).

Кстати, раз уж о симметрии идет речь, строка во входном файле должна быть такой

$TDDFT NSTATE=20 ISTATE=1 ISTSYM=N $END

где N - номер неприводимого представления. Если Вы проводите расчет с использованием симметрии, то для полученяи полного спектра надо пройтись по всем возможным N.
А.П.

Аватара пользователя
Lantano
Сообщения: 186
Зарегистрирован: Чт окт 09, 2008 10:35 pm

Re: GAMMES для расчета УФ-спектров

Сообщение Lantano » Сб дек 04, 2010 8:37 am

alxyppv писал(а): (можете ради инереса попробовать UHF, все равно придете к тому же решению, что и RHF).
В порфиринах не всё так просто. Может и не совпасть.
"Если миру не нужен свет - Не беда, проживёт и так.
Если стал не нужен поэт - Не беда, он наймётся в кабак..."

Ответить

Вернуться в «квантовая химия и моделирование»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 12 гостей