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

Одиночный спин и гильбертово пространство. Тензорное произведение Гильбертовых пространств. Модель Хаббарда: моделирование и программное обеспечение. Расчет спиновых цепочек и диаграммы связанных цепочек атомов. Результаты расчетов фазовых диаграмм.

Рубрика Физика и энергетика
Вид дипломная работа
Язык русский
Дата добавления 27.08.2018
Размер файла 1,2 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

ПРАВИТЕЛЬСТВО РОССИЙСКОЙ ФЕДЕРАЦИИ

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ АВТОНОМНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ

«НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ УНИВЕРСИТЕТ

«ВЫСШАЯ ШКОЛА ЭКОНОМИКИ»

Московский институт электроники и математики им. А.Н. Тихонова

Выпускная квалификационная работа - магистерская диссертация

по направлению 11.04.04 «Электроника и наноэлектроника»

студента образовательной программы магистратуры «Прикладная физика»

????????? ?????? ??????? ????????? ???? ????????? ??????? ???????? ?????? ? ?????? ?????? Х??????? ? ???????????

Студент

Епифанова Г.С.

Москва 2018

ПРАВИТЕЛЬСТВО РОССИЙСКОЙ ФЕДЕРАЦИИ

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ АВТОНОМНОЕОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ

«НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ УНИВЕРСИТЕТ

«ВЫСШАЯ ШКОЛА ЭКОНОМИКИ»

Московский институт электроники и математики им. А.Н. Тихонова

ЗАДАНИЕ

на выполнение магистерской диссертации

студенту группы МФЗ161 Епифановой Галине Сергеевне

1. Тема работы

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

рамках модели Хаббарда с притяжением

2. Цель работы

Разработка программного обеспечения и численный расчет фазовой диаграммы двух

связанных цепочек холодных атомов рамках модели Хаббарда с притяжением.

3. Формулировка задания

1) Разработка программы расчета энергетического спектра одномерной цепочки

спинов методом прямой диагонализации.

2) Расчет фазовой диаграммы одной цепочки холодных атомов рамках модели

Хаббарда с притяжением для различных значений параметров модели.

3) Расчет фазовой диаграммы двух связанных цепочек холодных атомов.

Проект ВКР должен быть предоставлен студентом в срок до «25» декабря 2017 г.

Оглавление

  • Введение
  • 1. Одиночный спин. Гильбертово пространство
  • 2. N спинов. Тензорное произведение Гильбертовых пространств
  • 3. Модель Хаббарда
  • 4. Методы моделирования и программное обеспечение
  • 5. Расчет спиновых цепочек
  • 6. Методы расчета фазовой диаграммы связанных цепочек атомов
  • 7. Результаты расчетов фазовых диаграмм
    • 7.1 Одна цепочка атомов
    • 7.3 Три взаимодействующие цепочки атомов
  • Заключение
  • Библиографический список
  • Приложение 1
  • Аннотация
  • В настоящее время в мире проводится большой объем теоретических и экспериментальных исследований в области физики сильно коррелированных систем. Интерес к таким системам особенно возрос в последнее время, когда с развитием техники низких температур открылись новые возможности и направления в этих исследованиях.
  • В данной работе рассматривались одномерные связанные цепочки холодных атомов, взаимодействующих посредством атомных спиновых магнитных моментов. На основе модели Хаббарда с притяжением в работе был проведен численный расчет фазовой диаграммы одной, двух и трех цепочек холодных атомов. Расчеты были проведены с использованием программного обеспечения собственной разработки в системе Matlab и с использованием программного пакета свободного распространения ALPS, управляемого командами на языке Python.
  • Фазовые диаграммы были расчитаны для различных параметров модели и различного числа цепочек, был проверен ряд качественных и количественных теоретических результатов.

Currently, a large amount of theoretical and experimental research in the field of physics of strongly correlated systems is carried out in the world. Interest in such systems has increased particularly in recent years, when the development of low temperature technology has opened up new opportunities and trends in these studies.

In this paper, one-dimensional bound chains of cold atoms interacting by means of atomic spin magnetic moments were considered. On the basis of the Hubbard model with attraction, the numerical calculation of the phase diagram of one, two and three chains of cold atoms was carried out. The calculations were carried out using software of own development in Matlab system and using software package of free distribution of ALPS, managed by commands in Python.

Phase diagrams were calculated for different model parameters and different number of chains, a number of qualitative and quantitative theoretical results were tested.

Введение

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

Одной из задач ВКР стояла разработка программного обеспечения, позволяющего расчитать энергетический спектр одномерной цепочки спинов методом прямой диагонализации.

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

1. Одиночный спин. Гильбертово пространство

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

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

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

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

Само Гильбертово пространство можно определить следующими пунтками:

а) векторное пространство комплексных чисел C. Обозначение вектора (или луча) в H принято в виде ;

б) пространство с определенным скалярным произведением , удовлетворяющим следующим свойствам:

- положительная определенность:

- линейность: , где и - комплексные числа

- эрмитовское сопряжение:

в) пространство, нормированное по норме

Действием линейного оператора : можно назвать перевод состояния в состояние .

Для линейного оператора верно равенство:

Где и - произвольные комплексные числа.

Коммутатор операторов и обозначается символом и определяется равенством:

Уравнение на собственные значения и собственные функции в квантовой теории выглядит:

Число - собственное значение оператора , а вектор - собственный вектор линейного оператора .

Условие полноты векторов состояний представляется:

В результате измерения состояние переходит (редуцируется) в состояние , которое является собственным для оператора . Нормированное состояние после измерения имеет вид:

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

описывает вероятность нахождения частицы в элементе объема .

Условие нормировки волновой функции:

Это условие говорит о том, что вероятность нахождения частицы в объеме dV равна единице.

Если f - физическая величина, то значения, которые она может принимать - являются собственными значениями данной физической величины.

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

Принцип суперпозиции состояний:

Физическая величина f принимает значение с вероятностью .

Среднее значение физической величины в состоянии :

Как указывалось ранее, каждой физической величине в квантовой механике можно сопоставить некоторый оператор . Среднее значение физической величины в состоянии можно выразить с помощью оператора:

Условие линейности:

Рассмотрим основные операторы физических величин.

I. Оператор координат.

Уравнение на собственные функции и собственные значения:

II. Оператор проекции импульсов.

III. Оператор вектора импульса.

- оператор Набла.

IV. Оператор кинетической энергии.

Кинетическая энергия определяется:

Оператор кинетической энергии выражается:

- оператор Лапласа

Таким образом, оператор кинетической энергии:

V. Оператор потенциальной энергии.

- потенциальная функция.

VI. Оператор полной энергии.

Поскольку полная энергия есть сумма кинетической и потенциальной:

Уравнение на собственные функции и собственные значения для полной энергии:

Таким образом, получилось уравнение Шредингера для стационарных состояний:

Для свободных частиц .

VII. Оператор гамильтониана.

Зная функцию в момент времени , можно найти во момент времени .

Оператор гамильтониана, поскольку он линейный и эрмитов, соответствует некоторой физической величине - полной энергии .

собственные значения . - собственные функции .

Общее уравнение Шредингера:

Для стационарного уравнения Шредингера:

Оператор гамильтониана соответствующей энергии:

VIII. Оператор момента импульса.

В классической механике момент импульса материальной точки относительно начала отсчета определяется:

где - радиус-вектор частицы, а - ее импульс. Аналогично этому определению вводится оператор момента импульса в квантовой механике:

Это векторный оператор, поэтому его можно представить как сумму операторов проекций:

Где операторы проекций момента импульса определяются:

Можно определить коммутаторы:

IX. Оператор квадрата момента импульса.

Из операторов , , составим оператор квадрата абсолютной величины вектора момента:

Этот оператор коммутативен с каждым из операторов , , , как было отмечено ранее.

Вместо операторов и часто бывает удобнее пользоваться их комплексными комбинациями:

Для этих комбинаций справедливы следующие соотношения:

Теперь перечислим, как выглядят основные операторы с использованием вторичное квантование.

Оператор импульса:

Оператор кинетической энергии:

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

Где с - оператор рождения, а - уничтожения.

Теперь перейдем к описанию систем с несколькими частицами.

2. N спинов. Тензорное произведение Гильбертовых пространств

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

Пусть элемент определяет антилинейную функцию аргумента . Пусть имеются два элемента . Тогда би-антилинейную функцию аргументов обозначим и определим соотношением:

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

Определенное выше пространство L с указанным скалярным произведением называется тензорным произведением гильбертовых пространств: .

Если - ортонормированные базисы в соответственно, то ортонормированным базисом в будет . .

Следовательно, любой вектор однозначно выражается:

Произведем суммирование по индексу j, также обозначим . Тогда получим, что в общем случае гильбертово произведение изоморфно прямой ортогональной сумме слагаемых :

Теперь зададим тензорное произведение операторов в пространствах :

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

Пусть некий линейный оператор действует в пространстве состояний составной системы. Тогда элементы матрицы оператора выражаются:

3. Модель Хаббарда

Модель Хаббарда -- приближение, используемое в физике твёрдого тела для описания перехода между проводящим и диэлектрическим состояниями, с учетом перескоков электронов на соседние атомы и кулоновского отталкивания на узле. В модели используется гамильтониан Хаббарда (1), состоящий из двух слагаемых [1]. Первый член гамильтониана (кинетическая энергия) описывает перескоки электронов на соседние узлы с амплитудой , второй член описывает кулоновское отталкивание электронов на узле с потенциалом U и учитывает, что одновременно на узле могут находиться частицы только с противоположным спином.

(1)

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

(2)

Впервые модель была предложена (в 1963 году) для описания электронов в твёрдых телах, помогла объяснить фазовые переходы «металл - изолятор» в переходных металлах с узкими зонами. С тех пор модель особенно интересна при изучении высокотемпературной сверхпроводимости, наноструктур, квантовых точек и ям. Позднее стала использоваться при описании поведения ультра холодных атомов в оптических решётках.

4. Методы моделирования и программное обеспечение

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

Пакет 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):

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

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

Заключение

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

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

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

Стоит отметить, что в ходе выполнения работы было разработано программное обеспечение, которое будет использовано в дальнейшем при обучении студентов магистерской програмы “Материалы, приборы, нанотехнологии”.

Библиографический список

1. Кашурников В.А., Красавин А.В., Вычислительные методы в квантовой физике: Учебное пособие. М.: МИФИ, 200. - 412с.

2. Hubbard J., Electron correlations in narrow energy bands-3, 4, "Proc. Roy. Soc. A", 1963, v. 276, p. 238; 1964, v. 281, p. 401; 1965, v. 285, p. 541

3. F. Heidrich-Meisner, G. Orso, and A.E. Feiguin “Phase separation of trapped spin-imbalanced Fermi gases in one-dimensional optical lattices”, Phys. Rev. A 81, 053602

4. A. S. Holevo, Statistical definition of observable and the structure of statistical models. Rep. Math. Phys., 1985, v.22, N3.

5. Ландау Л.Д., Лифшиц Е.М., Краткий курс теоретической физики: Квантовая физика. М., 1972, .-368с.

Приложение 1

Текст программы расчета энергии спиновом кластера

% Main module

t_init = cputime;

EnterData %preparing data for the solver

NewVariables %declaring new variables

Basis %generating basis

m_Ham = Hamiltonian;

eig(m_Ham)

t_fin = cputime;

fprintf(1,'Calculation time, min: %.0f\n',(t_fin-t_init)/60)

% Result of a-operator act on a state vector

function f = a(type,number,state_vect)

%Arguments:_________________________________________________________

%type - type of operator: 1 - creation,-1 - annihilation;

%number - number of node state (to create or annihilate);

%state_vect - state vector (like [10100101110]).

%Returning value: new state vector.

%___________________________________________________________________

N = size(state_vect,2); %size of the state vector

if iscorr(state_vect)

if appzer(type,number,state_vect) %apparent zeros

f = zeros(1,N);

else %the main procedure

f = (-1)^numofones(number,state_vect)*changestate(type,number,state_vect);

end

else

f = zeros(1,N);

disp('Incorrect format of the state vector!')

end

% Checking format of the state vector

function f = iscorr(state_vect)

%Arguments:_________________________________________________________

%state_vect - state vector (like [10100101110]).

%Returning value: 1 - if the state vector is correct (contains just ones and zeros), 0 - otherwise.

%___________________________________________________________________

N = size(state_vect,2); %size of the state vector

f = 1;

for i=1:N

if state_vect(i)~=0 && state_vect(i)~=1 && state_vect(i)~=-1

f = 0;

break

end

end

% Apparent zero

function f = appzer(type,number,state_vect)

%Arguments:_________________________________________________________

%type - type of operator: 1 - creation,-1 - annihilation;

%number - number of node state (to create or annihilate);

%state_vect - state vector (like [10100101110]).

%Returning value: 1 - if resulting vector is zero, 0 - otherwise.

%___________________________________________________________________

f = 0;

switch type

case 1

if state_vect(number) == 1

f = 1;

end

case -1

if state_vect(number) == 0

f = 1;

end

otherwise

disp('Incorrect operator type!')

f = 1;

end

% Changing one state

function f = changestate(type,number,state_vect)

%Arguments__________________________________________________________

%type - type of operator: 1 - creation,-1 - annihilation;

%number - number of node state (to create or annihilate);

%state_vect - state vector.

%Returning value: state_vect with 1 state changed.

%___________________________________________________________________

f = state_vect;

switch type

case 1 %create an electron

if sov(state_vect) >= 0

f(number) = 1;

else f(number) = -1;

end

case -1 %annihilate an electron

f(number) = 0;

otherwise

disp('Incorrect operator type!')

f = 0*state_vect;

end

% Number of ones before given number

function f = numofones(number,state_vect)

%Arguments:_________________________________________________________

%number - number of node state;

%state_vect - state vector.

%Returning value: number of ones before given number.

%___________________________________________________________________

if number == 1

f = 0;

else

f = sum(state_vect(1:number-1));

end

% Result of a_plus_i_a_j-operator act on a state vector

function v_f = a_plus_i_a_j(i,j,v_F_q);

%Arguments:________________________________________________________________________________

%i - number of a_plus-operator;

%j - number of a_minus-operator;

%v_F_q - state vector (without spin, only positive components).

%Returning value: new state vector.

m = min(i,j); n = max(i,j);

k_perm = (-1)^sum(v_F_q(m:n-1));

if i < j

k_sign = 1;

else

k_sign = -1;

end

%a_j|v_F_q>:

k_zero = 1;

if v_F_q(j)

v_F_q(j) = 0;

else

k_zero = 0;

end

%a_plus_i|v_F_q>:

if v_F_q(i)

k_zero = 0;

else

v_F_q(i) = 1;

end

v_f = k_perm*k_zero*k_sign*v_F_q;

% Generating basis

function Basis

global m_basis N_nodes N_part_up N_part_dwn

m_basis_up = GenBasis(N_nodes,N_part_up); %basis functions for spin-up electrons

N_up = size(m_basis_up,1); %number of them

m_basis_dwn = GenBasis(N_nodes,N_part_dwn); %... spin-down electrons

N_dwn = size(m_basis_dwn,1); %number of them

%General basis:

N_set = N_up*N_dwn;

k = 1;

m_basis = zeros(N_set,2*N_nodes);

for i=1:N_up

for j=1:N_dwn

m_basis(k,:) = [m_basis_up(i,:),m_basis_dwn(j,:)];

k = k+1;

end

end

%Entering all parameters from outer files

%Model parameters:____________________________________________________

global eps0 t fl_bc N_nodes N_part_up N_part_dwn

load 'ModParams.dat' -ascii

eps0 = ModParams(1); t = ModParams(2); fl_bc = ModParams(3);

N_nodes = ModParams(4); N_part_up = ModParams(5); N_part_dwn = ModParams(6);

clear ModParams

% Generating the basis set

function m_f = GenBasis(N_nodes,N_part)

%Arguments:_________________________________________________________

%N_nodes - number of nodes;

%N_part - number of particles.

%Returning value: m_f - matrix of basis set.

%__________________________________________________________________

N_basis = nchoosek(N_nodes,N_part);

m_basis1 = nchoosek(1:N_nodes,N_part);

m_f = zeros(N_basis,N_nodes);

for i=1:N_basis

for j=1:N_part

m_f(i,m_basis1(i,j)) = 1;

end

end

% Hamiltonian matrix

function m_f = Hamiltonian

%Arguments:_________________________________________________________

% none

%Returning value: Hamiltonian matrix.

%___________________________________________________________________

global m_basis N_nodes

N = size(m_basis,1); %dimension of state space

m_f = Ham_pot(N) + Ham_kin(N,m_basis(:,1:N_nodes),m_basis(:,N_nodes+1:2*N_nodes)) + ...

Ham_kin(N,m_basis(:,N_nodes+1:2*N_nodes),m_basis(:,1:N_nodes));

% Hamiltonian matrix (potential part)

function m_f = Ham_pot(N)

%Arguments:________________________________________________________________________________

% N - size of the matrix

%Returning value: potential part of Hamiltonian matrix.

%__________________________________________________________________________________________

global eps0 t m_basis N_nodes

m_f = zeros(N);

for i=1:N

state_vect_up = m_basis(i,1:N_nodes); state_vect_dwn = m_basis(i,N_nodes+1:2*N_nodes);

m_f(i,i) = eps0*state_vect_up*state_vect_dwn';

end

% Hamiltonian matrix (kinetic part)

function m_f = Ham_kin(N,m_basis,m_basis_aux)

%Arguments:_________________________________________________________

%N - size of the matrix;

%m_basis - basis matrix (spin up), m_basis_aux - basis matrix (spin down) or vice-versa.

%Returning value: kinetic part of Hamiltonian matrix.

%__________________________________________________________________________________________

global eps0 t fl_bc

m_f = zeros(N);

N_nodes = size(m_basis,2); %number of nodes

arr_trr1(1:N_nodes) = 0; arr_trr2(1:N_nodes) = 0; %arrays for scalar products

for p=1:N

for q=1:N

if p~=q %just non-diagonal elements

v_F_p = m_basis(p,:); v_F_q = m_basis(q,:);

for i=1:N_nodes %sum over the nodes_____________________________________________________

%A+(i)*A-(i-1):___________________________________________________

%Determining number of A-(i-1) operator:

j = i - 1;

fl_calc = 1; %flag indicator: to calc or not to calc the matrix element

if j == 0

switch fl_bc

case 0 %the chain is not closed

fl_calc = 0;

arr_trr1(i) = 0;

case 1 %the chaine is closed

j = N_nodes;

otherwise

disp('Wrong type of boundary conditions!')

end

end

%Calculating the first item of the matrix element:

if fl_calc

v_tr = a_plus_i_a_j(i,j,v_F_q);

arr_trr1(i) = scpr([v_F_p,m_basis_aux(p,:)],[v_tr,m_basis_aux(q,:)]);

end

%A+(i)*A-(i+1):_______________________________________________________________

%Determining number of A-(i-1) operator:

j = i + 1;

fl_calc = 1;

if j == N_nodes + 1

switch fl_bc

case 0 %the chaine is not closed

fl_calc = 0;

arr_trr2(i) = 0;

case 1 %the chaine is closed

j = 1;

otherwise

disp('Wrong type of boundary conditions!')

end

end

%Calculating the second item of the matrix element:

if fl_calc

v_tr = a_plus_i_a_j(i,j,v_F_q);

arr_trr2(i) = scpr([v_F_p,m_basis_aux(p,:)],[v_tr,m_basis_aux(q,:)]);

end

%...A+(i)*A-(i+1)_______________________________________________________________________

end %sum over the nodes_________________________________________________________________

m_f(p,q) = t*( sum(arr_trr1) + sum(arr_trr2) );

end

end

end

load 'H_example.dat' -ascii

m_Hex = H_example;

clear H_example

% Main module

t_init = cputime;

EnterData %preparing data for the solver

NewVariables %declaring new variables

Basis %generating basis

m_Ham = Hamiltonian;

eig(m_Ham)

t_fin = cputime;

fprintf(1,'Calculation time, min: %.0f\n',(t_fin-t_init)/60)

% Result of n-operator act on a state vector

function f = n(state_vect)

%Arguments:________________________________________________________________________________

%state_vect - state vector.

%Returning value: number of particles in this state.

%__________________________________________________________________________________________

f = sum(abs(state_vect));

% Eigenvalue of n_spin_down-operator on a state vector

function f = n_spin_dwn_i(state_vect_spin,i)

%Arguments:________________________________________________________________________________

%state_vect_spin - state vector with spin;

%i - number of node.

%Returning value: number of particles in spin up mode in this state.

%__________________________________________________________________________________________

global N_nodes

state_vect_dwn = state_vect_spin(N_nodes+1:2*N_nodes);

f = abs(state_vect_up(i));

% Eigenvalue of n_spin_up-operator act on a state vector

function f = n_spin_up_i(state_vect_spin,i)

%Arguments:________________________________________________________________________________

%state_vect_spin - state vector with spin;

%i - number of node.

%Returning value: number of particles in spin up mode in this state.

%___________________________________________________________________

global N_nodes

state_vect_up = state_vect_spin(1:N_nodes);

f = abs(state_vect_up(i));

%New parameters:

% m_basis - basis of wave functions

global m_basis

% Scalar product of two state vectors

function f = scpr(state_vect1,state_vect2)

%Arguments:________________________________________________________________________________

%state_vect1,2 - state vectors.

%Returning value: scalar product.

%__________________________________________________________________________________________

N1 = size(state_vect1,2); %size of the first state vector

N2 = size(state_vect2,2); %size of the second state vector

if N1 ~= N2

disp('Different sizes of state vectors!')

f = 0;

else %main procedure

v1 = abs(state_vect1); v2 = abs(state_vect2);

if sum(v1) == 0 && sum(v2) == 0 %if one of them =0

f = 0

else %procedure for nonzero vectors

f = 1;

for i = 1:N1

if v1(i) ~= v2(i)

f = 0;

break

end

end

if f

f = f*sov(state_vect1)*sov(state_vect2);

end

end

end

% Sign of vector

function f = sov(state_vect)

%Arguments:________________________________________________________________________________

%state_vect - state vector.

%Returning value: sign of first nonzero component of the vector.

%__________________________________________________________________________________________

N = size(state_vect,2); %size of the first state vector

f = 1;

for i = 1:N

if state_vect(i) ~= 0

f = sign(state_vect(i));

break

end

end

Размещено на Allbest.ru


Подобные документы

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

    статья [245,1 K], добавлен 22.06.2015

  • Понятие фазового перехода и твердой растворимости. Типы фазовых диаграмм. Системы, их значение в микроэлектронике. Фазовые диаграммы, в которых в качестве одной из компонент фигурирует именно кремний. Двухфазная диаграмма и процесс отвердевания.

    реферат [1,1 M], добавлен 23.06.2010

  • Расчет температуры перехода одного тиристора, количества параллельных ветвей, последовательно соединенных тиристоров в ветви. Выбор схемы тиристорного ключа. Расчет параметров выравнивающих RCD-цепочек. Выражение вольт-амперной характеристики.

    курсовая работа [311,2 K], добавлен 16.07.2009

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

    презентация [797,7 K], добавлен 15.02.2015

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

    реферат [146,3 K], добавлен 05.01.2009

  • Изучение строения атомов и их ядер. Исследование постулатов Борна и выявление преимуществ и недостатков планетарной модели атома Резерфорда. Процесс деления тяжелых ядер и раскрытие понятия радиоактивности. Неуправляемая и управляемая цепная реакция.

    контрольная работа [35,7 K], добавлен 26.09.2011

  • Расчет амплитуды и частоты периодических режимов графоаналитическим методом гармонического баланса. Применение численных методов решения системы двух алгебраических уравнений. Цифровое моделирование системы и получение временной диаграммы на ЭВМ.

    курсовая работа [622,7 K], добавлен 12.02.2008

  • Зависимость показателя преломления от частоты падающего света. Разложение сложного излучения в спектр. Уравнение движения электронов атомов вещества под действием поля световой волны. Скорости ее распространения. Суммарный дипольный момент атомов.

    презентация [229,6 K], добавлен 17.01.2014

  • Принципы симметрии волновых функций. Использование принципа Паули для распределения электронов в атоме. Атомные орбитали и оболочки. Периодическая система элементов Менделеева. Основные формулы физики атомов и молекул. Источники рентгеновского излучения.

    реферат [922,0 K], добавлен 21.03.2014

  • Магнитные моменты электронов и атомов. Намагничивание материалов за счет токов, циркулирующих внутри атомов. Общий орбитальный момент атома в магнитном поле. Микроскопические плотности тока в намагниченном веществе. Направление вектора магнитной индукции.

    презентация [2,3 M], добавлен 07.03.2016

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.