ВысоцкийЛ.И., Соловьев С.Ю., Сычугов Д.Ю.
1.3. ИНТЕРНЕТ-ТЕХНОЛОГИИ ИНТЕГРИРОВАННОГО МОДЕЛИРОВАНИЯ ПРОЦЕССОВ В УСТАНОВКАХ ТОКАМАК
Высоцкий Л.И., студент факультета ВМК МГУ им. М.В. Ломоносова, Москва, Россия. E-mail: vysotskylev@ yandex.ru
Соловьев С.Ю., профессор факультета ВМК МГУ им. М.В. Ломоносова, Москва, Россия. E-mail: administrator <glosscom@mail.ru>
Сычугов Д.Ю., профессор факультета факультет ВМК МГУ им. М.В. Ломоносова, Москва, Россия. E-mail: sychugov@cs.msu.ru
Аннотация. В работе излагается концепция нового вычислительного ресурса открытого доступа nfusion.cs.msu.ru, включающего в себя модули расчета равновесия, вертикальной устойчивости, эволюции и транспорта плазмы, а также имитационные системы магнитной диагностики. Упомянутые модули интегрированы в единую программную среду, ориентированную на численное сопровождение экспериментов на установках токамак. Ресурс позволяет обращаться через интернет к расчетным модулям, хранящимся на сервере, обмениваться между ними данными и выдавать результаты расчетов в виде файлов, рисунков, графиков и таблиц. Ресурс поддерживает одновременную работу нескольких пространственно удаленных пользователей и обладает системой информационной поддержки на русском и английском языках.
Ключевые слова: установки токамак, численное моделирование, единая программная среда.
1.3. INTERNET-TECHNOLOGY OF INTEGRATED MODELLING OF PROCESSES IN TOKAMAK DEVICES
Vysotsky L.I., student Faculty of Computational Mathematics and Cybernetics of Lomonosov Moscow State University, Moscow, Russia
Solovyev S.Yu., professor Faculty of Computational Mathematics and Cybernetics of Lomonosov Moscow State University, Moscow, Russia
Sychugov D.Yu., professor Faculty of Computational Mathematics and Cybernetics of Lomonosov Moscow State University, Moscow, Russia
Abstract. The authors developed a new resource with open access, currently located at URL nfusion.cs.msu.ru. It includes modules to compute equilibrium, vertical stability, plasma evolution and transport, as long as imitational systems of magnetic diagnostics. These modules are integrated into a common software environment allowing to perform numerical experiments on tokamak devices. The user can communicate through the Internet with the computational modules stored on the server, perform automatic data exchange between them and get the results in form of files, pictures, plots and tables. The system allows simultaneous access of multiple users and has informational support in English and Russian.
Index terms: tokamak, numerical modelling, integrated software environment.
1. Введение
Ведущееся в настоящее время строительство установок токамак нового поколения и планирование экспериментов на них невозможно без активного применения методов математического моделирования. Параллельно со строительством в рамках программы УТС созданы и успешно эксплуатируются сотни численных кодов, моделирующих наиболее важные процессы в плазме. Эти коды реализованы в разное время различными группами исследователей, и вследствие этого, недостаточно хорошо приспособлены к интеграции в единую систему. Важнейшей современной задачей является создание интегрированной программной среды, предназначенной для проектирования установок токамак и последующего сопровождения на них экспериментов. Фактически задача состоит в разработке системы, объединяющей набор численных кодов, который позволяет моделировать жизненный цикл всей установки в целом, включая этапы проекти-
рования, физического пуска, выхода на запланированные показатели, а также сопровождения экспериментов. Авторы занимались разработкой такой системы, в данной статье описывается ее нынешнее состояние.
2. Требования к единой программной среде
Отправной точкой для разработки требований к единой программной среде является понятие «сценарий разряда», который можно рассматривать как последовательность следующих шести стадий: создание условий пробоя, пробой, стадия подъема тока, образование сепаратрисы (для установок с дивертором), стадия выхода на квазистационар (для установок с длительным режимом работы стационар), стадия затухания. Для сопровождения экспериментов по нагреву плазмы необходимо численно моделировать перечисленные стадии, а при разработке проектов нейтронных источников и реакторов - рассчитывать потоки нейтронов
и их воздействие. При этом на всех стадиях разряда приходится считаться с возможностью возникновения так называемых срывов, которые могут приводить как к резкому падению плотности и температуры плазмы, так и к гибели всего разряда в целом. Для предотвращения срывов приходится контролировать параметры шнура, его форму и положение, что приводит к необходимости разработки имитационных систем диагностики и управления. Таким образом, минимальный набор модулей математической поддержку экспериментов включает в себя: код расчет МГД равновесия и эволюции плазмы, код расчета ее устойчивости (иначе сценарий может оказаться нереальным), код расчета баланса энергии и частиц, а также симуляторы систем диагностики, управления плазменным шнуром, и симулятор работы магнитной системы установки. Эти численные коды, вообще говоря, написанные разными людьми в разное время, следует объединить в единую программную среду, обладающую единым интерфейсом, единой автоматизированной системой обмена данными между собой, и общими средствами выдачи результатов. Необходимо также наличие единой информационной системы и инструкций по работе с модулями, как с каждым по отдельности, так и в комплексе. Важно отметить, что программное обеспечение и аппаратные средства должны поддерживать многопользовательский режим.
3. Общая структура единой программной среды
Требования к системе определили набор входящих в нее численных кодов [1-9]. При таком обширном инструментарии оказалось целесообразным разделить информационно-справочную часть ресурса, расположенную на plas-ma-fusion.ru, и функциональную часть, которая расположена по адресу nfusion.cs.msu.ru. Функциональная составляющая системы реализована по принципу «клиент-сервер». Сервер представляет собой высокопроизводительную рабочую станцию, клиентами могут быть как настольные компьютеры и ноутбуки, так и любые мобильные устройства. Серверная часть системы отвечает за разграничение доступа к данным и вычислительным ресурсам различными пользователями, за запуск вычислительных модулей и взаимодействие с ними, а также за преобразование входных и выходных данных для передачи клиенту. Клиентская часть системы реализует отображение пользовательского интерфейса, включая графики, таблицы и рисунки, а также интерактивное взаимодействие с ними.
В серверной части первой версии системы используется HTTP-сервер Apache, который обращается к программам на языке Python, которые, в свою очередь запускают вычислительные модули, написанные на различных языках (C, C++, Fortran и др.) и скомпилированные в исполняемые файлы. Клиентская часть использует только веб-технологии: графический интерфейс реализован на языках HTML и CSS, логические зависимости - на языке JavaScript. Принятый подход позволяет не разворачивать специальную программную среду для работы на клиентском устройстве: достаточно современного веб-браузера. Взаимодействие между клиентом и сервером осуществляется по протоколу HTTP, основной формат данных - XML.
4. Технологии включения модулей в единую программную среду
В настоящее время добавление в систему новых модулей является творческим процессом, подчас требующим значительных усилий. Дело в том, что вычислительные коды
написаны на разных языках и используют разные форматы данных и библиотеки отрисовки графических пользовательских интерфейсов. Вместе с тем, накопленный опыт позволяет сформулировать некоторые общие этапы процесса включения.
В первую очередь необходимо изменить исходную программу, преобразовав её в консольное приложение с унифицированным форматом входных и выходных данных. Обычно данные читаются и пишутся в файлы, указанные в аргументах командной строки. Во вторую очередь конструируется серверная часть. Как правило, в этой части необходимо реализовать НТТР-интерфейс с командами вида «сохранить входные данные», «запустить код» и «скачать выходные данные». В третью очередь реализуется клиентская часть. Сюда относятся специфичные для конкретного вычислительного кода части графического интерфейса, отображение и предоставление возможности скачивания графиков, рисунков, таблиц и прочих файлов. Здесь же реализуется логика взаимодействия с сервером и реакции на действия пользователя.
По мере конструирования системы выяснилось, что значительную часть программного кода можно вынести в отдельные библиотеки для повторного использования. После создания библиотек разработка серверной и клиентской частей новых модулей существенно упростилась, как и поддержка системы в целом. Самой трудной задачей является адаптация самого вычислительного кода к единой программной среде. Немалые неприятности доставляет также и то, что «пути разработки» оригинального и адаптированного кодов неизбежно расходятся, что приводит к необходимости вручную обновлять адаптированную версию при обновлениях оригинального кода. Возможным решением этой проблемы является разделение программы на собственно вычислительную часть и часть, отвечающую за отображение результатов. В этом случае на этапе адаптации можно подменять «отображающую» часть кода, а разработка и развитие вычислительной части может идти своим чередом. Конечно же, для реализации этой идеи авторы кода либо должны соблюдать стандарт, либо должны тесно сотрудничать с разработчиками единой программной среды.
5. Технология автоматизированного обмена данными
Одной из центральных проблем разработки подобных интегрированных систем является организация обмена данными. Дело в том, что рабочие модули имеют разное происхождение и, как следствие, имеют разные форматы файлов входных данных. Тем самым, возникает задача передачи данных. Типичным проявлением проблемы является необходимость передать результаты счета из одного модуля (численного кода) в другой модуль, в котором они используются как входные данные. Если единая программная среда состоит из небольшого числа модулей, к тому же реализованных по одному стандарту, то проблема кажется надуманной. Однако, по мере роста числа модулей и усложнения схемы обмена данными между ними, трудности начинают проявляться и скоро начинают казаться непреодолимыми. Перечислим стандартные способы решения проблемы.
1. Сочетание автоматического и ручного способов обмена. Этот способ вполне пригоден при проведении небольшого числа расчетов и неприемлем для массовых вычислений.
ВысоцкийЛ.И., Соловьев С.Ю., Сычугов Д.Ю.
2. Введение жесткого стандарта на файлы входных и выходных данных. Способ оправдан для инженерных расчетов по доведенным до совершенства численным кодам, и начинает давать сбои в научных расчетах, особенно в том случае, когда приходится модифицировать заложенные в численные алгоритмы модели.
3. Реализация специализированных программ-переходников для обмена данными. Способ оправдан, когда глобальная проблема обмена сводится к более простой задаче наладки обмена данными между двумя модулями. Недостатки программ-переходников во многом повторяют недостатки стандартизации обменов, а, кроме того, число таких программ растет вместе с числом модулей.
В единой системе нами развивается альтернативный способ связывания по данным, основанный на существовании
значительного числа «глобальных» понятий, которыми оперируют создатели разных модулей. Для установок токамак таким понятиями являются число катушек полоидального поля, их расположение, размеры, число витков в катушках, геометрия и материал первой стенки, типы датчиков, их расположение и точность измерений, и др. Такими же «глобальными» характеристикам являются полный ток в плазме, значение параметра бета, индуктивность плазменного шнура и тому подобное. Поэтому при создании файлов данных достаточно каждую переменную, группу переменных или массив снабдить соответствующим «указателем смысла». Тем самым, считывание данных для каждого расчетного модуля можно свести к набору действий: «считать геометрию магнитных катушек»; «считать геометрию и материал первой стенки», и др. Реализации подобной идеи может полностью автоматизировать обмен данными между кодами.
Рис. 1. Рабочее окно кода ТОКБСЕ^, входящего в единую программную среду
6. Выводы
Описанная программная среда совмещает:
а) расчетные модули процессов, протекающих в плазме;
б) средства, позволяющие работать с ними в режиме удаленного доступа;
в) средства обмена данными между модулями; (г) и информационный блок.
Разработанное программное обеспечение является открытым ресурсом, позволяющим в полной мере прора-
батывать конструкции установок токамак и численно моделировать эксперименты на данных установках. Хотя данная система имеет узкую направленность на установки токамак, принципы, заложенные в ней, могут быть применены при разработке и других виртуальных аналогов сложных технических устройств.
Благодарности. Работа выполнена при поддержке грантов РФФИ № 17-07-00544-а и № 17-07-00883-а.
Литература
1. Sadykov A.D., Sychugov D.Yu., Shapovalov G.V., Chektybaev B.Zh., Skakov M.K. and Gasilov N.A. The numerical code TOKSCEN for modelling plasma evolution in tokamaks // Nuclear Fusion. Number 4. V. 55, 043017. doi:10.1088/0029-5515/55/4/043017.
2. Сычугов Д.Ю. Код для расчета МГД равновесия TOKAMEQ (модуль библиотеки программ «Виртуальный токамак» // Вопросы атомной науки и техники. Сер.: Термоядерный синтез. 2008. Вып. 4. С. 85-89.
3. Сычугов Д.Ю., Амелин В.В., Гасилов Н.А. Модуль TOKSTAB (модуль библиотеки программ «Виртуальный токамак» // Вопросы атомной науки и техники. Сер.: Термоядерный синтез. 2010. Вып. 3. С. 46-49.
4. Садыков А.Д., Шаповалов Г.В., Чектыбаев Б., Сычугов Д.Ю., Гасилов Н.А. Расчетный код «TOKSCEN» моделирования сценария разряда в токамаке (модуль библиотеки «Виртуальный тока-мак»). Вопросы атомной науки и техники. Сер.: Термоядерный синтез. 2013. Вып. 4. С. 94-101.
5. Хайрутдинов Р.Р., Лукаш В.Э. Модуль «DINA-EQDSK» (модуль библиотеки программ «Виртуальный токамак» // Вопросы атомной науки и техники. Сер.: Термоядерный синтез. 2009. Вып. 3. С. 57-59.
6. Хайрутдинов Р.Р., Лукаш В.Э. Модуль DINA-Transp (модуль библиотеки программ «Виртуальный токамак» // Вопросы атомной науки и техники. Сер.: Термоядерный синтез. 2010. Вып. 3. С. 50-54.
7. Лукаш В.Э., Хайрутдинов Р. Р. Модуль DINA-FIT (Модуль библиотеки «Виртуальный токамак») // Вопросы атомной науки и техники. Сер.: Термоядерный синтез. 2011. Вып. 3. С. 88-92.
8. Лукаш В.Э., Хайрутдинов Р.Р. Модуль DINA-ORBITS (Модуль библиотеки «Виртуальный токамак») // Вопросы атомной науки и техники. Сер.: Термоядерный синтез. 2012. Вып. 4. С. 93-96.
9. Зотов И.В., Белов А.Г. Вычислительный код RPB для расчета границы плазмы по магнитным измерениям (модуль библиотеки «Виртуальный токамак») // Вопросы атомной науки и техники. Сер.: Термоядерный синтез. 2014. Вып. 1. С. 97-102.