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

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Пакет ALPS (Algorithms and libraries for Physics Simulation) - это программное обеспечение, позволяющее моделировать сильно коррелированные квантовомеханические системы с моделями решеток. Этот программный пакет свободно распространяется, управление происходит с помощью команд на языке Python. Пользователь составляет задание в формате данных XML, указывая в нем необходимые для расчета параметры. Программа позволяет проводить параллельное или последовательное численное моделирование с использованием методов Монте-Карло, точной диагонализации, метода ренормализационной группы матрицы плотности (DMRG).

Модели, определенные по умолчанию

Структура файла модели

<MODEL>

#Определение базисных состояний на узле:

<SITEBASIS name="..."> #условное обозначение базиса

...#описание

</SITEBASIS>

#Определение базиса на решетке:

<BASIS name="..."> #условное обозначение базиса

... #описание

</BASIS>

#Определение Гамильтониана:

<HAMILTONIAN name="…"> #условное обозначение Гамильтониана

... #описание

</HAMILTONIAN>

</MODEL>

Определение базисных состояний на узле

Атрибуты квантовых чисел:

ь min и max для квантового числа N:

ь type: bosonic (the default) or fermionic

Пример 1:

<SITEBASIS name="hardcore boson">

<QUANTUMNUMBER name="N" min="0" max="1"/> #описание квантового числа N

</SITEBASIS>

Пример 2:

Спин Ѕ на узле.

<SITEBASIS name="spin-1/2">

<QUANTUMNUMBER name="S" min="1/2" max="1/2"/> #описание квантового числа S

<QUANTUMNUMBER name="Sz" min="-1/2" max="1/2"/> #описание квантового числа Sz

</SITEBASIS>

Пример 3:

Фермион на узле.

<SITEBASIS name="fermion">

<QUANTUMNUMBER name="Nup" min="0" max="1" type="fermionic"/> #кв. число Nup

<QUANTUMNUMBER name="Ndown" min="0" max="1" type="fermionic"/> #кв. число Ndown

</SITEBASIS>

Введение параметров (определяем имя и значение по умолчанию):

<SITEBASIS name="boson">

<PARAMETER name="Nmax" default="infinity"/> #параметр Nmax

<QUANTUMNUMBER name="N" min="0" max="Nmax"/>

</SITEBASIS>

<SITEBASIS name="spin">

<PARAMETER name="local_spin" default="1/2"/>

<QUANTUMNUMBER name="S" min="local_spin" max="local_spin"/>

<QUANTUMNUMBER name="Sz" min="-S" max="S"/>

</SITEBASIS>

Определение через число частиц и спин:

<SITEBASIS name="t-J">

<QUANTUMNUMBER name="N" min="0" max="1" type="fermionic"/>

<QUANTUMNUMBER name="S" min="N/2" max="N/2"/>

<QUANTUMNUMBER name="Sz" min="-S" max="S"/>

</SITEBASIS>

Определение через число частиц спинов вверх и вниз:

<SITEBASIS name="alternative t-J">

<QUANTUMNUMBER name="Nup" min="0" max="1" type="fermionic"/>

<QUANTUMNUMBER name="Ndown" min="0" max="1-Nup" type="fermionic"/>

</SITEBASIS>

Определение решетки

Определение через ссылку на предопределенный базис узла:

<BASIS name="spin">

<SITEBASIS ref="spin"/>

</BASIS>

Определение базиса узла вместе с решеткой:

<BASIS name="spin">

<SITEBASIS name="spin-1">

<QUANTUMNUMBER name="S" min="1" max="1"/>

<QUANTUMNUMBER name="Sz" min="-1" max="1"/>

</SITEBASIS>

</BASIS>

Решетка с базисом:

<BASIS name="Kondo lattice">

<SITEBASIS type="0" ref="fermion"/> #узел типа "fermion"

<SITEBASIS type="1" ref="spin-1/2"/> #узел типа "spin-1/2"

</BASIS>

<BASIS name="spin">

<SITEBASIS type="0" ref="spin">

<PARAMETER name="local_spin" value="local_S0"/>

<PARAMETER name="local_S0" value="local_S"/>

<PARAMETER name="local_S" value="1/2"/>

</SITEBASIS>

<SITEBASIS type="1" ref="spin">

<PARAMETER name="local_spin" value="local_S1"/>

<PARAMETER name="local_S1" value="local_S"/>

<PARAMETER name="local_S" value="1/2"/>

</SITEBASIS>

</BASIS>

Операторы на узлах решетки

Оператор определяется через: имя, матричный элемент и изменение квантового числа.

Simple site operators

гильбертово пространство хаббард цепочка

Наш случай

Параметры Гамильтониана:

1. Модель "fermion Hubbard":

Бесконечные двумерные решетки

Пример 1. Два базисных вектора с координатами (1;0) и (0.5;1).

<LATTICE name="2D" dimension="2">

<BASIS>

<VECTOR> 1 0 </VECTOR>

<VECTOR> 0.5 1 </VECTOR>

</BASIS>

</LATTICE>

Пример 2. Два базисных вектора с координатами (a;0) и (b sin; b cos).

<LATTICE name="2D" dimension="2">

#Определение параметров:

<PARAMETER name="a" default="1"/>

<PARAMETER name="b" default="1"/>

<PARAMETER name="phi" default="Pi/2"/>

#Определение элементарной ячейки:

<BASIS>

<VECTOR> a 0 </VECTOR>

<VECTOR> b*sin(phi) b*cos(phi) </VECTOR>

</BASIS>

</LATTICE>

Конечные двумерные решетки

Пример 1. Решетка 5x3.

<FINITELATTICE name="5x3">

<LATTICE name="2D" dimension="2"/>

<EXTENT dimension="1" size="5"/> #5 ячеек по x

<EXTENT dimension="2" size="3"/> #3 ячеек по x

</FINITELATTICE>

Пример 2. Решетка 4x4.

<FINITELATTICE>

<LATTICE dimension="3"/>

<EXTENT size="4"/>

</FINITELATTICE>

Пример 3. Полубесконечная решетка x2.

<FINITELATTICE name="strip">

<LATTICE name="2D" dimension="2"/>

<EXTENT dimension="2" size="2"/>

</FINITELATTICE>

Пример 4. Конечная решетка LxW.

<FINITELATTICE>

<LATTICE name="2D" dimension="2"/>

<PARAMETER name="L" />

<PARAMETER name="W" default="2" /> #значение по умолчанию

<EXTENT dimension="1" size="L" />

<EXTENT dimension="2" size="W" />

</FINITELATTICE>

Пример 5. Конечная решетка LxWxH.

<FINITELATTICE>

<LATTICE name="3D" dimension="3"/>

<PARAMETER name="L" />

<PARAMETER name="W" default="L" /> #значение по умолчанию

<PARAMETER name="H" default="W" /> #значение по умолчанию

<EXTENT dimension="1" size="L" />

<EXTENT dimension="2" size="W" />

<EXTENT dimension="3" size="H" />

</FINITELATTICE>

Граничные условия

Пример 1. Периодическая в двух направлениях решетка LxL.

<FINITELATTICE>

<LATTICE name="2D" dimension="2"/>

<EXTENT size="L" />

<BOUNDARY type="periodic" />

</FINITELATTICE>

Пример 2. Периодическая в одном направлении решетка LxW.

<FINITELATTICE name="strip">

<LATTICE name="strip" dimension="2"/>

<PARAMETER name="W" default="2" />

<EXTENT dimension=1 size="L" />

<EXTENT dimension=2 size="W" />

<BOUNDARY dimension="1" type="periodic" /> #в x-направлении периодическая

<BOUNDARY dimension="2" type="open" /> #в y-направлении открытая

</FINITELATTICE>

Определение решеток наследыванием

Пример 1. “Полное” определение решетки LxW, периодической в обоих направлениях.

<FINITELATTICE name = "finite tilted 2D">

#Определение элементарной ячейки:

<LATTICE name="tilted 2D" dimension="2">

<BASIS>

<VECTOR> 1 0 </VECTOR>

<VECTOR> 0.5 1 </VECTOR>

</BASIS>

</LATTICE>

#конец определения элементарной ячейки

<PARAMETER name="BC" default="periodic" />

<EXTENT dimension="1" size="L" />

<EXTENT dimension="2" size="W" />

<BOUNDARY type="BC" />

</FINITELATTICE>

Пример 2. Определение наследыванием решетки LxW, периодической в обоих направлениях.

#Определение элементарной ячейки:

<LATTICE name="tilted 2D" dimension="2"

<BASIS>

<VECTOR> 1 0 </VECTOR>

<VECTOR> 0.5, 1 </VECTOR>

</BASIS>

</LATTICE>

#Определение решетки:

<FINITELATTICE name = "finite tilted 2D">

<LATTICE ref="tilted 2D"> #ссылка на ранее определеннную элементарную ячейку

<PARAMETER name="BC" default="periodic" />

<EXTENT dimension="1" size="L" />

<EXTENT dimension="2" size="W" />

<BOUNDARY type="BC" />

</FINITELATTICE>

Определенные в ALPS решетки

Наш случай:

5. Расчет спиновых цепочек

С помощью описанных в разделе 3 методов проведены следующие расчеты.

В приближении ближайших соседей гамильтониан Хаббарда записывается:

(2)

В программе ALPS принято другое написание (другой знак для t):

(3)

Тест 1. Одна частица на цепочке из четырех узлов. Произведено сравнение расчетов матрицы гамильтониана и ее спектра в двух программах: на ALPS и Matlab. В программе на Matlab был использован метод точной диагонализации гамильтониана, а на ALPS - метод DMRG, .

Фрагмент кода на ALPS:

Ниже показаны результаты расчетов программы на Matlab (матрица гамильтониана и ее спектр):

Как видно, совпадение в расчетах происходит до девятой значащей цифры.

Тест 2. Одна частица в периодической цепочке из N узлов, . Спектр энергии имеет вид

, , (4)

где для гамильтониана вида (2).

Программа, написанная в системе Matlab, дает весь спектр вида (3), ALPS дает энергию основного состояния. Все сходится (в случае ALPS при больших N, поскольку в нем считаются только открытые, а не периодические цепочки).

Тест 3. Запускаем расчет энергии основного состояния двух противоположно направленных спинов на цепочке длиной L (L - число узлов). Считаем энергию связи димера: , где - энергия (основного состояния) одного спина, - энергия пары. Действительно, энергия пары оказывается меньше, чем удвоенная энергия одного, т.е. димер устойчив. Считаем энергию связи димера по формуле (используется гамильтониана вида (2), т.е. ):

, (5)

Также считаем погрешность приближения этого значения численным расчетом (расчеты проведены на ALPS). Получаем нижеприведенный график (рис.1), из которого видно, что погрешность убывает по закону .

Рис. 1. Погрешность приближения численного расчета энергии связи димера

5.

6. Методы расчета фазовой диаграммы связанных цепочек атомов

Обозначения:

Химпотенциал:

Магнитное поле:

Большая каноническая энергия:

- число узлов цепочки

Фазовые переходы:

1. Линия “поляризованый газ - неполяризованный газ” (из фазы P=0 в фазу P>0).

Разностные формулы для производных ():

2. Линия “вакуум - неполяризованный газ”.

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

, где .

Отсюда, уравнение границы - горизонталь .

3. Линия “вакуум - полностью поляризованный газ”.

Пусть полностью поляризованный газ состоит из одной частицы:

,

тогда - уравнение границы.

, где .

4. Линия “полностью поляризованный газ - частично поляризованный газ”.

Полностью поляризованный газ: , частично поляризованный газ: . Тогда:

.

5. Линия “полностью поляризованный газ 1 - полностью поляризованный газ 2”.

Фаза FP1 (полностью поляризованный газ 1): ,

Фаза FP2 (полностью поляризованный газ 2): ,

Потенциалы фаз:

,

.

Приравниваем потенциалы фаз на границе раздела с учетом того, что для фазы FP1 на границе , а так же и для обоих фаз одинаковы:

.

С учетом того, что , получим уравнение фазовой границы:

.

Если сравнить с уравнением линии 3 (), то видно, что они параллельны.

Расчет второй производной энергии основного состояния по полному числу частиц

Обозначения:

- число узлов цепочки;

- число частиц со спинами вверх, - число частиц со спинами вниз;

, ;

Преобразования между переменными :

,

Преобразования между переменными :

Химпотенциал:

Магнитное поле:

Разностные формулы для производных:

Шаблон для расчета величин (точки 1 и 2), (точки 1 и 3) и (точки 0, 1 и 2):

7.

8. Результаты расчетов фазовых диаграмм

Ниже приведены полученные результаты расчетов фазовых диаграмм.

7.1 Одна цепочка атомов

Рис. 2. Фазовая диаграмма одномерной цепочки при U = -1

Рис. 3. Фазовая диаграмма одномерной цепочки при U = -2

Рис. 4. Фазовая диаграмма одномерной цепочки при U = -5

Результаты расчетов (см. рис 4):

№ точки

1

10

5

1.27

-3.19

0.00215

2

20

10

1.43

-3.13

0.0052

3

40

20

2.00

-2.81

0.0140

4

60

30

2.61

-2.33

0.0145

Рис. 5. Фазовая диаграмма одномерной цепочки при U = -7

7.2 Две взаимодействующие цепочки атомов

Рис. 6. Фазовая диаграмма двух связанных цепочек при U = -7

7.3 Три взаимодействующие цепочки атомов

Рис. 7. Фазовая диаграмма трех связанных цепочек при U = -7

Заключение

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