Научная статья на тему 'Компьютерное моделирование динамических  процессов в спиновом стекле'

Компьютерное моделирование динамических процессов в спиновом стекле Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
113
20
i Надоели баннеры? Вы всегда можете отключить рекламу.

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Лесных Ю. И.

Динамические процессы в спиновом стекле очень трудны для представления и наблюдения, поэтому существует потребность в компьютерном моделировании этих процессов, в создании модели спинового стекла и его поведении во внешнем магнитном поле, а также прогнозирование состояния спинового стекла в зависимости от изменения температуры. Компьютерное моделирование осуществлялось на языке Turbo Pascal 7.0.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Computer modeling of the dynamic processes in spin glass

The Dynamic processes in спиновом glass very difficult for presentation and observations so exists need for computer modeling of these processes, in making the models spin-echo glass and his(its) behaviour in external magnetic field, as well as forecasting of the condition spin-echo flow depending on change the temperature. Computer modeling was realized on language Turbo Pascal 7.0.

Текст научной работы на тему «Компьютерное моделирование динамических процессов в спиновом стекле»

Компьютерное моделирование динамических процессов в спиновом стекле

Лесных Ю.И. (lyis@yandex.ru) Тольяттинский государственный университет

Спиновыми стеклами называют неупорядоченные магнетики, в которых энергия обменного взаимодействия случайным образом меняет не только величину, но и знак. В таких системах с конкурирующими взаимодействиями, в отличие от обычных магнетиков, с понижением температуры дальнего магнитного порядка не возникает. Но не происходит и медленного постепенного замораживания спинов. Ниже некоторой, достаточно хорошо фиксируемой на эксперименте температуры магнетик переходит в новое состояние, не имеющее аналогов в упорядоченных системах. Характерным свойством этого состояния является чрезвычайно медленная релаксация [1]. Типичные времена установления равновесия, во всяком случае, превосходят 104 - 105 с. Одновременно наблюдаются явления необратимости статических свойств.

Так как энергия обменного взаимодействия сильно зависит от расположения магнитных и немагнитных атомов, то в классе неупорядоченных магнетиков большинство веществ принадлежит к спиновым стеклам [2]. В настоящее время известно огромное число спиновые стекол - металлов, диэлектриков и полупроводников; разбавленных сплавов (т. е. с малой концентрацией магнитных атомов) и концентрированных; кристаллических и аморфных веществ. Динамические процессы в спиновом стекле очень трудны для представления и наблюдения, поэтому существует потребность в компьютерном моделировании этих процессов. Компьютерное моделирование осуществлялось на языке Turbo Pascal 7.0.

Наряду со всеми преимуществами, которые Turbo Pascal 7.0. унаследовал от предыдущих версий Turbo Pascal, в нем были произведены изменения и улучшения. Во-первых: появилась возможность выделять определенным цветом различные элементы исходного текста (зарезервированные слова, идентификаторы, числа и т.д.), позволяющая устранять ошибки на этапе ввода исходного текста. Во-вторых: язык программирования Turbo Pascal 7.0. был расширен, что представило пользователю дополнительные возможности при решении задач. В-третьих: был улучшен компилятор, вследствие чего "коды программ" стали более эффективными. В-четвертых: был улучшен интерфейс пользователя [3].

Лингвистическая концепция Паскаля пропагандирует системный подход, выражающийся, в частности, в расчленении крупных проблем на меньшие по сложности и размеру задачи, легче поддающиеся решению. Основные принципы Паскаля таковы:

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

Проектирование сверху вниз. Программист разбивает свою задачу на несколько более простых, после чего каждая из задач решается по отдельности. Затем компонуются результаты проектирования простых задач, и решается задача проектирования сверху вниз в целом.

Язык Паскаль выбирался исходя из различных причин. Паскаль довольно простой в обращении, имеет красивую, стройную структуру программы, а так же в отличие от других простых языков (например, Бейсика) имеет широкие возможности графического редактора в совокупности с текстовым.

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

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

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

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

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

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

Набор операторов стандартного Паскаля относительно мал и легко изучаем. В программе используются модули Crt и Graph.

Модуль Crt содержит ряд подпрограмм, предоставляющих возможность программам, работающим под DOS, эффективно управлять такими характеристиками персонального компьютера, как режимы экрана, расширенные коды клавиатуры, цвета, окна и звуковые сигналы. Модуль Crt может использоваться только в программах, работающих на персональных компьютерах IBM PC или полностью совместимых с ними. Одним из основных преимуществ использования модуля Crt является повышение скорости и гибкости при выполнении операций работы с экраном. При использовании модуля выводимая информация посылается базовой системе ввода-вывода (BIOS) или, для еще большего ускорения операций, непосредственно в видеопамять.

Для создания графических изображений в языке Turbo Pascal 7.0. предназначен стандартный библиотечный модуль Graph. Он представляет собой библиотеку программ, которая полностью обеспечивает управление графическими режимами различных адаптеров дисплеев: CGA, EGA, VGA, MCGA, Hercules, PC 3270, AT&T 6300 и IBM 8514. Библиотека содержит около 80 графических процедур и функций, а также десятки стандартных констант и описаний типов данных. Сам модуль представляет собой отдельный файл GRAPH. TPU, который не входит в состав библиотеки TURBO.TPL, и чтобы обеспечить возможность работы с графикой, нужно сделать файл GRAPH.TPU доступным для компилятора.

Программа рассчитана для работы с компьютером PC IBM, оснащенным адаптером VGA с объемом видеопамяти 256 килобайт. Программа имеет 3 основные процедуры: Risov для рисования спинов в узлах решетки, ChangePages для смены отображаемой и активной страниц, Povorot для поворота спинов на различные углы. Основной цикл программы Repeat until false, в котором последовательно осуществляется обращение к этим процедурам, содержит условный оператор для выхода из программы.

Для построения на экране объемных фигур потребовалось использование следующих теоретических сведении по стереометрии:

Проекция является важнейшим понятием в 3D графике [4]. Собственно говоря, на экране дисплея изображаются проекции объемных тел. Проекция получается следующим образом:

все точки объёмного тела движением вдоль луча проектирования I переносятся на картинную плоскость, которая отображается на экране.

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

Если при параллельном проектировании картинная плоскость перпендикулярна линиям проектирования, то такая проекция называется аксонометрией [4]. Имеется три вида аксонометрии: изометрия, диметрия и триметрия.

При изометрии проекции координатных осей сходятся под углом в 120°, при этом координатные составляющие точки откладываются на осях в едином масштабе. Для диметрии используется два масштаба: один для осей ОУ и 02, другой, в два раза меньший -для оси ОХ. Оси ОХ и ОУ пересекаются под углом 135°. Для изометрии проекция точки Р(х,у^) на экране определяется по формулам:

Тз

ХХ = ав(У - х)-у + ХХ0 УУ -а(- г) + УУ

где а - коэффициент общего увеличения изображения, в - коэффициент, компенсирующий горизонтальное искажение для графических режимов с разрешением Н*У:

р-—

4У '

ХХ0 и УУ0 - координаты точки экрана, в которую проектируется начало пространственной системы координат.

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

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

проектирования. Для изометрии его составляющие равны 1х = 1у = 4 = 1; £ - вектор в направлении к источнику освещения.

Построение многогранника осуществляется по следующей схеме: для каждой грани

1) определяется ориентация грани в пространстве вектором нормали п векторное произведение п = а хс . Векторы находятся в плоскости грани и определяются по первым трём её вершинам А, В и С. Составляющие нормального вектора определяются по известным из векторной алгебры формулам:

Ч = аусг — агсу

Пу =-ахСг + агСх .

п =ас —ас

I х у у х

2) определяется, является ли грань видимой (лицевой). Если угол между нормалью и вектором ! острый, то грань видимая. Это определяется скалярным произведением

п1 = Пх1х + Пу1у + п11г ,

которое, в случае острого угла, положительно.

3) для лицевой грани определяется, является ли грань освещённой по знаку

пя = пхях + п уя у + п2я2 и рисуется грань. Интенсивность цвета закраски принимается равной

I = 10 +11 соэ(я, я),

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

>(п, я ) =

п ■ я пхях + пуяу + п1я1

С0§.----------- •>'•>'

-

п я

+ п2 + п2 + яу; + я22).

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

объёмом видеопамяти 256 килобайтов наибольшим возможным разрешением, допускающим многостраничный режим, является 640 х 350.

Поворот многогранника можно представить в виде

( X ^

У

V2 У

( X ^

= ф

У

V 2 У

где х, у, z - координаты точки до поворота; х, у, z - координаты той же точки после поворота; Ф - матрица вращения 3*3.

Любой поворот можно представить как три последовательных поворота вокруг осей ОХ, ОУ и 02 на углы фх, фу и фz соответственно. Матрицы, таких поворотов имеют особенно простой вид:

(1 0 0 ^

ф =

X

0 cos рх sin р ^ 0 - sin р cos р

X У

(

ф =

у

cos р 0 - sin р 0 1 0 sin р 0 cos р

У У

(

Ф 2 =

cos р 2 sin р2 0 - sin р 2 cos р 2 0

0

0

1

v " " у

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

Литература

1. Доценко В.С. Критические явления в спиновых системах с беспорядком // Успехи физических наук. 2001. Т.164. №5. С. 524.

2. Эфрос А.Л. Физика и геометрия беспорядка. М.: Наука 1982, 176 с. (Серия: Библиотечка «Квант»).

3. Турбо Паскаль 7.0. 2-е издание. Киев: Издательское бюро БНУ. 1996, 448 с.

4. Мишин Д. Д. Магнитные материалы. М.: Высшая школа. 1991, 384 с.

i Надоели баннеры? Вы всегда можете отключить рекламу.