Диссертация (1149675), страница 18
Текст из файла (страница 18)
1. 2.], [ 4. 0. 0.]]116mult_matrand перемножает числовую матрицу A и векторkpower(A, p)кронекеровских степеней p, результат - списокполиномов (матрица полиномиальных строк)A: numpy.array [[1, 2, 3],[4, 5, 6]]p2: список [’x x’, ’x y’, ’y y’]результат: список словарей[’x y’: 2, ’x x’: 1, ’y y’: 3,’x y’: 5, ’x x’: 4, ’y y’: 6]Класс mfsolver предоставляет набор функций для задания динамической системы и построения матричного отображения. Система уравнений описываетсяматрицами Pi , которые могут быть динамически изменены в процессе интегрирования отображения.__init__создает экземпляр объекта – динамическая система(self, phaseс вектором состояний phaseState, порядком разложенияState, orderP, диф.
уравнения OprderP и отображения OrderRorderR)phaseState: список [’x’, ’y’]orderP: целое число 2orderR: целое число 4reset_P(self )обнуляет матрицы self.Preset_R(self )задает self.R в виде тождественного отображения (3.4)set_P(self, F)заполняет матрицы self.P по правым частям F,которые задаются списком из полиномовF: список словарей [{’y’:-1., ’x y’: -1.},{’x’:1., ’x y’: 1.}]calc_P(self, t) обновляет матрицы self.P в зависимости от времениинтегрирования t, реализована как заглушка passt: время, в момент которого нужно вычислить значенияматриц self.PcalcDR(self,R, t)вычисляет правые части уравнения (3.6)в момент времени t для текущих матриц RR: список числовых матриц numpy.array в момент tt: вещественное число – момент времени117Также класс mfsolver содержит следующие атрибутыself .StateSize размер вектора состояния системы (размерность)self .OrderPпорядок нелинейности разложения правых частейself .OrderRпорядок нелинейности разложения отображенияself .Ordermax(OrderP, orderR)self .Xсписок кронекеровских произведений вектора состоянияself .Pсписок числовых матриц numpy.array, отвечающихразложению (3.2) правых частей уравненияself .Rсписок числовых матриц numpy.array, отвечающихразложению (3.3) матричного отображенияself .Timeтекущее время интегрированияВ случае, когда матрицы Pi постоянны (правые части дифференциальногоуравнение не зависят от времени), достаточно один раз после создание объектаmfsolver вызвать функцию set_P, задав тем самым матрицы разложения (3.2).Если матрицы Pi предполагаются кусочно-постоянными, то можно дискретноизменять их значения вызовом функции set_P между шагами интегрирования.Для не автономной системы, рекомендуется переопределить функцию calc_P,вычисляющую матрицы Pi (t).Ниже приведен пример построения матричного отображения для модели Лотки – Вольтерра с использованием библиотеки python.py.
Система дифференциальных уравнений имеет видẋ = −y − xy,ẏ = −x + xy.Построение матричного отображения третьего порядка производится следующим списком команд в интерпретаторе Python118>>> import mode>>> mf = mode.mfsolver(['x', 'y'], 2, 3)>>> mf.set_P([{'y':-1., 'x y': -1.},{'x':1., 'x y': 1.}])>>> mf.updateR_byRK4N(0.001, 100)>>> mf.Time0.10000000000000007>>> mf.R[array([[ 0.],[ 0.]]),array([[ 0.99500417, -0.09983342],[ 0.09983342, 0.99500417]]),array([[-0.00514545, -0.10414761, 0.00514545],[ 0.00481295, 0.09418922, -0.00481295]]),array([[-0.00015256, -0.00442015, 0.00577769, -0.00018641],[ 0.00014493, 0.00412266, -0.00541383, 0.00017745]])]Вычисление решения осуществляется по формуле( )xy= R0 + R1( )x0y0x30x2 2 0 x0 y0 + R2 x0 y0 + R3 x y 2 , 0 0y02y03где матрицы R0 , R1 , R2 , R3 определяются какR0 =( )0(R2 =(R3 =0,R1 =()0.99500417 −0.099833420.099833420.99500417−0.00514545 −0.104147610.005145450.004812950.09418922−0.00015256 −0.004420150.000144930.00412266,)−0.004812950.00577769−0.00541383,)−0.000186410.00017745,и описывают динамику в нулевом порядке (R0 ), в линейном приближении (R1 ),а также с учетом нелинейных эффектов второго (R2 ) и третьего (R3 ) порядков.119Фазовый портрет динамики системы с начальными данными x = −0.5, y =0, полученный при помощи построенного матричного отображения (красныйцвет) и используя метод Рунге – Кутта 4 порядка точности (синий цвет) представлен на рисунке B.1.Рис.
B.1. Фазовый портрет, модель Лотки – Вольтерра, 3 порядок нелинейностиКак видно из рисунка, при начальными данными x = −0.5, y = 0 решениеперестает описываться гармоническим осциллятором и начинают сказыватьсянелинейные порядки, о чем можно судить по искажению эллипса.120Приложение C Структура ускорителя COSYНиже на рисунке представлена модельная схема накопительного кольца ускорителя COSY. На ней присутствуют отклоняющие магниты (голубой цвет), фокусирующие квадрупольные линзы (зеленый), дефокусирующие квадруполи (красный) и свободные промежутки (серый).Рис.
C.1. Схема накопительного кольца COSYПоследовательность элементов в нотации программы MODE:lqt = 0.62; lqu = 0.372; h = 0.045; Brho=3.235571723422074;dip = MagnDipole(null, 7, 1.8326);qt1 = MagnQuadrupole(-0.549406751*Brho*h, h, lqt);qt2 = MagnQuadrupole( 0.507331668*Brho*h, h, lqt);qt3 = MagnQuadrupole( 0.72280814**Brho*h, h, lqt);qt4 = MagnQuadrupole(-0.668145234*Brho*h, h, lqt);qt5 = MagnQuadrupole(-0.613533788*Brho*h, h, lqt);qt6 = MagnQuadrupole( 0.569498699*Brho*h, h, lqt);qt7 = MagnQuadrupole(-0.619279946*Brho*h, h, lqt);qt8 = MagnQuadrupole( 0.559930244*Brho*h, h, lqt);qth = MagnQuadrupole( 0.72280814*Brho*h, h, 0.31);qu1 = MagnQuadrupole(-0.289312052*Brho*h, h, lqu);121qu2 = MagnQuadrupole( 0.364644483*Brho*h, h, lqu);qu3 = MagnQuadrupole(-0.289312052*Brho*h, h, lqu);qu4 = MagnQuadrupole( 0.451277248*Brho*h, h, lqu);qu5 = MagnQuadrupole(-0.289312052*Brho*h, h, lqu);qu6 = MagnQuadrupole( 0.364644483*Brho*h, h, lqu);return// íà÷àëî: ââîä ïó÷êàDrift(0.124)+ qu2 + Drift(0.439006) + dip +Drift(0.438899) + qu1 + Drift(5.985293) +// ïðÿìàÿ ñåêöèÿ:qt1 + Drift(0.38)+ qt2 + Drift(0.24) + qt2 + Drift(0.38) +qt1 + Drift(6.456309) + qt3 + Drift(0.38) + qt4 + Drift(0.24) +qt4 + Drift(0.38)+ qt3 + Drift(3.808101) +// íà÷àëî ââîäà ïó÷êà íà ìèøåíüqthalf + Drift(0.001) + steerer1 + Drift(0.001) +qthalf + Drift(0.38) + qt4+ Drift(0.24) +qt4+ Drift(1.918989) ++ Drift(0.38) + qt3// ìèøåíüDrift(4.537311) + qt1 + Drift(0.38) + qt2 + Drift(0.24) + qt2 +Drift(0.38)+ qt1 + Drift(1) +steerer2 + Drift(3.507162) +steerer3 + Drift(1.024128) +// íà÷àëî àðêèqu1 + Drift(0.439006) + dip + Drift(0.43899) +qu2 + Drift(0.439005) + dip + Drift(2.999996) +dip + Drift(0.439006) +qu2 + Drift(0.43899) + dip + Drift(0.439006) +qu1 + Drift(2.878)+ qu3 + Drift(0.439005) +dip + Drift(0.43899) +qu4 + Drift(0.439006) + dip + Drift(2.999996) +dip + Drift(0.439005) +qu4 + Drift(0.438991) + dip + Drift(0.439509) +qu3 + Drift(2.878)+ qu5 + Drift(0.438548) +122dip + Drift(0.438944) +qu6 + Drift(0.43899) + dip + Drift(2.999996) +dip + Drift(0.439006) + qu6 + Drift(0.43899) +dip + Drift(0.439006) + qu5 + Drift(3.985277) +// íà÷àëî ïðÿìîé ñåêöèèqt5 + Drift(0.38) + qt6 + Drift(0.240001) +qt6 + Drift(0.38) + qt5 + Drift(6.456294) +qt7 + Drift(0.38) + qt8 + Drift(0.24) +qt8 + Drift(0.38) + qt7 + Drift(7.820003) +qt7 + Drift(0.38) + qt8 + Drift(0.24) +qt8 + Drift(0.38) + qt7 + Drift(6.456294) +qt5 + Drift(0.38) + qt6 + Drift(0.24) +qt6 + Drift(0.38) + qt5 + Drift(3.985308) +//íà÷àëî àðêèqu5 + Drift(0.43896) + dip + Drift(0.439036) +qu6 + Drift(0.438959) + dip + Drift(2.999996) +dip + Drift(0.439006) + qu6 + Drift(0.439021) +dip + Drift(0.43899) + qu5 + Drift(2.877985) +qu3 + Drift(0.43902) + dip + Drift(0.438991) +qu4 + Drift(0.438975) + dip + Drift(3.000011) +dip + Drift(0.439021) + qu4 + Drift(0.438975) +dip + Drift(0.43902) + qu3 + Drift(2.877985) +qu1 + Drift(0.439006) + dip + Drift(0.439005) +qu2 + Drift(0.43899) + dip + Drift(2.999996) +dip + Drift(0.31499);Элементы steerer1, steerer2, steerer3 описывают отклоняющее поле (в горизонтальной или вертикальной плоскостях), или могут соответствовать свободным промежуткам.123Приложение D Структура электростатическогокольцаНиже представлено описание на языке программы MODE структуры электростатического кольца, которая использовалась для проведения численных экспериментов, описанных в работе.O1 = Drift(0.125);O2 = Drift(0.15);O3 = Drift(2.56);BPM = O2;R3 = ElCylindricalDeflector(null, 24.6642277, 0.05, 9.68561959);LfA = ElHypirbolicQuadrupole(8525, 0.05, 0.30);LdA = ElHypirbolicQuadrupole(-11075, 0.05, 0.30);Ld1 = LdA;ELS1 = ElSextupole2(400, 0.05, 0.1);ELS2 = ElSextupole2(-351, 0.05, 0.1);returnLfA+O1+Sf+O2+R3+O2+BPM+O1+LdA+ELS1+LdA+O1+Sd+O2+R3+O2+BPM+O1+LfA+ELS2+LfA+O1+Sf+O2+R3+O2+BPM+O1+LdA+LdA+O1+Sd+O2+R3+O2+BPM+O1+LfA+LfA+O3+Ld1+Ld1+O3+LfA+LfA+O1+Sf+O2+R3+O2+BPM+O1+LdA+LdA+O1+Sd+O2+R3+O2+BPM+O1+LfA+ELS2+LfA+O1+Sf+O2+R3+O2+BPM+O1+LdA+ELS1+LdA+O1+Sd+O2+R3+O2+BPM+O1+LfA+LfA+O1+Sf+O2+R3+O2+BPM+O1+LdA+ ELS1LdA+O1+Sd+O2+R3+O2+BPM+O1+LfA+ELS2+LfA+O1+Sf+O2+R3+O2+BPM+O1+LdA+LdA+O1+Sd+O2+R3+O2+BPM+O1+LfA+LfA+O3+Ld1+Ld1+O3+LfA+LfA+O1+Sf+O2+R3+O2+BPM+O1+LdA+LdA+O1+Sd+O2+R3+O2+BPM+O1+LfA+ELS2+LfA+O1+Sf+O2+R3+O2+BPM+O1+LdA+ELS1+LdA+O1+Sd+O2+R3+O2+BPM+O1+LfA;124Приложение E Эксперимент Aug/Sep 2013Beamtime@COSYЭксперимент направлен на изучение частоты (νs ) вращения вектора спинапучка частиц в магнитном поле.
Измерение поляризации пучка осуществляетсяполяриметром. Вывод пучка на мишень происходит в горизонтальной плоскостипри помощи отклоняющих магнитных полей (steerer1, steerer2 , steerer3).В эксперименте участвует пучок дейтронов энергией 235,97 MeV. Пучок выводится на мишень вертикальным магнитным полем, которое линейно нарастаетсо временем для каждого отклоняющего магнита от значения B0 до B1 . Ниже втаблице представлены значения, используемые в эксперименте.Таблица E.1.
Значения полей отклоняющих магнитов, Tkотклоняющий магнитB0B1steerer1-0,1261 -0,0439steerer20,0076 0,0017steerer3-0,0102 -0,0023На рисунке E.1 изображен график зависимости изменения частоты вращенияспина (∆νs ) от времени. График сдвинут от начала координат, так как выбраносмещенное значение начальной частоты.Рис. E.1. Рост частоты вращения спина в экспериментеВ соответствии с экспериментальными данными, частота вращения спинарастет линейно с течением времени.
Это объясняется линейным ростом полейотклоняющих магнитов и их вкладом во вращение вектора спина.125Таблица E.2. Усредненные экспериментальные данныеотсчет времени изменение частоты вращения относительная ошибкаспина ∆νs0-7.77304e-086.88419e-101-7.5067e-086.78181e-102-7.24037e-086.6795e-103-6.97403e-086.57726e-104-6.70769e-086.47511e-105-6.44135e-086.37303e-106-6.17502e-086.27105e-107-5.90868e-086.16916e-108-5.64234e-086.06736e-109-5.37601e-085.96566e-1010-5.10967e-085.86407e-1011-4.84333e-085.76259e-1012-4.577e-085.66124e-1013-4.31066e-085.56e-1014-4.04432e-085.4589e-1015-3.77799e-085.35793e-1016-3.51165e-085.25712e-1017-3.24531e-085.15645e-1018-2.97897e-085.05596e-1019-2.71264e-084.95563e-1020-2.4463e-084.8555e-1021-2.17996e-084.75556e-1022-1.91363e-084.65583e-1023-1.64729e-084.55633e-1024-1.38095e-084.45706e-1025-1.11462e-084.35805e-1026-8.48279e-094.25931e-1027-5.81942e-094.16087e-1028-3.15605e-094.06274e-1029-4.92683e-103.96494e-10302.17069e-093.86751e-10314.83406e-093.77047e-10327.49742e-093.67386e-10331.01608e-083.57769e-10341.28242e-083.48203e-10351.54875e-083.38689e-10361.81509e-083.29234e-10372.08143e-083.19843e-10382.34776e-083.1052e-10126отсчет времени изменение частоты вращения относительная ошибкаспина ∆νs392.6141e-083.01273e-10402.88044e-082.92109e-10413.14677e-082.83035e-10423.41311e-082.74062e-10433.67945e-082.65198e-10443.94579e-082.56455e-10454.21212e-082.47847e-10464.47846e-082.39387e-10474.7448e-082.31092e-10485.01113e-082.2298e-10495.27747e-082.15072e-10505.54381e-082.07392e-10515.81014e-081.99966e-10526.07648e-081.92822e-10536.34282e-081.85994e-10546.60916e-081.79517e-10556.87549e-081.73431e-10567.14183e-081.67779e-10577.40817e-081.62605e-10587.6745e-081.57957e-10597.94084e-081.53882e-10608.20718e-081.50427e-10618.47351e-081.47636e-10628.73985e-081.45546e-10639.00619e-081.44188e-10649.27252e-081.43583e-10659.53886e-081.43741e-10669.8052e-081.44659e-10671.00715e-071.46322e-10681.03379e-071.48706e-10691.06042e-071.51776e-10701.08705e-071.55493e-10711.11369e-071.5981e-10721.14032e-071.64681e-10731.16696e-071.70058e-10741.19359e-071.75895e-10751.22022e-071.82147e-10761.24686e-071.88774e-10771.27349e-071.95737e-10781.30012e-072.03001e-10127отсчет времени изменение частоты вращения относительная ошибкаспина ∆νs791.32676e-072.10536e-10801.35339e-072.18313e-10811.38003e-072.26308e-10821.40666e-072.34497e-10831.43329e-072.42863e-10841.45993e-072.51386e-10851.48656e-072.60051e-10861.51319e-072.68846e-10871.53983e-072.77756e-10881.56646e-072.86772e-10891.59309e-072.95884e-10901.61973e-073.05084e-10911.64636e-073.14363e-10921.673e-073.23715e-10931.69963e-073.33133e-10941.72626e-073.42613e-10951.7529e-073.52149e-10.















