Диссертация (1149675), страница 5
Текст из файла (страница 5)
Пошаговые методыприменяются только на этапе построения отображения, после чего результат высчитывается за одну итерацию сразу для множества начальных векторов.В диссертации рассматривается моделирование статических полей, не меняющихся во времени. Система уравнений (1.15) в этом случае является стационарной, а отображение M зависит только от величины интервала интегрирования. При моделировании накопительного кольца длины физических элементов(с различными распределениями полей) полагаются постоянными, и, таким об-26Рис. 1.4. Моделирование динамики на основе построения отображенийразом, отображение вычисляется только один раз.
Процесс численного моделирования схематично представлен на рис. 1.4.Матричное представление преобразования ЛиМатричный формализм [3] позволяет записать нелинейное преобразованиеЛи в виде набора числовых матриц. Общее решение аппроксимируется усеченным рядом Тейлора. Интегрирование динамики системы уравнений осуществляется только при помощи выполнения операций сложения и умножения числовыхматриц.
При предположениях, что F — произвольная аналитическая в окрестности X0 и измеримая по t функция, систему (1.15) можно представить в виде∞∑dX=Pk (t)X[k] ,dt(1.16)k=0где под X[k] понимается кронекеровская степень вектора X, а матрицы Pk вычисляются по формулеPk (t) =1 ∂ k F(t, X0 ),(k)! ∂(X[k] )Tk = 1, 2, . . .0Здесь следует заметить, что кронекеровская степень X[k] образует вектор-столбец,элементы которого равны мономам (xk11 . . . xknn ), где под xi понимается i-ая компонента вектора состояния. Величину k = k1 + . . . kn будет называть порядкомнелинейности монома, при этом (k)! = k1 ! .
. . kn !. Здесь и далее оператор (·)Tобозначает транспонирование матрицы.27Внутри своей области сходимости решение системы уравнений (1.16) можетбыть записано также в виде рядаX=∞∑[k]Rk (t)X0 ,(1.17)k=0где матрицы Rk (t) являются нелинейными функциями времени, а отображениезадается набором матриц M = {R0 , R1 , .
. . , Rk }.СимплектификацияПроизвольное отображение M, описывающее общее решение X = M ◦ X0 ,называется симплектическим [3, 110], если выполнено условие(∂X∂XT0)T0 E∂X , ∀X0 ,J=J,J=∂XT0−E 0(1.18)где под X0 понимается начальный вектор состояния, E — единичная матрица.Равенство (1.18) в случае матричного отображения (1.17) приводит к системеуравнений, каждое из которых имеет вид [25][1][k]a0 + A1 X0 + . . . + Ak X0 = 0,(1.19)где Ai — вектор-строка числовых коэффициентов.Уравнение (1.19), в силу условия (1.18), должно выполняться при любомX0 . Из этого следуют соотношения, приводящие к равенству нулю коэффициентов данного полинома, которые, в свою очередь, определяют корректировкикоэффициентов матриц Rk .
В качестве примера рассмотрим случай линейногоотображения, когда вектор состояния имеет размерность, равную двум xxm m2 0 . = 1y0ym3 m428Условие (1.18) для данного отображения запишется в виде∗ m m20 1m m20 1 1 1=,m3 m4−1 0m3 m4−1 0что приводит к системе уравнений− m3 m1 + m1 m3 = 0,− m3 m2 + m1 m4 = 1,− m1 m4 + m2 m3 = −1,− m4 m2 + m2 m4 = 0,и в окончательном виде запишется как равенство m1 m4 − m2 m3 = 1.Аналогичные выкладки можно осуществить и для произвольного отображения M . В общем случае соотношение (1.18) приводит к системе нелинейныхуравнений. Однако высшие порядки нелинейности не влияют на более низкие всмысле применения условия симплектичности.
Таким образом, система уравнений (1.19) может решаться последовательно в виде систем линейных уравнений.Подробный алгоритм на основе последовательной симплектификации отображений заданного порядка представлен в работе [25].В случае построения численного отображения приемлемые результаты симплектификации дает использование симплектической пошаговой схемы интегрирования. В работе [111] приведен анализ ошибки симплектификации при использовании различных методов интегрирования. В этом случае коэффициентыматричного разложения оцениваются при помощи симплектической схемы, чтогарантирует заданную точность вычислений.291.3 Требования к программному инструментариюПри проведении вычислительных экспериментов в рамках крупных научноисследовательских проектов всегда используются разные программные инструменты, предназначенные для численного моделирования изучаемых процессов.Для контроля точности применяются различные методы и модели, что требует создания комплекса программ, основанных на применении разных методовчисленного анализа.
В рамках подготовки диссертации были реализованы триосновных подхода. Первый заключается в численном пошаговом интегрировании уравнений движения. С этой целью был написан набор скриптов на языкепрограммирования MATLAB [79], описывающих динамику систем. Численноеинтегрирование предлагается проводить либо средствами среды MATLAB, либо сторонними алгоритмами. Функциональный подход, используемый в даннойсреде программирования, позволяет быстро реализовать логику предметной области, оперируя функциями как отдельными переменными.Второй набор библиотек реализует алгоритм построения матричного отображения на языке Python. Данный язык также, как и MATLAB, является интерпретируемым и позволяет быстро реализовывать новые алгоритмы с минимальнымизатратами.
Но основным программным инструментом, предлагаемым для проведения вычислений, является интегрированная среда моделирования, написаннаяна языках C#/C++, что позволяет реализовывать не только производительныевычислительные библиотеки, но и гибкий пользовательский интерфейс.К сожалению, ни одна из существующих на сегодняшний день программчисленного моделирования динамики частиц не удовлетворяю всем требованиям, возникающим при исследования спин-орбитального взаимодействия. Единственным пакетом программ открытого доступа, реализующим интегрированиедлительной динамики частиц с учетом спина, является COSY Infinity. Однакоотсутствие четкого описания применяемых математических моделей и используемые подходы, иногда искажающие физическую интерпретацию процесса (например, незамкнутая равновесная орбита в случае моделирование краевых по-30лей), не позволяют всецело доверять результатам численных расчетов на даннойпрограмме и требуют постоянной проверки корректности вычислений.
Тем неменее, указанный пакет программ реализует эффективное построение отображений на основе дифференциальной алгебры и на начальном этапе применяетсядля верификации разработанного программного обеспечения.Назначение ПОРазрабатываемый комплекс программ и библиотек должен обеспечивать возможность проведения численного анализа спин-орбитальной динамики частицво внешних электромагнитных полях. Уравнения должны использоваться в нелинейном виде, управляющие поля также задаваться вплоть до произвольного порядка нелинейности.К основным свойствам разрабатываемого инструментария относятся производительность вычислений и удобство использования программы. Под производительностью понимается возможность моделирования длительной динамикизаряженной частицы (миллионы оборотов в ускорителе) с использованием мощностей персонального компьютера. Кроме вычислительной производительности,программа должна обеспечивать гибкий пользовательский интерфейс и масштабируемость приложения без необходимости перекомпиляции исходного кода.Функциональные требованияВ программный комплекс должны входить три компонента.
К ним относятся: вычислительные библиотеки, реализующие математические модели и решающие задачи численного анализа; интегрированная среда моделирования, предоставляющая гибкий графический интерфейс пользователя и интерфейсы внешнего взаимодействия со сторонним программным обеспечением.Основной функцией вычислительных библиотек является интегрированиеуравнений спин-орбитального движения.
К требованиям среды моделированияследует отнести наличие текстового редактора с подсветкой синтаксиса, функ-31ций автодополнения и подсказок; возможность проектной организации кода, когда логика разбивается на несколько независимых файлов; наличие графической интерпретации результатов. Для обеспечения взаимодействия со сторонними программными пакетами среда должна также обеспечивать функции кодогенерации и конвертации начальных данных в языки сторонних программ.
Среда моделирования должна обеспечивать для конечного пользователя следующиефункциональные возможности.1. Использование простого языка программирования: объявление переменных, выполнение арифметических операций, вызов элементарных функций, возможность комментирования кода.2. Задание управляющих элементов в простой и понятной нотации.3. Описание произвольных управляющих элементов.4. Визуализация проектируемого ускорителя.5. Вычисления таких характеристик кольца, как функция огибающей, дисперсия, коэффициент удлинения орбиты, частоты орбитальных колебаний.Нефункциональные требованияПроизводительность достигается использованием метода интегрированиядифференциальных уравнений на основе построения отображения.
Это позволит избежать использования низкопроизводительного пошагового интегрирования, достигнув максимально возможной скорости вычислений. Расширяемостьсреды моделирования обеспечивается наличием механизмов добавления новыхфункциональных элементов без необходимости перекомпиляции исходного кода. Исследователь может создать элемент с произвольным управляющим полемв самой среде программирования.
Сопровождение и поддержка продукта осуществляется посредством web-интерфейса. Обновление программы происходитв автономном режиме по сети Internet. Программа разрабатывается с открытымисходным кодом, не подразумевает коммерческого лицензирования.32Производные требованияБиблиотеки методов должны быть реализованы в виде кросс-платформенногокода, графическая оболочка разрабатывается на платформе .NET, что позволитбыстро и эффективно разработать GUI пользователя, работающего под управлением операционной системы Windows.
Разработка пользовательского интерфейса под Linux в рамках данного исследования не предусмотрена.Язык программирования, используемый в среде моделирования, реализуетсякак интерпретируемый нетипизируемый язык с C-подобным синтаксисом, допускающий использование вещественных чисел, строк и вызов функций с передачей в них параметров. Допускается использование как глобальных, так и локальных переменных. Задание управляющих элементов осуществляется путемперегрузки стандартных функций.В качестве метода построения отображения используется матричное интегрирование систем обыкновенных дифференциальных уравнений.














