Компонентно-ориентированный подход к разработке и использованию численных моделей в релятивистской ядерной физике тема автореферата и диссертации по физике, 01.04.01 ВАК РФ
Комогоров, Максим Эдуардович
АВТОР
|
||||
кандидата физико-математических наук
УЧЕНАЯ СТЕПЕНЬ
|
||||
Дубна
МЕСТО ЗАЩИТЫ
|
||||
2001
ГОД ЗАЩИТЫ
|
|
01.04.01
КОД ВАК РФ
|
||
|
ВВЕДЕНИЕ.
Актуальность проблемы.
Цель работы.
Содержание и структура диссертации.
1 ТРЕБОВАНИЯ К ПРОГРАММНОМУ ОБЕСПЕЧЕНИЮ.
1.1 Общие свойства численных моделей.
1.2 Типовые требования со стороны пользователей моделей.
1.3 Типовые требования со стороны разработчиков моделей.
1.4 Основные идеи компонентного подхода.
2 ОСНОВНЫЕ КОНЦЕПЦИИ СИСТЕМЫ.
2.1 Архитектура системы.
2.2 Модель компоненты.
2.2.1 Интерфейсы компоненты.
2.2.2 Отображения интерфейсов.
2.2.3 Свойства компонент и их разработка.
2.2.4 Модули компонент.
2.2.5 Документация компонент.
2.3 Модель данных.
2.3.1 Событие данных.
2.3.2 Файл данных и его отобраэ/сения.
2.3.3 Предопределенные события данных и каналы.
2.3.4 Библиотека классов транспортировки данных.
2.4 Проекты.
2.4.1 Отбор данных по заданной конфигурации.
2.4.2 Коллаборация компонент.
2.4.3 Событийно-ориентированные проекты.
2.4.4 Отображения проекта.
2.4.5 Агрегация компонент и их коллаборация.
2.5 Методы фреймворка.
2.5.1 Методы управления.
2.5.2 Методы навигации.
2.6 Интерфейс пользователя.
3 РАБОТА ПОЛЬЗОВАТЕЛЯ.
3.1 Навигация по спискам компонент и проектов.
3.2 Настройка компонент.
3.3 Сборка и редактирование проектов.
3.4 Управление выполнением проекта.
3.5 Работа с файлами данных.
3.6 Работа с гистограммами и плотами.
3.7 Получение справочной информации.
4 МОДЕЛИРУЮЩИЕ КОМПОНЕНТЫ.
4.1 Компоненты структуры частиц.
4.1.1 Свойства частиц.
4.1.2 Кварковый состав частиц.
4.1.3 Конверсия фотона.
4.2 Компоненты сечений взаимодействия адронов.
4.2.1 Модель составных кварков.
4.2.2 Померонная эйканальная модель.
4.2.3 Сечение одновершинной дифракционной диссоциации.
4.2.4 Сечение аннигиляции барионов.
4.3 Компоненты распада частиц.
4.3.1 Моделирование распада частиц.
4.3.2 Численный алгоритм Ы-частичного распада.
4.4 Компоненты распада струн.
4.4.1 Моделирование распада кластеров.
4.4.2 Моделирование распада продольных струн.
4.4.3 Моделирование распада кинковых струн.
4.4.4 Преобразования струн.
4.5 Компоненты упругого рассеяния частиц.
4.5.1 Упругое рассеяние адронов.
4.5.2 Упругое рассеяние глюонов.
4.5.3 Численный алгоритм упругого рассеяния.
4.6 Компоненты аннигиляции частиц.
4.6.1 Возбуждение струн через аннигиляцию партонов.
4.6.2 Статистический вес кварковой аннигиляции.
4.6.3 Статистический вес барионной аннигиляции.
4.7 Компоненты неупругих столкновений частиц.
4.7.1 Численный алгоритм столкновения частиц.
4.7.2 Определение числа продольных струн.
4.7.3 Определение числа кинковых струн.
4.7.4 Возбуждение продольных струн.
4.7.5 Возбуждение кинковых струн.
4.8 Компоненты моделирования ядер.
4.8.1 Свойства ядер.
4.8.2 Моделирование начальных состояний ядер.
4.8.3 Примеры применения компонент.
4.9 Компоненты неупругих столкновений ядер.
4.9.1 Численный алгоритм столкновения ядер.
4.9.2 Моделирование начальной стадии реакции.
4.9.3 Определение участников ядерных столкновений.
4.10 Сервисные компоненты.
4.10.1 Коррекция энергии и импульса системы частиц.
4.10.2 Распределения частиц.
4.11 Пример моделирования столкновения ядер.
Актуальность проблемы
Полное описание релятивистских адронных и ядерных взаимодействий из первых принципов квантовой хромодинамики очень ограничено. Как правило, мы можем получить предсказания КХД для взаимодействий с большими передачами импульса идущих на малых расстояниях. Однако известно, что доминирующими процессами в адронных и ядерных взаимодействиях являются процессы с относительно малыми передачами импульсов. Это так называемые мягкие процессы взаимодействия. Таким образом, очень важной является задача разработки и применения КХД обоснованных моделей для предсказания, описания и анализа мягких процессов. Помимо этого подготовка современных экспериментов в области физики высоких энергии, создание детекторов для этих экспериментов, которые дороги и сложны, а также проведение экспериментов требуют тщательного численного моделирования. Здесь так называемые Монте-Карло адронные модели или Монте-Карло (МК) генераторы событий взаимодействия частиц и ядер, являются очень популярными. Это феноменологические модели с большим числом параметров, значения которых определяются путем сравнения результатов моделирования с экспериментальными данными.
Таким образом, феноменологические МК адронные модели могут применяться как генераторы событий взаимодействий с целью изучения явлений при столкновениях или как источники информации об адронных столкновениях с целью использования этой информации [1].
МК адронные модели это сложные физические модели. Типичный МК генератор событий использует сложные численные алгоритмы для описания многочисленных физических процессов. Значительные усилия требуются, чтобы сформулировать, программировать и тестировать такие модели.
Применение МК генераторов для обработки полученных экспериментальных данных или при проектировании нового эксперимента также требует значительных усилий от пользователя. Большинство существующих модельных кодов в силу сложности их применения используются только их авторами. Даже для теоретиков, которые хорошо понимают физику данной модели, существуют значительные трудности, препятствующие использованию чужого кода, который бы помог в решении исследуемых проблем.
Объектно-ориентированный подход, основанный на применении С++, может быть применен для разработки МК кодов. Такой подход имеет много преимуществ по сравнению с традиционным процедурным программированием (смотри, например [2]). Наиболее важным из них является наличие различных средств языка С++, дающих возможность определения новых типов данных и операций для этих типов. Такие типы данных (например, тип частица, тип 4-х вектор), которые являются более «естественными», могут быть определены для конкретной предметной области, такой как разработка МК генераторов, и разработчик МК генератора может также легко обращаться с новыми типами, как и с встроенными в С++ типами данных.
В данной работе необходимость создания объектно-ориентированного фреймворка [3], в рамках которого можно создавать и использовать численные модели, обосновывается тем, что адронные МК модели, а также их применения и разработки имеют много общего. Создание фреймворка ещё более оправдано в том случае, когда число разрабатываемых моделей велико и это число может возрасти в будущем.
Типичный фреймворк [3] является хорошо документированной коллекцией программного обеспечения, созданного с целью разработки связанных приложений. Он определяет основную архитектуру разрабатываемого приложения. Для того, чтобы быть полезным, фреймворк должен максимальным образом обеспечивать необходимые свойства и функциональность разрабатываемых на его основе приложений и включать уже разработанные приложения. Он должен способствовать созданию легко модифицируемых и расширяемых приложений. Основная цель создания фреймворка состоит в его многократном использовании. Разработчик приложений должен иметь возможность использовать уже написанный код, например, библиотеки классов, входящих в фреймворк, а так же саму архитектуру фреймворка. Архитектура любого фреймворка тесно связана с так называемыми «архитектурными образцами», которые широко применяются для конструирования и документирования определенных частей фреймворка.
Архитектурные образцы» представляют собой найденные при разработке программного обеспечения успешные решения типичных проблем программирования, которые представляет общий интерес для большого числа программистов. В частности, так называемые «фабрики» и «заместители» (смотри книгу [4]) были использованы при разработке предлагаемой системы.
Разработанный объектно-ориентированный фреймворк полезен для двух профессиональных категорий людей: это пользователи численных моделей и разработчики (продвинутые пользователи) численных моделей. Пользователем моделей считается тот, кому при работе с данным программным обеспечением или системой не требуется создавать или модифицировать код модели. Он работает с моделями посредством пользовательского интерфейса, то есть он не должен знать какой-либо язык программирования. Разработчик моделей работает с системой на уровне системных интерфейсов. Он должен знать основные концепции, которые лежат в основе системы, её структуру, её библиотеки и, конечно же, язык программирования С++.
Основная идея системы в дальнейшем называемой №Мах, состоит в том, что она должна поддерживать компонентный подход при разработке и использовании численных моделей. Отдельная компонента может представлять собой программную реализацию какой-либо модели, например упругого рассеяния адронов, или модели сложного физического явления, каким является столкновение ультра-релятивистских тяжелых ионов. Предполагается, что данная система может быть той основой, с помощью которой можно разработать библиотеку моделирующих компонент, имеющих различные численные алгоритмы, что может позволить в дальнейшем использовать эту библиотеку как хранилище «строительных блоков» для сборки сложных и реалистических физических моделей.
Цель работы
Основной целью работы является проектирование и разработка компонентно-ориентированного программного обеспечения для создания и использования численных моделей в физике высоких энергий, а также его применение для МК генераторов событий взаимодействий частиц и ядер.
Содержание и структура диссертации
Диссертация состоит из введения, четырех частей основного текста и заключения.
Заключение
• В работе предложен новый подход к разработке и использованию численных моделей в релятивистской ядерной физике. Это компонентный подход, при котором сложная численная модель собирается из более простых независимых моделирующих компонент.
• С целью реализации данного подхода автором сформулировано понятие стандартной компоненты. Любая компонента рассматривается как набор стандартизированных интерфейсов между её численным алгоритмом и внешним миром.
• Автором определена единица обмена данными - событие данных. Компонента может генерировать такие события и записывать их в файл данных для дальнейшего анализа и визуализации. Компонента может зачитывать такие события из файла данных или получать их от других компонент.
• Автором разработан формат файла данных, который позволяет хранить огромные объемы данных и осуществлять эффективную работу с данными. Необходимо отметить, что файл данных, отображения файла данных, а также связанные с ними методы контроля и навигации могут рассматриваться как независимая система работы с данными, имеющая различные применения.
• Для реализации компонентного подхода автором создано компонентно-ориентированное программное обеспечение, объединенное в систему №Мах. На сегодняшний день не существует аналогичных систем, поддерживающих разработку и использование численных моделей в физике высоких энергий.
• Автором предложен механизм агрегирования одними компонентами других, который позволяет программисту создавать сложные составные компоненты, используя в качестве "строительных блоков" уже существующие компоненты. А пользователи получают возможность замещения компонент на альтернативные без нового проектирования и перепрограммирования моделей.
• Автором предложены механизм взаимодействия нескольких компонент между собой и методика отбора данных в соответствии с заданной конфигурацией, что позволяет организовать совместную работу нескольких компонент путем передачи данных, имеющих достаточно сложную структуру, и дает возможность структурного и аналитического отбора данных. Такой механизм не имеет аналогов в существующем программном обеспечении.
• Созданная система №Мах применена к конкретному классу задач, а именно к разработке и использованию МК генераторов событий взаимодействия частиц и ядер в области релятивистской ядерной физики. В рамках данного подхода создан большой набор компонент, которые дают возможность проводить численное моделирование взаимодействий частиц и ядер в большом диапазоне энергий и для большого набора снарядов и мишеней.
Научная новизна
Некоторые концепции, реализованные в системе, не имеют аналогов в существующем программном обеспечении.
1. Это механизм агрегирования компонент другими компонентами. Данный механизм позволяет С++ программисту создавать сложные компоненты, используя коды готовых компонент, без каких-либо ограничений по сравнению со стандартным С++ программированием. Для внешнего мира агрегирующая компонента выглядит так же, как простая компонента. Вместе с тем, пользователь этой компоненты имеет доступ к любой её подкомпоненте и может изменить алгоритм компоненты путем подмены подкомпонент.
2. Автором предложен механизм отбора данных в соответствии с заданной конфигурацией данных. Этот механизм позволяет организовать совместную работу нескольких компонент путем передачи данных, имеющих достаточно сложную структуру, и дает возможность структурного и аналитического отбора данных записанных в файл данных.
Практическая значимость
Созданная система может быть использована и для других задач. Это, прежде всего, задачи связанные с разработкой и применением сложных численных моделей. Помимо этого, система может быть использована для структурной, аналитической и графической обработки данных, полученных из различных источников.
Апробация работы и публикации
Материалы, изложенные в диссертации, неоднократно докладывались и обсуждались на семинарах и совещаниях: семинары ЛВЭ, ЛИТ и ЛФЧ ОИЯИ г.Дубна (Россия), семинары физического факультета университета г.Ювяскула (Финляндия), семинар физического факультета университета г.Хельсинки (Финляндия), на совещании коллаборации ALICE, CERN г.Женева (Швейцария). Материалы диссертации были представлены на нескольких международных конференциях: Вычислительная техника в Физике Высоких Энергий (Computing in High Energy and Nuclear Physics CHEP2000) г. Падова (Италия), XV Международный Семинар по Проблемам Физики Высоких Энергий (The XV Int. Seminar on High Energy Physics Problems) г. Дубна. XV Международная Конференция по Ультра-Релятивистским Ядро-Ядерным Столкновениям (The XV International Conference on Ultra-Relativistic Nucleus-Nucleus Collisions QM 2001), Нью-Йорк (США), Second International Workshop: Very High Multiplicity Physics, г.Дубна (Россия), Северо-Западная Европейская Конференция по Ядерной Физике (The North-West Europe Nuclear Physics Conference, NEW'01), г.Берген, Норвегия.
Материалы диссертации были опубликованы в работах, список которых приводится ниже.
Благодарности
В заключении я выражаю свою искреннюю благодарность моему научному руководителю д.ф.м.н Н.С. Амелину за постановку задачи и за долговременное сотрудничество в процессе создания системы NiMax, за неоценимую помощь и ценные замечания при работе над материалами диссертации.
Я очень благодарен за сотрудничество моим коллегам из Лаборатории Высоких Энергий Объединенного Института Ядерных Исследований.
Мне хочется поблагодарить моих коллег Физического факультета университета г. Ювяскула (Финляндия) за их интерес к разработке МК генераторов событий взаимодействия частиц и ядер с использованием компонентного подхода, а также за многочисленные обсуждения.
Я хочу поблагодарить свою маму J1.B. Комогорову за неоценимую помощь при работе с текстами диссертации и за моральную поддержку во время работы.
Также я хочу поблагодарить мою жену Елену за предоставленную мне возможность работать над диссертацией.
1. Amelin N., Physics and Algorithms of the Hadronic Monte-Carlo Event Generators. Notes for a developer. CERN/1./99/6.
2. Wenaus T. et al., GEANT4: An Object-Oriented Toolkit for Simulation in HEP,CERN/LHCC/97-40.
3. Taligent's Guide: Building Object-Oriented Frameworks, http://www.ibm.com/java/education/oobuilding/index.html
4. Gamma E., Helm R., Johnson R., Vlissides J., Design Patterns. Elements of Reusable Object-Oriented Software, Eddison-Wesley, 1995.
5. Amelin N. and Komogorov M., An Object-Oriented Framework for the Hadronic Monte-Carlo Event Generators. JINR Rapid Communications, 1999, No. 5-6 97]-99, p. 52-84.
6. Amelin N. and Komogorov M., An Object-Oriented Framework for the Hadronic Monte-Carlo Event Generators. In Proc. of Int. Conf. on Computing in High Energy and Nuclear Physics (CHEP2000), 7- 11 February 2000, Padova, Italy, p. 119-123.
7. Komogorov M. and Amelin N., Component-oriented framework for hadron Monte-Carlo event generators. The abstract published in Proc. of XXXIV annual conference of the Finish Physical Society, March 9-11, 2000, Espoo, Finland, p. 91.
8. Amelin N. and Komogorov M., NIMAX: A New Approach to Develop Hadronic Event Generators in HEP. PHYS. P&N LETTERS, 2000, No. 3 100J-2000, p. 35-47.
9. Kruglinski D. J., Shepherd G., Wingo S. Programming Microsoft Visual C++, Fifth Edition, Microsoft Press, 1998.
10. Orfali R., Harkey D., Edwards J., The essential distributed objects. Survival guide., John Wiley and Sons, Inc., 1996.
11. Amelin N. and Komogorov M., Hadronic Model Components, in preparation.
12. Class Library for High Energy Physics, http://wwwcl.cern.ch/asd/lhc++/clhep/index.html
13. Brun R. et al., ROOT System, CERN/HP, 1997, http://root.cern.ch/.
14. HBOOK Statistical Analysis and Histograming Reference Manual, CERN Program Library Long Writeups Y250, CERN Geneva, Switzerland, 1998.
15. Particle-Data-Group, Phys. Rev. D45 1342 (1992).
16. Particle-Data-Group, Phys. Rev. D54 1 (1996).
17. Particle-Data-Group 98, Eur. Phys. J. C3 1 (1998).
18. Particle-Data-Group 2000, Eur. Phys. J. C15 1 (2000).
19. Piller G., Ratzka W., Weise W., Z. Phys. A352 427 (1995).
20. Bauer T. H„ Spital R. D., Yennie D. R., Rev. Mod. Phys. 50 261 (1978).
21. Levin E. M„ Frankfurt L. L„ Pisma ZhETP 3 105 (1965).
22. Lipkin H. J., Sheck F„ Phys. Rev. Lett. 16 71 (1966).
23. Bass S. A. et al, Prog. Part. Nucl. Phys. V. 41 225 (1998).
24. Abramovskii V. A., Gribov Y. N., Kancheli О. V., Sov. J. Nucl. Phys. 18 (1974) 308.
25. Baker M. and Ter-Martirosyan K. A., Phys. Rep. 28C (1976) 1.
26. Goulianos K., Phys. Rep. 101 169 (1983).
27. Koch P., Dover С. В., Phys. Rev. C40 145 (1989).
28. Корылов Г. И., Основы кинематики резонансов, Наука, Москва, 1970.
29. Gottschalk Т. D„ Nucl. Phys. В214 201 (1983); В227 413 (1983).
30. Weber В. R„ Nucl. Phys. B238 492 (1984).
31. Andersson В., Gustafson G., Ingelman G., Sjöstrand Т., Phys. Rep. 97 31 (1983).
32. Kaidalov А. В., Sov. J. Nucl. Phys. 45 1452 (1987).
33. Ali A, Pietarinen E., Kramer G., Willrodt J, Phys. Lett. B93 155 (1980).
34. Altarelli G. and Parisi G., Nucl. Phys. B126 298 (1977).
35. Baker M. and Ter-Martirosyan K. A., Phys. Rep. 28C 1 (1976).
36. Cugnon J., Mizutani Т., Vandermeulen J., Nucl. Phys. A352 505 (1981).
37. Volkovitskii P. E., Sov. J. Nucl. Phys. 44 729 (1986).
38. Amelin N. S., Bravina L. V., Sarycheva L. I., Sov. J. Nucl. Phys. 50 1705 (1989).
39. Kaidalov А. В., Ter-Martirosyan K. A., Phys. Lett. B117 247 (1982).
40. Capeila A., Sukhatme U., Tan С. I., Tran Thanh Van. J., Phys. Rep. 236 225 (1994).
41. Amelin N. S„ Bravina L. В., Sov. J. Nucl. Phys. 51 (1990) 211;
42. Abramovskii V. A., Gribov V. N., Kancheli О. V., Sov. J. Nucl. Phys. 18 308 (1974).
43. Amelin N. S., Stöcker H, Greiner W., Armesto N., Braun M. A., Pajares С., Phys. Rev. C52 362 (1995).
44. Werner К., Drescher H. J., Furier E., Hladik M., Ostapchenko S., in Proc.: 3rd Inter. Conf. on Physics and Astrophysiks of Quark-Gluon Plasma, Jaipur, India, March 17-21, 1997.
45. Ranft J, Capella A„ Tran Thanh Van, Phys. Lett. B320 346 (1994).