Пара вопросов по базисам

вопросы строения молекул и квантовой химии
Ответить
Kirchern
Сообщения: 76
Зарегистрирован: Ср янв 16, 2008 9:56 am

Пара вопросов по базисам

Сообщение Kirchern » Чт апр 02, 2009 5:02 am

Такой вопрос, может кто, что посоветует: как создаются базисные наборы? есть ли для этого какой-нибудь инструментарий?
И еще, насколько я понимаю, любой расчет проходит через стадию самосогласования (SCF), при этом варьируются коэффициенты в базисных наборах. Так вот, можно ли как-то посмотреть какими стали эти коэффициенты после сведения SCF'а?

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

Re: Пара вопросов по базисам

Сообщение VTur » Чт апр 02, 2009 8:41 pm

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

Darth Vasya
Сообщения: 426
Зарегистрирован: Чт май 24, 2007 1:54 pm

Re: Пара вопросов по базисам

Сообщение Darth Vasya » Чт апр 02, 2009 11:45 pm

Вообще, тема базисов ужасно увлекательна. Можно выделить два основных подхода.

1) "Систематические" базисные наборы. Плоские волны, вейвлеты (всплески), конечные элементы, сплайны.

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

2) Базисные наборы, выбираемые из каких-то дополнительных соображений, призванных уменьшить размер базиса.

Обычно цепочка приближений тут начинается с того, что раз молекула состоит из атомов (что, само собой, неверно :)), предлагается использовать "атомные орбитали". Далее от этого этапа обычно сразу "в уме" переходят к следующему: Слэтеровские орбитали (единственный кусочек сомнительной тверди во всех этих ваших МО ЛКАО) заменяются на какие-то другие функции, призванные в том или ином смысле приближённо их описывать.

а) Гауссовы функции - именно о них, полагаю, и был вопрос. Из плюсов: аналитическое вычисление интегралов, что позволяет избежать численных трудностей при интегрировании вблизи ядра, где волновые функции быстро меняются. Из минусов: гадкая асимптотика при удалении от ядер. Традиционно принято было для уменьшения количества вычислений использовать "сжатые" (contracted) функции - фиксированные линейные комбинации из нескольких гауссиан - это частично помогает побороть асимптотику при сравнительно небольшом удорожании расчёта (надо считать больше интегралов, но размерность уравнений при этом не растёт). Это и есть ваше "варьирование коэффициентов", только проделанное заранее (обычно - в расчётах изолированных атомов). Про эксперименты с варьированием коэффициентов базиса (как в линейной комбинации, так и в экспонентах гауссиан) уже в исследуемой молекуле "на лету" не слышал, почему-то этого не делают, что совершенно не означает, что этого не стоит делать - может, просто руки ни у кого не доходили.

б) Численные (псевдо)атомные орбитали - базисные функции задаются в виде значений радиальной части на сетке точек, которые домножаются на соответствующие сферические гармоники. Из минусов: трудности при описании волновой функции вблизи ядра (необходимо использовать то, что твердотельщики называют псевдопотенциалами, а химики - эффективными потенциалами остова [effective core potentials], со всеми многочисленными вытекающими). Из плюсов: полный произвол в радиальной части -> нет гадкой асимптотики -> можно сильно сократить количество функций. Дальше можно несколько функций объединить в линейную комбинацию (аналогично "сжатым" гауссовым базисам) и вариационно оптимизировать коэффициенты ЛК "на лету" - из известных мне пакетов это умеет делать OpenMX. Даже и без такой оптимизации получается очень экономично в плане размерности уравнений.

в) Разное. :)

Инструментарий для "несистематических" базисов, конечно же, имеется, а также - элементарно пишется своими руками. Вам понадобится:
- умение задавать произвольный базисный набор в вашем любимом пакете,
- способность запрограммировать симплексную оптимизацию на python, perl или хотя бы bash (C/fortran тоже можно, но ради одной такой задачки возиться с ними не стоит :)),
- знание формулировки соответствующего вариационного принципа.

Всё. 8)

--
На практике заморачиваться с базисами обычно не стоит, просто увеличивайте себе размерность базиса до тех пор, пока время на один расчёт не станет непозволительно большим - а отсюда уже берите свои рамки погрешности (и если те окажутся слишком большими, ищите более мощный компьютер). Если есть выбор из нескольких базисов сравнимой размерности, как обычно бывает с гауссианами, - попробуйте все и выберите тот, который даёт более низкие полные энергии. Ни в коем случае не выбирайте базис по принципу "что лучше согласуется с экспериментом": это самообман.

Hope this helps (someone) 8)
Плохо зная грамматику, сложные конструкции должны употребляться с осторожностью.

pokoleg
Сообщения: 804
Зарегистрирован: Пн май 19, 2008 2:30 pm

Re: Пара вопросов по базисам

Сообщение pokoleg » Пт апр 03, 2009 4:44 pm

Darth Vasya писал(а): Если есть выбор из нескольких базисов сравнимой размерности, как обычно бывает с гауссианами, - попробуйте все и выберите тот, который даёт более низкие полные энергии. Ни в коем случае не выбирайте базис по принципу "что лучше согласуется с экспериментом": это самообман.

Можно с этого места поподробнее? Почему самообман? Почему стоит ориентироваться именно на низость полных энергий?

Darth Vasya
Сообщения: 426
Зарегистрирован: Чт май 24, 2007 1:54 pm

Re: Пара вопросов по базисам

Сообщение Darth Vasya » Пт апр 03, 2009 5:24 pm

По вариационному принципу. Базисный набор тем "лучше" (полнее), чем ближе он позволяет приблизиться к точному решению вычислительной задачи. Поскольку в случае ССП и прочего задачей является минимизация энергии, очевидно, что чем ниже энергия, тем ближе мы приблизились к точному решению. (На самом деле, не всегда всё так просто, но в первом приближении примерно так.)

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

Физика заканчивается на уровне выбора физического приближения, вот разные методы (DFT/HF/CIx/MPx/CCx...) можно отбирать по принципу "даёт лучшее согласие с экспериментом". После этого этапа все сравнения с экспериментом теряют смысл, дальше существует только выбранная теория, соответствующий ей точный ответ и наша способность численно получить к нему приближение.
Плохо зная грамматику, сложные конструкции должны употребляться с осторожностью.

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

Re: Пара вопросов по базисам

Сообщение VTur » Пт апр 03, 2009 6:26 pm

Вот старая статья о базисах
базиса для молекулярных расчетов.pdf
Самосогласование и есть варьирование коэффициентов.
А есть еще функции Кулиджа. Есть еще косвенный учёт межэлектронных расстояний (см. R12).
После отстоя требуйте долива

Ответить

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

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

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