Метод CASSCF и его производные

Метод CASSCF [Complete Active Space Self-Consisted Field] является, с одной стороны, ограниченной версией метода MCSCF, а с другой – расширением метода CASCI.

В чем же состоят эти «ограничение» и «расширение»?

  • CASSCF и MCSCF

В отличие от полноценного метода MCSCF метод CASSCF учитывает только часть конфигураций ввиду ограниченного набора орбиталей, участвующих в их генерации, который, как и в методе CASCI, именуется активным пространством.

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

Так как в методе CASSCF число учитываемых конфигураций значительно меньше, чем в MCSCF, то учёт корреляции (как динамической, так и статической) является значительно менее полным. Однако, как правило, большую часть вклада в статическую корреляцию вносит относительно небольшое число конфигураций, поэтому потери в полноте её учёта при переходе от MCSCF к CASSCF невелики.

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

  • CASSCF и CASCI

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

Такая процедура оптимизации значительно затратнее той, что используется в методе CASCI, из-за чего метод CASSCF применим либо для систем более скромного размера, либо для тех же систем, но с меньшим активным пространством, что влечёт снижение уровня учёта динамической корреляции.

  • Итого:

Метод CASSCF сочетает в себе преимущества и недостатки методов MCSCF и CASCI, что делает его наиболее полезным при описании среднеразмерных систем с ярко выраженной статической корреляцией.

Итак, в GAMESS (US) для выбора метода CASSCF или любого его производного необходимо:

  • Установить значение SCFTYP=MCSCF в группе $CONTRL.

  • Выбрать то или иное значение параметра CISTEP в группе $MCSCF.

  • В соответствии с ним установить необходимые значения параметров в группах $DET, $ORMAS, $GEN или $DRT.

Рассмотрим значения параметра CISTEP в группе $MCSCF:

Значение CISTEP=ALDET выбирает классический метод CASSCF. Для метода CASSCF доступно аналитическое вычисление градиента и гессиана. Активное пространство настраивается в группе $DET аналогично тому, как это делается для метода CASCI. Ниже перечислены пояснения к параметрам, которые справедливы и для CASCI, но в более сжатой форме:

Число орбиталей, дважды заселённых во всех конфигурациях, (остовных орбиталей) задаётся параметром NCORE.

Число активных орбиталей задаётся параметром NACT.

Число активных электронов задаётся параметром NELS.

Параметр SZ задаёт суммарный спин электронов системы, делённый на \(\frac{\hbar}{2}\). То есть, он выполняет ту же функцию, что и параметр MULT в группе $CONTRL (из которого и берётся значение по умолчанию).

Значения этих параметров связаны по формуле: MULT \(=2\cdot|\) SZ \(|+1\)

Важно

Строго говоря, в MCSCF суммарный спин не обязательно должен быть одинаковым для всех конфигураций. В GAMESS (US) установленное по умолчанию значение PURES=.TRUE. в группе $DET, исключает из расчёта конфигурации со спином, несоответствующим значению параметра SZ.

_images/CASSCF.png

Таким образом, задача активного пространства в методе CASSCF может выглядеть, например, следующим образом:

 $DET
NCORE=50                       !50 остовных орбиталей
NACT=10                        !10 орбиталей в активном пространстве
NELS=10                        !10 электронов в активном пространстве
SZ=0.0                         !Суммарный спин электронов равен нулю
 $END

Число рассчитываемых конфигураций, включая референтную, задаётся параметром NSTATE, но не более NSTATE=100 (по умолчанию NSTATE=1).

Точечную группу симметрии состояния системы устанавливается параметром GROUP. По умолчанию, используется точечная группа симметрии из группы $DATA. Но если в группе $DATA установлена точечная группа симметрии, отличная от групп \(C_{1}\), \(C_{s}\), \(C_{i}\), \(C_{2}\), \(C_{2v}\), \(C_{2h}\), \(D_{2}\) и \(D_{2h}\), то устанавливается группа \(C_{1}\).

Всего для данного параметра доступно 8 значений: GROUP=C1, CS, CI, C2, C2V, C2H, D2 и D2H, каждое из которых задаёт одноимённую точечную группу симметриию.

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

Ниже рассмотрены параметры, которые отсутствуют при настройке метода CASCI или же их возможности отличаются.

Массив WSTATE определяет вклад каждой конфигурации в усреднённое состояние системы (SA), число его значений не больше значения параметра NSTATE. По умолчанию вес первой конфигурации равен единице, а всех остальных – нулю. Градиентные SA-расчёты доступны только при установке дополнительного значения PURES=.TRUE..

Примечание

При установке значения PURES=.FALSE. к «обычным» конфигурациям могут добавляться те, что имеют другую мультиплетность, но для этого необходимо, чтобы значение параметра NSTATE было установлено большим, чем число значений массива WSTATE. В остальных же случаях они равны.

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

В данном случае параметр WSTATE определяет только то, какие конфигурация учитываются (значения, соответствующие им, не равны нулю), а какие – нет (им соотстветствуют нулевые значения).

По умолчанию IDWREF=0, то есть данная функция отключена.

Внимание

Так как в методе CASSCF все конфигурации равноправны, то среди них нет «основной», а значит самая низкая по энергии конфигурация обозначается не нулевой, а первой. Поэтому, чтобы выбрать конфигурацию с самой низкой энергией целевой, нужно установить значение IDWREF=1, а не IDWREF=0.

Значение IDWREF=0 является значением по умолчанию, отключающим данную функцию.

Параметр IROOT определяет, для какой конфигурации в дальнейшем будут рассчитаны градиент и прочие свойства. По умолчанию установлено IROOT=0 – данное значение соответствует выбору усреднённого (по всем конфигурациям) состояния (SA). При выборе конфигурации параметром IROOT игнорируются все конфигурации, отсекаемые значением PURES=.TRUE., а также те конфигурации, для которых установлен нулевой вес.

Значение CISTEP=ORMAS выбирает метод ORMASSCF (по аналогии с ORMASCI). Для метода ORMASSCF доступно аналитическое вычисление градиента и гессиана. Данный метод настраивается в группах $DET и $ORMAS:

В группе $DET осуществляется задача активного пространства аналогично тому как это делается для метода CASSCF.

Вазбиение активного пространства на подпространства настраивается в группе $ORMAS, аналогично тому как это делается для метода ORMASCI:

Число подпространств устанавливается параметром NSPACE.

Число орбиталей в каждом подпространстве задаётся с помощью параметра MSTART. Данный параметр задаёт массив из номеров первых орбиталей подпространств (см. пример ниже).

Минимальное количество электронов в каждой группе задаётся в виде массива параметром MINE.

Максимальное количество электронов в каждой группе задаётся в виде массива параметром MAXE.

Задача подпространств в методе ORMASSCF может выглядеть, например, следующим образом:

 $DET
NCORE=50                       !50 остовных орбиталей
NACT=10                        !10 орбиталей в активном пространстве
NELS=8                         !10 электронов в активном пространстве
SZ=0.0                         !Суммарный спин электронов равен нулю
 $END
 $ORMAS
NSPACE=3                       !Три подпространства
MSTART(1)=   51,   54,   58,   !Орбитали подпространств: 51–53, 54–57 и 58–60
MINE(1)=      2,    0,    0,   !Количество электронов в подпространствах:
MAXE(1)=      6,    4,    2,   !2–6, 0–8 и 0–2
 $END                          !Верхнаяя граница последнего: NCORE+NACT=60

Схема структуры активного пространства в примере выше выглядит следующим образом:

_images/RASSCF.png

Внимание

Параметры NSPACE, MSTART, MINE и MAXE имеют значения по умолчанию, но им необходима «ручная» настройка, так как значения по умолчанию, фактически, преобразуют метод ORMASSCF в CASSCF.

Примечание

В примере выше приведён частный случай метода ORMASSCFRASSCF: в нём активное пространство разбивается на 3 подпространства. При этом во втором подпространстве отсутствуют ограничения на число электронов.

Важно

Стоит отметить, что методы MR-CIS и MR-CISDэто не частные случаи метода ORMASSCF.

Чем же отличается данный случай от похожего для метода ORMASCI? Рассмотрим на аналогичном примере:

 $DET
NCORE=46                 !46 остовных орбиталей
NACT=24                  !24 орбитали в активном пространстве
NELS=8                   !8  электронов в активном пространстве
SZ=0.0
 $END
 $ORMAS
NSPACE=2                 !Два подпространства
MSTART(1)=   47,   51,   !Орбитали подпространств: 47–50 и 51–70
MINE(1)=      6,    0,   !Количество электронов в подпространствах:
MAXE(1)=      8,    2,   !6–8 и 0–2
 $END                    !Верхнаяя граница последнего: NCORE+NACT=70

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

Это означает, что среди конфигураций нет «возбуждённых» (оптимизируемых в стиле CI), как в методах MR-CIS и MR-CISD.

На практике это сильно ограничивает практический размер активного пространства и его подпространств, так как MCSCF намного затратнее CI. В частности, в примере выше оно абсурдно велико.

Из-за этого данный метод не позволяет столь полно учитывать динамическую корреляцию, как методы MR-CIS и MR-CISD. Учёт же статической корреляции, разумеется, полнее, но он гораздо больше зависит от того, какие именно конфигурации входят в активное пространство, а не от их количества.

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

В общем и целом, ORMASSCF невероятно гибок и прекрасно подходит для учёта статической корреляции, но он не приспособлен для точного учёта динамической корреляции, как, например, метод MR-CISD.

Значение CISTEP=GENCI выбирает метод MCSCF с «ручным» вводом учитываемых конфигураций (по аналогии с CITYP=GENCI для CI). Для данного значения доступно аналитическое вычисление градиента. Настройка данного метода производится в группах $GEN и $GCILST полностью аналогично тому как это делается для CI.

Группа $GEN имеет то же наполнение, что и группа $DET, за исключением нескольких дополнительных параметров:

Параметр GLIST определяет откуда GAMESS (US) будет считывать список используемых конфигураций:

  • Значение GLIST=EXTRNL означает, что они будут считываться из файла на диске, полученного в ходе предыдущего расчёта.

  • Значение GLIST=INPUT означает, что конфигурации будут формироваться на основе прямого ввода в группе $GCILST.

  • Значение GLIST=SACAS означает, что конфигурации будут формироваться на основе значений параметра IRREPS.

В последнем случае параметр IRREPS задаёт массив числовых значений, каждое из которых соответствует неприводимому представлению следующим образом:

Соответствие неприводимых представлений и значений параметра IRREPS

Точечная

группа

симметрии

IRREPS=

1

2

3

4

5

6

7

8

\(C_{1}\)

\(A\)

\(C_{s}\)

\(A'\)

\(A''\)

\(C_{i}\)

\(A_{g}\)

\(A_{u}\)

\(C_{2}\)

\(A\)

\(B\)

\(C_{2v}\)

\(A_{1}\)

\(A_{2}\)

\(B_{1}\)

\(B_{2}\)

\(C_{2h}\)

\(A_{g}\)

\(B_{u}\)

\(B_{g}\)

\(A_{u}\)

\(D_{2}\)

\(A\)

\(B_{1}\)

\(B_{2}\)

\(B_{3}\)

\(D_{2h}\)

\(A_{g}\)

\(B_{1g}\)

\(B_{2g}\)

\(B_{3g}\)

\(A_{u}\)

\(B_{1u}\)

\(B_{2u}\)

\(B_{3u}\)

Таким образом, массив значений параметра IRREPS задаёт набор неприводимых представлений. Конфигурации, соответствующие им, включаются в расчёт методом MCSCF. А значит, с помощью параметра IRREPS можно по неприводимым представлениям отобрать требуемые конфигурации для проведения расчёта методом MCSCF.

В случае значения GLIST=INPUT конфигурации вводятся с помощью группы $GCILST. Группа $GCILST – форматированная и заполняется следующим образом:

В строке первого типа содержатся значения параметров NSPACE и ISYM. Первых из них задаёт число различных распределений электронов по орбиталям, используемых в расчёте (оно не всегда равно числу конфигураций).

Второй при значении 0 (установлено по умолчанию и может быть опущено) заставляет GAMESS (US) проверять введённые конфигурации на соответствие значению параметра STSYM в группе $GEN. При значении 1 он допускает наличие конфигураций с различной симметрией. Значение 2 аналогично 1, но увеличивает объём информации, выводимой в выходной файл.

Строки второго типа задают число электронов на каждой орбитали в активном пространстве. Каждая строка второго типа задаёт своё распредение электронов по орбиталям. Значения могут быть только 0, 1 или 2 (по числу электронов по орбиталям). Число таких значений равно значению параметра NACT в группе $GEN.

Задача конфигураций с помощью группы $GCILST может быть выглядеть, например, следующим образом:

 $GEN
NCORE=46
NACT=4
NELS=4
SZ=0.0
GROUP=C1
STSYM=A
GLIST=INPUT
 $END
 $GCILST
9 0
1 1 1 1
2 2 0 0
2 0 2 0
2 0 0 2
2 1 1 0
2 1 0 1
2 0 1 1
1 2 1 0
1 2 0 1
 $END

В данном случае задаётся 9 различных распределений электронов по орбиталям, но конфигураций в расчёте будет использоваться 17.

Дело в том, что в последних пяти распределениях присутствуют неспаренные электроны. Данные электроны имеют противоположные спины, так как в сумме они дают ноль (SZ=0.0). Поэтому их перестановка, хоть и не меняет распределение электронов по орбиталям, но добавляет дополнительную конфигурацию.

В первом распределении четыре неспаренных электрона, но их суммарный спин равен нулю, поэтому на четырёх орбиталях располагается два электрона со спином \(+\frac{1}{2}\hbar\) и два электрона со спином \(-\frac{1}{2}\hbar\). Всего существует шесть различных вариантов размещения данных электронов по орбиталям (при таком распределении), поэтому данное распределение добавляет ещё пять конфигураций.

_images/GENSCF.png

В итоге первое распределение вводит шесть конфигураций, следующие три – по одной, а последние пять – по две, что в сумме и даёт 19.

Важно

Все вышеперечисленные реализации метода MCSCF основаны на представлении конфигураций в виде определителей Слэтера (SD). Ниже рассмотрена реализация метода MCSCF на основе функций конфигурационного состояния (CSF).

Использование CSF является более строгим и точным подходом к описанию системы по сравнению с использованием SD, но при этом и более дорогим.

При этом, в GAMESS (US) данный подход имеет ещё одно преимущество: он позволяет задавать методы MR-CIS и MR-CISD, но без всяких оговорок, что были многократно упомянуты выше.

Примечание

Так как методы MR-CIS и MR-CISD являются многореферентными, их рассмотрение продублировано в следующем разделе.

Значение CISTEP=GUGA позволяет проводить расчёты методами CASSCF, MR-CIS и MR-CISD. Доступно аналитическое вычисление градиента. Выбор метода и его общая настройка производится в группе $DRT:

Выбор метода осуществляется с помощью флагов FORS, FOCI и SOCI, при этом:

  • При значении SOCI=.TRUE. будет выбран метод MR-CISD, иначе:

  • При значении FOCI=.TRUE. будет выбран метод MR-CIS, иначе:

  • При значении FORS=.TRUE. будет выбран метод CASSCF.

Альтернативный способ выбора метода – это использование параметра IEXCIT, значения которого:

  • IEXCIT=2 эквивалентно SOCI=.TRUE..

  • IEXCIT=1 эквивалентно FOCI=.TRUE..

  • IEXCIT=0 эквивалентно FORS=.TRUE..

Важно

Параметры FORS, FOCI, SOCI и IEXCIT не имеют значений по умолчанию.

Параметры GROUP и STSYM полностью аналогичны таковым в группе $CIDRT.

Активное пространство настраивается с помощью следующих параметров:

Примечание

В отличие от производных метода CI, ниже речь идёт о начальной референтной конфигурации, из которой генерируются остальные референтные конфигурации.

Число орбиталей, дважды заселённых во всех конфигурациях задаётся параметром NMCC (а не NFZC, как в CI).

Число орбиталей активного пространства, дважды заселённых в начальной конфигурации, задаётся параметром NDOC.

Число орбиталей активного пространства, заселённых только электронами со спином \(-\frac{1}{2}\hbar\) в начальной конфигурации, задаётся параметром NBOS.

Число орбиталей, заселённых только электронами со спином \(+\frac{1}{2}\hbar\) задаётся параметрами NAOS и NALP (их число равно сумме значений данных параметров), где значение параметра NAOS равно значению параметра NBOS.

Число незаселённых орбиталей в активном пространстве задаётся параметром NVAL.

Число внешних орбиталей, используемых для генерации возбуждённых конфигураций методами MR-CIS и MR-CISD, задаётся параметром NEXT. При установке значения NEXT=-1 будут использованы все внешние орбитали.

При этом, с помощью параметра NFZV можно установить число внешних орбиталей, которые не будут использоваться в генерации конфигураций, даже при значении NEXT=-1 (орбитали для параметра NFZV отсчитываются «сверху», а не «снизу»).

Таким образом, задача активного пространства в методе CASSCF на основе CSF может выглядеть, например, следующим образом:

 $DRT
FORS=.TRUE.
NMCC=50             !50 остовных орбиталей
NDOC=5              !5 дважды заселённых орбиталей в активном пространстве
NVAL=5              !5 свободных орбиталей в активном пространстве
 $END

Или, например, более сложный случай:

 $DRT
FORS=.TRUE.
NMCC=50             !50 остовных орбиталей
NDOC=4              !4 дважды заселённые орбитали
NALP=2              !2 орбитали, заселённые только альфа-электронами
NVAL=4              !4 свободные орбитали
 $END               !Итого, мультиплетность системы: MULT=2*(2*0,5)+1=3

Число рассчитываемых конфигураций в методах MR-CIS и MR-CISD, включая референтную, задаётся параметром NSTATE в группе $GUGDIA, но не более NSTATE=100 (по умолчанию NSTATE=1).

Параметр IROOT в группе $GUGDM2 определяет, энергия какой конфигурации будет выбрана в качестве целевой, данное значение особенно важно для градиентных расчётов. По умолчанию установлено значение IROOT=0, что означает выбор энергии усреднённого состояния (SA).

Вес каждой конфигурации (то есть её вклад) в усреднённое состояние системы (SA) задаётся массивом WSTATE в группе $GUGDM2, число значений которого равно значению параметра NSTATE. По умолчанию вес первой конфигурации равен единице, а всех остальных – нулю.

Итого, задача активного пространства в методе MR-CISD может выглядеть, например, таким образом:

 $DRT
SOCI=.TRUE.
NMCC=50             !50 остовных орбиталей
NDOC=4              !4 дважды заселённые орбитали
NALP=2              !2 орбитали, заселённые только альфа-электронами
NVAL=4              !4 свободные орбитали
NEXT=20             !20 внешних орбиталей
 $END               !Мультиплетность системы: MULT=2*(2*0,5)+1=3