автореферат диссертации по информатике, вычислительной технике и управлению, 05.13.11, диссертация на тему:Архитектура программ для решения уравнения переноса методом Монте-Карло
Автореферат диссертации по теме "Архитектура программ для решения уравнения переноса методом Монте-Карло"
ИНСТИТУТ ПРИКЛАДНОЙ МАТЕМАТИКИ им. М.В. КЕЛДЫША РАН
'/г*
Гуревич Михаил Исаевич
АРХИТЕКТУРА ПРОГРАММ ДЛЯ РЕШЕНИЯ УРАВНЕНИЯ ПЕРЕНОСА МЕТОДОМ МОНТЕ-КАРЛО
05.13.11 — Математическое и программное обеспечение
вычислительных машин, комплексов, систем и сетей 05.13.16 — Применение вычислительной техники, математического моделирования и математических методов в научных исследованиях
(в отрасли физико-математических наук)
Автореферат диссертации на соискание ученой степени доктора физико-математических наук
Москва—1995
Работа выполнена в Институте ядерных реакторов •Российского Научного Центра "Курчатовский институт"
Официальные оппоненты: доктор физико-математических наук
А.Н.Томилин
доктор физико-математических наук И.М.Соболь
доктор физико-математических наук ч В.Я.Карпов
Ведущая организация - ГНЦ Физико-Энергетический Институт
город Обнинск
Защита состоится "_;" _ 199_ г.
на заседании Специализированного совета Д 002.40.01
при Институте прикладной математики им. И. В. Келдыша РАН
по адресу: Москва, Миусская пл., д. 4.
С диссертацией можно ознакомиться в библиотеке ИПМ им.М.В.Келдыша РАН.
Автореферат разослан "_" _ 199 г.
Ученый секретарь Специализированного совета, кандидат физико-математических наук
Х-А.Полилова
ОБШАЯ ХАРАКТЕРИСТИКА РАБОТЫ
Прецизионные методы решения задачи переноса нейтронов и гамма-квантов играют все большую роль в ядерной энергетике и смежных дисциплинах. Они дополняют и частично заменяют эксперименты. Без них невозможно получить ряд важных характеристик установок и создать новые инхенерные программы. Стоимость прецизионных расчетов значительно ноте стоимости экспериментов.
В ядерной энергетике метод Понте-Карло имеет следующие применения:
- получение информации для уточнения оценки ядерных констант;
полный расчгт ядерно-энергетических установок, в том числе энергетических реакторов и хранилищ ядерного топлива;
- расчет защиты ядерно-энергетических установок, включая как задачу оценки биологической защиты, так и прогноз охрупчивания элементов конструкции под воздействием быстрых нейтронов;
- расчет полиячеек для анализа эффектов, не связанных с нейтронным полем в целом, и получения данных для инженерных программ.
Все это показывает, что программы расчета переноса нейтральных частиц являются необходимым инструментом при проектировании ядерно-энергетических установок и анализе их безопасности.
Алгоритмы, используемые в расчетах метооои Монте-Карло, находят широкое применение в программах, реализующих другие методы решения уравнения переноса. Особенно это относится к методу вероятностей первых столкновений (ВПС) и его обобщениям.
Во всех странах, ведущих разработки в области ядерной энергетики, . ухе в течении десятков лет создаются и совершенствуются программ для расчета переноса, методом Монте-Карло. В настоящее время наиболее известными являются ЬСНР (США), MOTSE (COA), VIM (США). ШЮ (США), HONK (Великобритания), TRIPOLI (франция). В России создана и развивается универсальная программа MCU, по своим качествам не уступающая зарубежным аналогам. Практика ядерной энергетики ставит новые задачи, решаемые методом Монте-Карло. Отсюда очевидна актуальность совершенствования существующих программ и создания новых. .
Цель_£абота.
Современный пакет программ для расчета различных классов задач по методу Монте-Карло имеет сложную архитектуру и состоит из многих десятков тысяч строк языка высокого уровня. Метод Монте-Карло требует длительных вычислений, сложной связи разнородных алгоритмов и
использования методов разных областей программирования.
Целью работы являлось: создание технологии производства открытых пакетов программ решения задач переноса нейтронов и ее практическая реализация с использованием подходов системного программирования;
- генерация версий программы, адаптированных на конкретный класс задач и вычислительных сред;
создание универсального многоязыкового геометрического модуля, полностью защищенного от аварийных потерь точности и управления, не уступающего по быстродействию специализированным модуям;
усовервенствовалие способа применения метода ВПС для сложных геометрий;
- создание средств эффективного задания сложных геометрий и средств контроля подготовленных данных;
- создание возможности расчета систем с двойной гетерогенностью.
|^3£^ад_новизна_ивположента£_выдв^аенъ)е_на_за1йиту.
В области применения математической статистики к вычислениям по методу Монте-Карло имеется большое количество работ. Опубликован большой материал, касающийся Физических основ моделирования частиц траекторий. Программному аспекту в литературе пока уделяется неньвю внимания.
В настоящей работе новым является следующее:
- разработка архитектуры программных пакетов для метода Монте-Карло средствами системного программирования с использованием подходов, характерных для операционных систем: макрогенерация для создания версий, выделение роли очередей и рекомендации по созданию общей архитектуры этих программ как моделей систем с очередью, модульность и выявления ключевых объектов межмодульных связей;
- разработка архитектуры универсальных геометрических модулей как •многоязыховых структур, включающих компиляторы с универсальных и специализированных языков описания геометрии на единый язык загрузки; оптимизация распределения Функций между компилятором, загрузчиком и вычислителем;
усовершенствование комбинаторного подхода для универсальных геометрических модулей: алгоритмы ускорения, алгоритмы подавления потерь точности, расширение класса симметрии и числа примитивов;
- создание универсального языка описания геометрий, отличающегося от других универсальных языков двумя способамишадания регулярных и частично регулярных структур; открытость компилятора этого языка для подключения новых типов регулярных структур, генерируемых по второму способу;
- создание быстрых алгоритмов вычисления с помощью геометрического модуля матриц вероятностей первых столкновений, гарантирующих выполнения балансных соотношений; способ выбора прямых интегрирования; трактовка ВПС и его обобщений как использование метода Галеркина-Ритца; создание алгоритма вычисления компонент тензоров обобщенного ВПС;
развитие методов и алгоритмов для расчета систем с двойной гетерогенностью; введение 2 уточняющих моделей, позволяющих учесть невозможность наложения двух зерен топлива друг на друга.
Разработки автора реализованы им в пакете программ МСЧ, эксплуатирующемся более чем а 10 организациях (РНИ КИ, ЛИФ ОИЯИ, ОКБМ, НИКИЭТ, ФЭИ, РАДУГА. НТЭФ, ЛИЯФ, НИТИ, ИЯР), по которому просчитаны тысячи вариантов реальных сборок. Создание автором средства генерации версий для различных классов задач и типов ЭВМ и ОС. Они ухе использовались для 7 типов вычислительных сред.
Существуют три поколения пакета программ МС1), при создании каждого ряд моделей полностью переписывался. Таким образом не только были реализованы новые архитектурные решения, но и есть положительный опыт их сравнения с традиционной архитектурой.
Автором созданы два универсальных геометрических модуля БСЛ и ЯСС. Их разработка велась с учетом аналитической модели потери точности, что позволило добиться устойчивой работы этих комбинаторных модулей без применения двойной точности и практически исключить аврийные обрывы траекторий.
В модуле N00 реализована структура с вычислителем и загрузчиком, и обеспечено компактное представление полностью регулярных структур. Для него создан универсальный язык НСС31М, включаяший альтернативный способ описания повторяющихся обьектов, сохраняющий приеемственность с БСС. Обеспечено расширение класса обьектов. Модули снабжены средствами графической визуализации и контроля входной информации. Для модуля МСС в рамках многоязыковой модели создан компилятор со специализированного языка для полиячеек канальных реакторов.
С помощью модулей БСС и ЫСй описывались ячейки, сборки, а также малогабаритные реакторы, стенды, части хранилищ. Есть опыт описания с помопьи МСС энергетических реакторов в целом. Для малогабаритных реакторов проводилось сравнение описаний геометрии по созданным автором модулям с описанием по известной программе МС№. Сравнения показали их полную конкурентноспособность.
Все разработки автора в области ВПС и его обобщения строго
математически обоснованы. Вместе с некоторым опитом их регшизации они составили основу для создания универсальной трехмерной программы для расчетов обобщенным методом ВПС.
Созданные автором программы для учета двойной гетерогенности были использованы для расчета как отдельных ТВЭЛов ВТГР так и их регулярных бесконечных решеток. Эти расчеты позволили уточнить влияние эффектов двойной гетерогенности на к .
Все это доказывает как практическую так и научную ценность, а также достоверность результатов.
Изложенные в диссертации материалы докладывались на VII всесоюзном совещании "Методы Монте-Карло в вычислительной математике и математической Физике"в Новосибирске 1985 г.; на семинаре по использованию метода Монте-Карло в Обнинске 1986г.; на конференции 'Достижения ядерной энергетики" в Будапеште 1990 г.; на международном тематическом совещании "Достижения в математике, вычислениях, Физике реакторов* в Питсбурге 1991 г.; на международной конференции по Физике реакторов и методам их расчетов в Тель-Авиве 1994 г.; на международном совещании по программирование и математическим методам решения физических задач в Дубне 1993 г.; на международный семинар по безопастности ядерной энергетики в МИФИ на Волге 1993 г.; на всероссийском семинаре "Алгоритмы и программы для нейтронно-физических расчетов ядерных реакторов" в Обнинске 1994 г.
Кроме того, они докладывались на семинарах в ИЯР РНЦ КИ, СЭИ, ЛНФ ОИЯИ, Нововоронежской АЭС и ряде других организации.
Основные результаты диссертации опубликованы в 23 работах, список которых приведен в конце автореферата.
Структура и объем работы.
Д<ссертация состоит из введения, 6 глав и заключения, содержит 223 страницы и список литературы из 116 наименований.
СОДЕРХАНИЕ РАБОТЫ
Во_введении обоснована актуальность выбранного направления, его научная и практическая ценность, кратко изложено содержание диссертации. Перечислены программы, созданные автором совершенно самостоятельно, и программы, в создании которых он принимал участие.
Первая глава посвящена обвей архитектуре программ расчета переноса частиц нетодом Монте-Карло, аналогиям с архитектурой операционных систем
и рассмотрение программ метода Монте-Карло как реализаций систем массового обслуживания.
. Основной метода Монте-Карло является моделирование траектории частицы. Частица характеризуется своим типом (нейтрон или фотон). Фазовыми координатами, статистическим весом и рядом дополнительных параметров. В процессе моделирования частица претерпевает ряд столкновений, между которыми движется по прямолинейным сегиентоаи. Траектория оканчивается гибелью частицы в результате утечки через границу или в результате поглощения ядром какого-либо нуклида.
В процессе столкновения могут возникнуть новые частицы в результате п п+п или п п*г реакций. После поглощения могут возникнуть новые частицы в процессе деления ядра.
В случае применения неаналогового моделирования могут присходить расшепления частицы на несколько с сохранением суммарного веса. Таким образом после гибели частицы могут остаться один или несколько ей порожденных потомков.
Описывается стандартный метод поколений для решения однородной задачи. Берется начальный пакет из Лтот частиц (нулевое поколение), для каждой из которых строится полная траектория. Частицы, ражденные в результате деления ядер относятся к еледующему - первому поколению. После исчерпания нулевого поколения происходит процесс нормализации, в результате которого образуется пакет снова из нейтронов. В МСи
применен алгоритм, восходящий к работам А. Д. Франк-Каиенецкого.
Описаны алгоритмы для решения неоднородных задач. В случае, когда максимальное собственное значение оператора значительно меньше 1 применяется известный алгоритм, когда после моделирования траектории одной частицы источника, начинается моделирование порожденных при этом частиц. Образуется дерево потомков, конечность которого гарантирована условием подкритичности системы. Описаны использующиеся порядки пребора дерева.
Если максимальное собственное значение очень близко к единице, деревья потомков некоторых частиц могут оказаться очень велики, и на их размещение не хватит памяти. В работе предлагается модификация метода поколений. Из источника берется начальный пакет, в результате моделирования траекторий всех этих частиц образуется следующее поколение. Если число частиц в нем превышает пороговое значение, то производится нормализация, сходная с нормализацией однородной задачи, но с сохранением суммарного статистического веся Частиц. Приведены необходимые и достаточные условия, которым должны удовлетворять
алгоритмы нормализации, для сохранения средних оценок линейных функционалов потока.
В архитектуре программы метода Монте-Карло выделяются 3 основных блока: блок моделирования траектории Т, блок моделирования деления ядер и рождения новых частиц С, а такхе ведущий блок, организующий их взаимодействие. Блок Т и блок С в качестве входных данных имеют одну частицу (точнее еесостояние), а в качестве выходных данных ноль, одну или несколько частиц. Входные данные для блока С поставляет только блок Г, блоку Т данные может поставить и он сам. Блок Т всегда предоставляет блоку С ровно одну частицу. Таким образом неизбежно возникновение очередей по крайней мере к блоку Т, а вся программа естественно принимает вид системы массового обслуживания, где Т является обслуживающим прибором, а заявками на обслуживание служат частицы, траектории которых надо моделировать. На однопроцессорной ЭВМ проще моделировать деление сразу как только это возможно. Тогда С превращается в подпрограмму.
В главе дается краткое описание основных понятий теории кассового обслуживания, соответствующее известным монографиям.
Следующий подраздел посвящен анализу, почему в программах, и в частности программах метода Монте-Карло, возникают очереди. Наиболее известным полем приложения теории массового обслуживания к программированию является построение операционных систем. Поэтому часто кажется, что для возникновения очередей необходимо наличие нескольких асинхронно работающих процессоров или внешних устройств. Однако, для возникновения очередей достаточно существования нескольких логически асинхронных- процессов, которые могут исполняться одним полностью детерминированным процессом. В глаэе разбирается гипотетический случай операционной системы, поддерживающей мультипрограммное выполнение нескольких задач на машине без внешних прерываний. Показало, что и в этом, совершенно детерминированном случае, возникают очереди, если одна задача может выдавать заявки на обслуживание другой. Аналогичная картина возникает в программе метода Монте-Карло.
Следующий подраздел описывает приоритетную политику, использованную в программе ИСи. Имеются 2 очереди с Фиксированными приоритетами: пока есть заявки в первой не обслуживается вторая. Первая очередь - нейтроны текущего поколения, а вторая - фотоны. Кроме того есть третья очередь -нейтроны следующего поколения. Эта очередь обрабатывается только тогда, когда первые две пусты. В точной смысле это вообще не очередь, так как ее обрабатывает другой исполнитель - блок нормализации, но при ее
организации можно использовать те re программные блоки ведения очередей.
Внутри каждой очереди может использоваться как дисциплина FITO так и LIFO. В случае неоднородной задачи без метода поколений использование FIFO дает обход дерева по уровням, a LIFO - обход слева-направо. Показано, что наличие таких простых дисциплин обслуживания для стационарной задачи достаточно. Если сделать приоритет очереди фотонов выше, чем у очереди текущих нейтронов, то можно получить некоторую экономию памяти.
Любая промышленная программа не должна аварийно оканчиваться ни в каких, даже очень редких ситуациях, однако, ' можно для выхода из маловероятных плохих ситуаций тратить значительное малинное время: как и для операционных систен существенно экономить среднее время, обеспечивая бесперебойность работы. Поэтому необходимо обеспечить Функционирование программы в случае переполнения очередей и так выделить под них память, чтобы эти переполнения происходили достаточно редко.
Если очередь переполняется по причинам расщепления в неаналоговом моделировании, то на время это расщепление блокируется, что не меняет математическое ожидание оценок.
Для однородной задачи показано, что 10N, где N - размер пакета, при аналоговом моделировании дает оценку сверху необходимой длины очереди. Если очередь Фотонов сделать более приоритетной, то оценку можно уменьшить до 3N. То хе относится к неоднородной задаче, решаемой методом поколений. Даже оценка ION вполне приемлема на современных ЭВМ.
Для метода решения без поколений проведены оценки методом случайных блужданий, дающие достаточно просто вычисляемые зависимости от максимального собственного значения и среднего числа нейтронов деления. Например, для значений 0.95 и 3 с вероятностью 1-108 длина очереди не превысит 28. В случае переполнения очереди можно включить нормализацию, как в методе поколений, или даже выбрасывать часть заявок (очередь с отказами), так как это происходит крайне редко.
Архитектура программы для метода Монте-Карло становится значительно проще, при наличии блоков ведения нескольких очередей. В следующем подразделе описано как эти блоки выполнены в MCU. Использована техника списков со ссылками. Показано, что для реализации совершенно достаточно средств языка F0RTRAN-77.
В главе описаны средства генерации рабочих версий программы MCU. Этот подраздел не относится непосредственно к методам использования очередей, но крайне существенен для понимания архитектуры MCU и методов приспособления к разным вычислительным средам и типам решаемых задач.
Описана машинно-независимая программа генерация версий, включающая возможности простого макрогенератора- По сравнению, с известной программой PATCHY совсем новой явлется возможность не только одновременной обработки нескольких дистрибутивных файлов, но и создания сразу нескольких результирующих, причем отдельные куски текста могут поступать сразу в несколько результирующих Файлов. Генерация строится по обычной схеме: стандартный набор дистрибутивных «аилов и управляющий файл, содержаний параметры генерируемой версии, преобразуются в результирующие Файлы на языке FORTRAN 77. Одновременно создается процедуры для трансляции, загрузки и запуска на ЭВМ, для которой создается версия. Для оптимизации дистрибутивные файлы могут содержать куски текста на языках, отличных от FORTRAN 77.
1Х2Е55-С552- посвящена архитектуре геометрического модуля - одной из важнейших частей программы расчета переноса нейтронов и фотонов методом Монте-Карло. .
Наиболее важная часть программы - это блок моделирования траекторий. Траекторию рассматривают как последовательно сменяющие друг друга Фазу свободного полета и Фазу рассеяния на ядре. В первой фазе изменяются пространственные координаты, и не изменяется энергия, во второй энергия и направление полета изменяются, а пространственные координаты - нет. Направление полета, может может изменяться и в первой Фазе за счет отработки зеркальной или еще какой-либо симметрии.
Моделирование каждой из этих фаз настолько различно, что соответствующие программы относятся к разным программным модулям. Моделирование свободного полета, осуществляет геометрический модуль, а рассеяний - Физический.
Модуль, свободного полета называется геометрическим так как только он изменяет пространственные координаты частиц, все прочие модули работают только в точках. Именно с ним связаны ограничения на сложность геометрии системы. Таким образом характеристики геометрического модуля во многом определяют точность моделирования и быстродействие программы.
В главе дается Формализация понятия геометрии. Вводится понятие контейнера - области пространства, где будет производится моделирование. Контейнер может не совпадать с реально рассчитываемой системой, а порождать ее с помощью некоторой группы симметрии. Контейнер разбивается на непересекающиеся области, называемые зонами, а граница контейнера на непересекающиеся куски, называемые граничными поверхностями. Зоны считаются гомогенными, а на каждой граничной поверхности задано одно граничное условие. (Отсутствие пересечений понимается с точностью до
множества меры 0). Все области считаются замкнутыми, вводится ene ряд ограничений, которые на практике всегда выполнены.
Мощность геометрического модуля во многом определяется тем, насколько слохные Формы зон допускается при работе с ним. Все известные универсальные геометрические модули основаны на принципах комбинаторной геометрии, для чего используются два математически совершенно эквивалентные метода: нетод поверхностей и нетод тел. Метод тел, впервые предложенный для программы MORSE реализован автором в геометрических модулях SCC и NCC. Далее в главе изложен метод тел.
Вводится набор типов наиболее примитивных областей - тел (шары, призмы, цилиндры и так далее). Конкретное тело определяется типом и набором параметрон, задающих положение а пространстве. Форму и размеры. Для каждого типа есть программа для расчета пересечений тела с произвольной прямой. С помощью операций дополнения и пересечения из тел облазуются термы. Зоны определяются как объединения термов.
Граница каждого тела разбита на непересекающиеся куски, называемые гранями. Для каждого терма и каждой зоны вводится разбиение границы на непересекающиеся куски, называемые граничными поверхностями. Используются два способа, (2-ой впервые введен в SCG). В первом граничные поверхности порождаются полными поверхностями образующих терм или зону тел, во втором - отдельными их гранями. Описано, как преодолевается неоднозначность определения, даются точные Формулировки.
Описывается основное назначение геометрического модуля: определение прямолинейных сегментов 1х,Х1 траектории частицы и разбиение этих сегментов на последовательности пересечений с зонами. Проводится классификация начальных (х) и конечных (X) точек этих сегментов. Выделяются 3 основных Функции: определение зоны, содержащей х, определение точки выхода из текущей зоны, определение после выхода следующей зоны.
Показано, что реализация подобных Функция значительно проще, если нет операции объединения: все зоны являются термами. Переход к теркам осложнен тем, что два терка одной зоны могут иметь пересечение непустого ' объема. Тек не менее оказывается практичным искать последовательность отрезков, каждый из которых лежит в одном терме. Показано, как преодолевается неоднозначность определения такой последовательности.
Возникают две основные процедуры: ВЫХОД и ПРОВЕРКА. ВЫХОД -определение точки выхода траектории из текущего терма, ПРОВЕРКА в качестве аргумента имеет направление движения и, точку выхода из . текущего терка х+иг и некоторый терн К. Она проверяет, содержит ли К
точки вида х«Л|(г+5) для достаточно малых ¿>0. Приводятся Формулы для этих процедур, из которых видно, что они примерно эквивалентны по затрачиваемому времени.
При построении сегмента первая Функция геометрического модуля работает не более одного раза, а вторая и третья попеременно сменяют друг друга. Вторая Функция совпадает с процедурой ВЫХОД, а третья макет требовать многократного вызова процедуры ПРОВЕРКИ, так что наиболее сучественна оптимизация третьей функции.
Вводится понятие примыкания терма Ь к граничном поверхности ЭК терна К. Оптимизация поиска следующего терка основана на том, что к любой граничной поверхности примыкает невольное число термов, а при работе процедуры ВЫХОД автоматически определяется, через какую граничную поверхность частица выходит из терма. Рассматриваются два алгоритма ускорения.
Первый есть развитие, приведенного в описании программы МОЙБЕ, где, однако, не сделано никакого анализа. Если к одной граничной поверхности может примыкать больше одного терна, для получения очередного терма необходимо несколько раз применить процедуру ПРОВЕРКА, и вопрос состоит в сокращении этого перебора. Для каждой граничной поверхности создается список лримыхаюоих тернов. В начале он пуст. Каждый раз сначала проверяется термы из списка, а, если в нем не обнаружен следующий терм, запускается полный перебор, и найденный терм заносится в список. Это называется процессом обучения, в результате в список данной граничной поверхности попадут все примыкающие термы, и поиск будет вестись короткими переборами.
В процессе обучения один и тот же терм может повторяться дважды. Показано, что исключения повторной проверки термов, ножет вызвать замедление работы.
Приводятся соображения, почему можно не переупорядочивать списки обучения: во-первых они короткие, во-вторых статистическое определение вероятности входа в каждый терн из списка для оптимального упорядочивания потребует дополнительных затрат, в-третьих, в среднем списки будут сразу правильно упорядочены, по тем же соображениям, по которым статистику обращения к листам при подкачке можно заменить информацией о порядке обращения к ним.
Если ресурсы памяти исчерпаны, и пополнять списки невозможно, процесс обучения блокируется. После этого моделирование траекторий идет правильно, но более медленно.
Проводится сравнение использования этого алгоритма при разбиении
границы терна на отдельные поверхности по первому и второму способу. В достаточно частых случаях выбор первого способа не дает уменьшения быстродействия и экономит память.
Описана реализация алгоритма в геометрических модулях ЭСС и'ЫСС. Используется обычная техника списков со ссылками.
Второй алгоритм был полностью разработан автором. Он применяется, когда почти все термы обладают свойством: к каждой граничной поверхности примыкает только один терн. В этом случае использование первого алгоритма приводит к излишней проверке вхождения в этот терм при каждом пересечении границы, поэтому в модулях ЭСС и НСС пользователь может пометить зоны, термы которых обладают указанным свойством. Вместо списков заводится таблица примыкания: одно значение на каждую граничную поверхность. После пересечения границы следующий терм берется из таблицы без проверки. Таблицы заполняются в процессе обучения, а в модуле ЭСС могут также полностью или частично заполняться пользоватем в процессе ввода. Для непомеченных термов используется первый алгоритм. Возможность комбинирования обеих алгоритмов крайне важна, так как встречаются термы, к границам которых примыкают больше, чем по одному терму.
При занесении пользователем значений в таблицы примыкания в них могут быть внесены ошибки. В главе 3 объяснено, почему в результате процесса обучения с малой вероятностью возможно занесение в таблицы огибочных значений. Поэтому в модулях и НСС введен алгоритм
реконструкции таблиц. Выборка неверного значения приведет к обнаружению аварии на следующем ваге - запуске процедуры ВЫХОД. Состояние предыдущего вага всегда запоминается, программа может вернуться к предыдущему шагу - определению следующего терма. Ошибочное значение удаляется из таблицы и запускается стандартный поиск процесса обучения.
Производится анализ и объяснение того, что во всех проведенных автором экспериментах замена первого алгоритма на второй никогда не ускоряла работу геометрического модуля больше, чем в два раза.
Ошибочная пометка терма, к некоторым граням которого примыкают более одного соседа, не приводит к неправильному моделирование траектории, но может- привести к большой потери быстродействия: для каждого "переключения" с одного соседнего терма на другой будет запускаться алгоритм реконструкции.
Для исключения последствий ошибочной пометки терма в модуль ЛСС введен третий алгоритм: происходит учет числа реконструкций вплоть до некоторого заданного значения, если оно превышено, то терн с неверными таблицами переходит в разряд термов с первым алгоритмом, и его таблицы
переделываются в списки. Ошибочная пометка не приводит к большой потере быстродействия.
■ Следующий подраздел посвящен функции определения терна, содержащего начальную точку моделируемого сегмента х. Обосновывается, что под ним следует понимать тот, что содержит точки вида х+иЗ, где 6 - достаточно малое положительное число.
Сели начало сегмента есть точка деления, реакции п п+п или п п+г, рассеяния, расщепления, применения зеркального или белого отражений, то терм , содержащий эту точку, известен из предыдущего моделирования. В случае рассеяния и отражения индекс терма сохраняется во внутренней памяти геометрического модуля. В противном случае он записывается вместе с Фазовыми координатами частицы в соответствующую очередь. Запись в элементы очереди подобных дополнительных параметров не сильно увеличивает расход памяти, но значительно усвеличивает быстродействие.
В случае рождения частицы внешним источником терм может быть неизвестен. Программа, моделирующая источник не входит в геометрический модуль и не Может вырабатывать номер терма. При решении однородного уравнения источник используется только для Формирования нулевого поколения, быстродействие этой части совершенно не существенно, и можно определять терм прямым переборон. В случае неоднородной задачи источник работает часто, и так поступать нельзя. В геометрических модулях SCG и NCG используется прием аналогичный программе MORSE. Он основан на предположении, что имеется малое количество термов, где могут рождаться частицы, и составляется список термов, содержащих источник.
Отдельно разбираются симметрии, отличные от зеркальных, когда при отработке граничного условия в точке X, начало нового сегмента не совпадает с X. В SCG реализован только один тип таких симметрии -трансляции, a NCG также поворот вокруг оси 0Z. Существенным является лишь разрыв траектории после симметрии. Принципиально поиск после симметрии не должен отличаться от поиска после пересечения границы зоны.■ (Первая задача сводится ко второй при замене группы симметрии некоторой подгруппой конечного индекса).
Описаны, используемые в SCG и NCG четыре способа Формирования контейнера (эти способы могут комбинироваться).
Первый способ сводится к заданию плоскостей симметрии, которые накладываются на остальное описание геометрии.
Второй способ состоит в описании контейнера как одного тела. Граничные условия задаются на гранях тела. Такой способ позволяет проверять согласованность трансляций на противоположных гранях. В
большинстве описании геометрий средствами модулей SCG и NCC используется этот способ.
■ Третий, наиболее мощный, способ - это введения Фиктивных зон, описанных комбинаторным способом и помеченных как зоиы-граничиые условия. Признаком отработки граничного условия является вход в эту зону. Фиктивная зона в случае граничного условия поглощения имеет естественную трактовку как полностью поглодающая среда.
Четвертый способ состоит в явном приписывании граничного условия граничной поверхности зоны в процессе ввода.
Если терм К помечен, и в процессе обучения выясняется, что к . граничной поверхности ЭК примыкает Фиктивная зона, то в модуле NCG граничное условие прямо связывается с ЗК^ так, как если бы оно было задано в исходных данных.
В главе рассматривается ряд технических аспектов реализации описанных алгоритмов. Существенным является использование разветвляющихся списков. Их реализация достаточно проста, так как списки и таблицы примыкания могут в процессе обучения только расширяться, отсутствует список свободного места, и можно беспрепятственно использовать элементы разной длины.
посвящена проблеме влияния конечной точности вычисления на работу геометрического модуля. Эта проблема существенна на ЭВМ типа VAX, где действительные числа кодируются в 4 байта, а переход к двойной точности вычислений вызывает значительное уменьшение быстродействия, а также на ЭВМ типа IBM PC, где большую роль играет экономия памяти.-
Следует подчеркнуть несколько важных положений.
Во-первых, метод Монте-Карло носит статистический характер, поэтому аварийный обрыв некоторых траекторий или наличие овибок а их проведении не играют большой роли, если доля их вклада в результат много меньше, чем требуемая точность вычислений.
Во-вторых, недопустимо прерывание расчета в любой ситуации.
В-третьих, применяется основной принцип: экономится общее быстродействие, редко можно запускать времяемкие процедуры.
Основой предлагаемых алгоритмов являются следующие «акты.
А). Единственным источником вычислительных ошибок в комбинаторной геометрии является расчет точек пересечения луча с телом; асе прочие операции либо целочисленны! либо сводятся к сравнению растояний. Возможность внесения оиибки ври реализации симметрии может бить сведена к этому же случав.
Б). Вычисления, проводимые с разными сегментами траектории, совершенно независимы друг от друга.
• В). Вычисления пересечения одного сегмента с одним телон всегда дают один и тот же результат (содержании погрешность).
На основании этих соображении ошибки вычисления можно анализировать в пределах одного сегмента. Тела заменяется на отрезки их пересечения с сегментом, а пересечения термов и зон получаются из этих отрезков с помощью тех же саных операций теории множеств, что используются в конструкции исходных термов и зон. Эта концепция позволяет построить формализм, сопоставляющий каждому телу Т и прямой L истиный отрезок пересечения TnL=(A, В), и отрезок, даваемый вычислительными процедурами ЛТ=1а,Ъ]. "Образы" термов на сегменте образуются из отрезков AT.
Все возникающие ошибки можно отнести к двум классам.
Первый класс связан с возникновением ненулевых объемов пересечения зон, а применительно к сегментам к ненулевым длинам пересечения двух зон и прямой. При работе с термами, которые могут иметь пересечения ненулевого объема, возникновение подобной ошибки не может привести программу к аварийной ситуации. Погрешность, вносимая этой ошибкои, называемая погрешностью первого рода, не может быть велика, так как суммарная длина подобных интервалов двойной принадлежности составляет малую долю от длины сегмента.
Второй класс ошибок связан с тем, что возникают точки, не принадлежащие никакой зоне: между пересечениями двух зок с сегментом возникает отрезок неопределенности. Дойдя до такого отрезка геометрический модуль не знает, что делать дальше. Можно гарантировать только то, что сумма длин подобных интервалов мала, а отнюдь не то, что их число мало. Поэтому обрывать траекторию в случае вхождения в отрезок неопределенности нельзя: придется обрывать слишком много траекторий.
Первый метод борьбы с ошибками второго рода использовался в программе MORSE, а в модулях SCG и NCG он был строго определен (что дало упрощение) и усовершенствован. Предположим каждая зона будет заменена ее е-окрестностыо. Условие нулевого объема пересечений будет нарушено, но "щели" между зонами будут перекрыты. Подобная процедура в трехмерном пространстве крайне трудна в реализации, однако, ее не трудно осуществить в пределах одной прямой. Это не одно и то хе, хотя Ь<с-окрестность Т>э<е-окрестность (LnT)>. Показано, что это есть одна из причин, почему "размазывание границ" на прямой хотя и уменьшает вероятность войти в интервал неопределенности, но не полностью ликвидирует ее. Слишком сильно увеличить с нельзя из-за роста
погрешности первого рода.
При аварийном обрыве теряется вся траектория, а не только текущий сегмент. Поэтому, чем больше столкновений приходится на одну траекторию, тем значительней ошибка вносимая аварийным отбрасыванием. На несколько упрощенной модели показывается, что при расчете легководных ячеек (число столкновений »25) можно ограничится "размазыванием границ" с Фиксированным с и аварийным обрывом траекторий, а при расчете графитовых ячеек (число столкновений »150) такой прием ухе не допустим.
В геометрические модули SCG и NCG введен адаптационный алгоритм, схематически сводящийся к следующему.
В случае вхождения в интервал неопределенности происходит удвоение параметра с и попытка продолжить траекторию с такой пониженной точностью вычислений. Увеличение с мотет происходить несколько раз. • Аварийный обрыв делается только, если с достигает критического значения несравненно большего, чем исходное. При смене сегмента значение с возвращается к исходному состоянию, и погрешность первого рода остается небольшой.
Далее рассматривается особенности влияний ошибок округления после отработки граничных условий, а также неопределенности, возникающие после рассеяния за счет изменения сегмента. Эти ошибки можно назвать потерей зоны в начале сегмента.
Наконец, разбирается вопрос об ошибках, вносимых точностью вычислений в процессе обучения. Показано, как терм L, не примыкающий к границе ЗК , может быть сочтен примыкающим. В алгоритме со списками примыхания это создает лишь некоторое дополнительное замедление работы и вносит ничтожную погрешность в * оценки. При использовании алгоритма с таблицами примыкания подобная возможность была, главной причиной создания блоков реконструкции таблиц. После этого алгоритм стал столь же устойчивым как и в алгоритмы со списками примыкания.
посвящена вопросам разработки языков описания геометрии. Излагаются результаты, обобщающие опыт, полученный при разработке геометрического модуля NCG и предыдущего модуля SCG.
Приводится сравнение универсальных и специализированных средств описания геометрии. Специализированные средства полезны, так как они обепечивают в области своего применения более простое задание геометрии и быстрое обучение пользователя.
Описывается различие между способом описания геометрии пользователем - языком описания геометрии и иной системой представления данных, которая используется для расчетов. Проводится аналогия: модуль
1J
геометрических вычислений - процессор ЭВМ; внутреннее представление данных - система команд ЭВМ, язык описания геометрии - язык программирования.
Развивается концепция гмогоязыховых геометрических модулей, которая обосновш&ется следующими положениями.
A). Разработка годуля геометрических вычислений достаточно трудоемкая работа, требушая прецизионного программирования.
Б). Методы ускорения работы комбинаторных геометрических модулей аелаггт их не уступаю»« по скорости специализированным.
B). Приведенные аргументы в пользу специализированных средств касается именно языков описания геометрии.
Г). Часто желательна быстрая разработка специализированного языка без привлечения программистов выспей квалификации.
Исходя из всего этого целесообразно различать: C£SÍS2Eí3S£5íS_5!CS?c,!MI£ffi универсальную программу комбинаторной
геометрии, разработанную высококвалифицированными специалистами и производящую собственно вычисления; компилятор - программу, преобразующую описания геометрии на универсальном или специализированном языке во внутреннее представление вычислителя.
Компилятор может быть написан не столь тщательно. Несколько различных компиляторов могут готовить данные для едкого геометрического вычислителя.
Таким образом. удовлетворяется соображения А, Б, В. Для удовлетворения Г следует обеспечить удобный способ передачи данных от компилятора геометрическому вычислителю. Использование Файла типа "текст* обеспечивает'возможность написания компилятора и геометрического вычислителя на разных языках программирования. Автор компилятора должен знать ливь общую структуру данных геометрического вычислителя и его входной язык. Этот язык не предназначен для непосредственного употребления пользователем, следовательно он может Быть строга Форматным, допускать ссылки только назад по тексту и т.п. По своему месту он ближе всего к языку объектных модулей систем программирования, поэтому в модуле ЯСС соответствующий Файл называется объектным. Ааналогию с систёмами программирования не следует преувеличисвать: в объектном файле КСС лежит лишь один "объектный модуль", нет никаких внешних имен. Редакция связей должна полностью осуществляться компилятором.
Для модуля КСС существует два компилятора: с универсального языка ; NCGSIM, разработанного вместе с модулем, и с языка ROMBIC, созданного в
проекте MCU-1 и получившим большое распространение у разработчиков канальных реакторов. Компилятор с языка NCCSIH так же как и модуль HCG написан на языке FORTRAN-77. компилятор с языка ROMBIC - PASCAL.
Следуюииий подраздел посвящен возснохностям геометрического вычислителя NCC и обоснование их выбора. Так как геометрический вычислитель предназначен и для многих языков описания геометрии, в том числе универсального, то модуль ЯСС должен быть универсальным. Метод тел, а не поверхностей был выбран исходя из опыта автора.
Существует проблема, сколькими системами координат пользоваться и. как они связаны друг с другом. Возникает понятие иерархии систем координат, так' что кроме числа систем координат можно говорить о числе их уровней. Считается, что на верхнем уровне имеется одна система координат называемая глобальной. В векторе фазовых координат используются пространственные координаты именно этой системы.
Как показывал опыт разработки модуля COL употребление большого количества уровней систем координат с произвольной ориентацией значительно уменьшают быстродействие. Использование одной глобальной системы координат, как Доказывал опыт рабо-rii С SCG. вызывает неоправданно большой расход памяти. . ■
Повторяющиеся элементы конструкций, позволяющие экономить память, вводя дополнительные системы координат, в реакторной технологии как правило образуют двумерные регулярные структуры. Поэтому был выбран компромиссный вариант: имеется только два уровня систем координат, причем системы второго уровня, называемые локальными, используются только в регулярных двумерных структурах, называемых сетями. -
Каждая сеть - двумерный массив одинаковых ПО форме ячеек. Существует два типа форм: произвольный параллелепипед и правильная шестигранная призма. Ячейки плотно примыкают одна к другой, и верхние или нижние горны ячеек лежат на одной плоскости. Сеть лежит в одной или нескольких зонах-носителях, описанных в глобальной геометрии. Границы зоны носителя могут перерезать часть ячеек, что позволяет описывать сети, не являющиеся целочисленными "параллелограммами". Пользователь (как и в MCNP) может пометить ячейки, которые гарантированно не пересекаются границами зон-носителей, что ускоряет счет. Зона-носитель может не покрываться полностью ячейками сети, но обязана лежать между плоскостями верхних и нижних торцов.
Внутренняя структура, ячеек одной сети может быть различной и зависит от типа ячейки. Число типов ячеек значительно меньше, чем общее число ячеек. Каждому типу ячейки соответствует исходный элемент.
описанный в своей системе координат. Один и тот же исходный эхлемент нохет использоваться для нескольких сетей. При входе в ячейку происходит переход к локальной системе координат, отличающейся от глобальной сдвигом, при котором граница исходного элемента совмещается с границей ячейки.
Переход из одной локальной системы в другую происходит при пересечении боковой грани ячейки; вектор сдвига вычисляется по номеру грани. Лреход из локальной системы в глобальную тривиален, так как глобальные координаты все время отслеживаются. Наиболее сложная операция - переход от глобальных координат к локальным при входе частицы в сеть; она также не берет слишком много времени, так как сводится к простым манипуляциям с дискретными реветками.
При работе алгоритма обучения для зоны ячейки перебор ведется только среди зон соответствующего исходного элемента, что значительно ускоряет процесс обучения. Для каждого исходного элемента создается N+1 дополнительных списков для процесса обучения, где N - число боковых граней. Первые N из них есть списки зон, примыкающих к боковым граням, и используются когда частица попадает в ячейку из соседней ячейки. Последний список используется при попадания частицы в ячейку из области глобальных координат.
Все краевые условия отрабатываются в глобальной в системе координат. Исключением является зеркальная симметрия, заданная отдельными плоскостями.
Обязательным атрибутом сети является картограмма типов ячеек, представляющая двумерный целочисленный массив.
В прогамме МСО каждой зоне приписывается целочисленный вектор регистрационных атрибутов, >гго позволяет комбинировать зоны в различные области, в которых оцениваются обьемные интегралы. Регистрационные атрибуты зон ячеек сети могут зависеть не только от зоны исходного элемента, но и от конкретной ячейки. Имеются регистрационные указатели, используемые как компоненты векторов атрибутов в описании исходных элементов, и дополнительные картограммы, с помощью которых устанавливается соответствие. <зона, сеть, ячейка, номер компонекты> <значение компоненты>
Рассматриваются блоки ввода модуля ИСС. Для написания компиляторов с языков , описания геометрий начинающими программистами, - т.е. дополнительного контроля ввода и упрощения используемых понятий служат следующие Функции
А) Распределение описаний объектов (тел, зон) в массиве памяти и
замена в ссылках номеров объектов на их индексы.
Б) Замена описания геометрии в терминах зон на внутреннее описание в термах. Добавление термов для работы с контейнерами.
В) Замена параметров тел естественных для человека на параметры обеспечивающие наибольяую эффективность вычислений. Набор тел при вводе не идентичен набору внутреннего представления. При вводе может производится замена типа тела, что упрощает ввод и повышает скорость счета.
Г) Замена двух или более идентичных тел на одно.
В следующем подразделе описываются язык NCCSIM и опыт разработки соответствующего компилятора.
Описана общая структура описания геометрии: разбивка текста на секции, секции на предлохения, состоящие из имени и строки фрагментов. Описаны правила образования имен и доступа к ним.
Существуют секции: описание глобальной геометрии, исходных элементов сетей, сетей, исходных элементов решеток и решеток. Все секции имеют уникальные имена.
Значительная часть одибок в описании геометрии связана с арифметическими овибками при расчете параметров тел, сетей и решеток. В модули SCC и НСС включены интерпретаторы арифметических выражений, включающих тригонометрические Функции и квадратные корни. Можно вводить символические обозначения констант и получать их значения с помощью выражений. Имена констант и выражений мохно использовать в описании тел и прочих объектов.
Введение обозначений констант и интерпретации арифметических выражений позволяет легко ввести в описание геометрии сложные зависимости от малого числа параметров.
Для описания повторяющихся обьектов в языке NCCSIM кроме конструкции сети имеется еще понятие решетки, впервые использованное в модуле SCG.
Решетка не имеет никаких аналогов во 'внутреннем представлении модуля NCG. Компилятор заменяет репетку на последовательность тел и зон, данную в глобальных координатах.
Исходный элемент решетки также является описанием тел и зон в некоторой собственной системе координат, которую можно отождествить с глобальной. Исходный элемент решетки имеет контейнер - тело содержащее всю систему.
Элементы решетки не обязаны плотно примыкать друг к другу, поэтому контейнеры различных элементов одной решетки могут не быть одинаковыми.
в качестве контейнера нохно использовать любое тело.
Решетка получается из исходных элементов с помощью применения к ним набора движений, вырабатываемых специальными программами генерации движений (ПГД). ПГД для каждого элемента решетки вырабатывает не только движение, определяющее положение элемента, но и какой исходный элемент . помещать в это место. ПГД практически не зависит от компилятора и связана с ним фиксированным интерфейсом, поэтому расширение набора ПГД доступно любому программисту и не требует никакой подготовки.
В ЫССБШ имеется три ПГД: генерация подмножества двумерной решетки, произвольного набора сдвигов, генерация поворотов вокруг оси, параллельной 02.
При генерации решетки ее элементы накладываются на зойы глобальной геометрии, которые пользователь указывает в описании.
Исходный элемент репетки может внутри себя содержать сети, описанные в качестве "подсекций". Один и тот же исходный элемент сети может использоваться для сетей, определенных самостоятельными секциями, и для сетей в исходных элементах решеток.
Проведено сравнение решеток и сетей.
Преимуществом решеток являются следующие Факторы: возможность задать множество одинаковых элементов, беспорядочно расположенных в пространстве (кучи); допустимость больного разнообразия формы элементов, использование в одной решетке элементов разной Формы; отсутствие переходов из одной системы координат в другую, что увеличивает
л
быстродействие; простота создания новых типов решеток.
Преимущества сетей следующие: колоссальная экономия памяти в
»
случаях когда число ячеек велико; уменьшение погрешности вычислений. Последнее вызвано тем, что при использовании локальных систем координат, значительно сокращается число вычитаний близких величин.
В'следующем подразделе обсуждаются вопросы реализации компиляторов с универсальных языков описания геометрии. Многие проблемы, возникающие в таких разработках совершенно аналогичны проблемам, известным из опыта создания компиляторов с языков программирования.
Описан выбор средств реализации компилятора языка ШИШ. Требование машинной независимости привело к отбрасыванию средств, наличие которых не гарантировано в любой системе программирования. Показано, что средств языка РОКГНЛН-'П вполне достаточно для реализации компилятора.
Простота грамматики языка МССБЖ позволила легко строить грамматический разбор, используя простую программу чтения и анализа
очередного Фрагмента и известный метод конечных автоматов.
Рассматривается устройство работы с таблицами имен.
• Далее описано Формирование регистрационных атрибутов в решетках. Компонента вектора регистрационных атрибутов мохет зависеть как от зоны исходного элемента, так и от положения элемента в решетке. Компоненты Формируются независимо одна от другой, но по идентичным правилам.
Если компонента зависит от положения в решетке, то в исходном элементе решетки ей соответствует регистрационный указатель. Истинное значение зависит от положения в решетке и указателя. Замена указателей на истинное значение происходит при компиляции. Объяснено, почему для решеток не введены картограммы замены.
Истинные значения компонент встречаются в описаниях зон и в картограммах сетей. В сетях, включенных в исходные элементы решеток, регистрационные указатели могут быть употреблены в картограммах. При генерации' решетки образуются новые сети, в картограммах которых указатели заменяются на истинные значения. Описан алгоритм выбора значений для замены указателей.
Пятая ^глава Посвящена применению геометрических модулей программ расчета переноса частиц методом Монте-Карло для решения других задач.
Первое применение - это визуализация информации, подготовленной на языке описаний геометрии для ее проверки. Использование для визуализации того же геометрического модуля, что будет применяться в расчете, гарантирует одинаковую интерпретацию подготовленного описания геометрии.
Программа МСи снабжена средством для изображения на экране дисплея сечения геометрической системы произвольной плоскостью, на которой выделяется изображаемый прямоугольник. Могут изображаться материальные зоны или регистрационные зоны любого индекса, т. е.объединения всех зон, у которых некая компонента вектора регистрационных атрибутов имеет одинаковое значение.
Ввод описания геометрии делается один раз, после чего можно менять прямоугольники и проводить в них отрезки. Наиболее времяемкой является работа геометрического модуля, поэтому сразу отмечаются границы зон и все их атрибуты. Для' смены индекса изображаемых зон не надо снова запускать геометрический модуль, без его запуска можно изобразить на экране любой прямоугольник, принадлежащий исходному.
Изображения можно получать в двух видах. В первом каждая изображаемая область закрашивается в определенный цвет, во втором одним ЦВетон изображаются границы областей. То, что лежит за пределами контейнера, вообще не закрашено. При большом количестве изображаемых
областей две соседние могут бить скрапени в один цвет. Чтобы избежать этого имеются средства изменения палитры, что дает возможность любые две области закрасить в контрастные цвета.
Программа визуализации идет в диалоговом режима с активным использованием немо.
Вторая программа проверки основана на том, что с помощью геометрического модуля нетрудно расчитывать объемы зон, проводя через некоторую плоскость сеть пряных, перпендикулярных ей. Если прямые проводятся с равной плотностью с и - суммарная длина пересечений k-ой прямой с J-ой зоной, то обьем J-ой зоны V^ приблизительно равен Jpkjj/V. В программе выделяется произвольный параллепилед со сторонами
параллельны»« осям координат, и проводятся оценки объемов, используя в качестве плоскостей три взаипноперпендикулярные грани. В случае наличия областей, лежащих в контейнере, но не принадлежащих ни одной зоне, это определяется в процессе любой их трех оценок. В случае непустых пересечений зон три полученных оценки будут значительно различаться.
Самым важным дополнительным употреблением геометрического модуля программ расчета методом Монте-Карло является их использование в расчетах методом вероятностей первых столкновений, так как с поновью геометрического модуля можно приближенно вычислять интегралы, дающие значение матрицы вероятностей первых столкновений для систем произвольной сложности.
В главе 5 строго сформулирована модель метода вероятностей первых столкновений ВПС. Так же как в главе 2 рассматривается (возможно бесконечная) область F, в которой и ивется Функция распределения нейтронов. Если F бесконечна, то обязательно существует Федоровская группа симметрии Г с конечной Фундаментальной областью К. F разбита на конечное число непересекаюоихся Г инвариантных областей {F() le[l,n], а граница F на конечное число Г инвариантных поверхностей Je[п+1,NI. Разбиение {F(> порождает разбиение контейнера К на зоны ^.
Считается, что для каждой энергетической группы в каждой области F известно постоянное макроскопическое сечение <г(. УЬлее рассуждение ведется для одной произвольно выбранной группы. Пусть имеется источник нейтнонов с равномерно распределенной точкой рождения по Z( и направлением полета по единичной сфере. Компоненты матрицы Р^ определяются при Jsn как вероятности испытать первое столкновение в F^, а при J>n как вероятности без столкновений достигнуть SF^. Одна из основных проблем метода ВПС является вычисление этих матриц для всех энергетических групп.
Компоненты патрицы Р1 улов летво ряст соотношениям матрицы вероятности: Р* *Р* ♦ ...♦Р^ «1, & при Jsn также и балансным
I 1
соотношениям: V1<T|PJ *vjffj'|, гае V( - объем Z(.
Вычисление матрицы Р^ сводится к взятии 6-мерных интегралов. Геометрическим модуль позволяет производить эти вычисления для произвольной геометрии и понизить порядок численного интегрирования до 4. В главе изложены ранее существовавшие алгоритмы. Однако, эти методы имеют следующие недостатки.
A) Полученные приближенные значения pj могут не удовлетворять балансным соотнопениям. Точная подгонка пол них сводится к задаче выпуклого программирования и трудоемка. Более простые способы подгонки могут давать отрицательные значения, при их замене< нулевыми балансные' соотновения снова нарушаются.
Б) Требуется априорная информация об обьемах v^, которая для сложных систем может не быть очевидной.
B) Ранее были предложены два алгоритма. Первый требовал создания для любой зоны Zj датчика равномерно расположенных в ней точек, для сложных зон требует отбрасывания очень больного числа выборок, чтокатастрофически уменьшает быстродействие и препятствует использованию более оптимальных равномерных последовательностей. Второй прекрасно работает для двумерных геометрий, но для трехмерных также порождает большое число отбрасываемых выборок.
Ввиду этого в диссертации предлагаются два новых алгоритма.
Методы особенно наглядны, когда область F ограничена, так как в этом случае считается, что группа Г тривиальна и K«F.
Рассматривается произвольная прямая L и ее пересечения с 2(.
Определим (Р.1,) как матрицу вероятностей первых столкновений для I. J
одномерной задачи переноса частиц по прямой L, то есть точка рождения равномерно распределена по LnZ(, а направление полета лежит в L с равной вероятностью двух возможных вариантов. Имеет место одномерное балансное
соотношение: f 1 Р1 «г 1 f' .
1 1 LJ J ) LI
Геометрический модуль позволяет определить отрезки, на которые разбит ЬлК при пересечении L с семейством зон. По простым Формулам вычисляются компоненты матрицы Р* и длины , причем Формулы гарантируют выполнение одномерных балансных соотношений при любых погрешностях вычислений. '
Положим S единичная сфера, SQ - некоторая сфера, содержащая К. Для любого fteS Н(П) определяется как проекция К на касательную плоскость сферы S0 в точке с внутренней нормалью О. Для любых tî€S, zeff(il)
определена пряная L, проходящая через z параллельно О. Под dz понимает элемент площади Н(П).
• Выражение полной вероятности через условное и простейшее повторное интегрирование дает
v( =(4л)"1 J J ^dzdSi, Pj-Ú^r'J J ljP^dzdíl.
s HIß) s и(Л)
Эти выражения лахгт балансные соотношения к ах следствие одномерных •
соотношений. При замене меры dzdíl на любую другую согласованное вычисление v и Р1 дает балансные соотношения. В частности это верно при сосредоточении меры в конечном числе узлов, получаемых с помощью случайных последовательностей, оптимальных равномерных
последовательностей или любым другим приемом приближенного интегрирований.
Также не сложно решается задача вычисления Р^ для j>n. При этом получаются интегралы того же типа.
Генерация точки, равномерно распределенной на Н(П) для любого П, достаточно трудоемкая задача. Кроме того при этом трудно вводить существенные выборки. Поэтому предлагается интегралы вышеприведенного типа вычислять со следующей заменой переменных: j" j" gdzdfl = J J gr'dxdíl, í) H(í¡> s К
где х - точка К, dx - элемент обьема, 1" (П,х) - длина отрезка пересечения К прямой, проходящей через х параллельно П. Генерация равномерного распределения на простом множестве SxK не представляет трудностей. Работа геометрического модуля с прямой LCtl.x) ничем не отличается от работы с прямой ЦП,г), а увеличение кратности интеграла на единицу для метода Монте-Карло или метода оптимальных равномерных последовательностей совершенно ' не чуствительно. Также упрощается введение существенных выборок.
Следующий подраздел посвящен модификации описанных методов для случая неограниченных размеров области F. Основной идеей также служит сведение трехмерной задачи . к одномерной, решаемой с помощью геометрического модуля. Однако, два направления на прямой ЦП,z) не эквивалентны, так ках для индекса i следует рассматривать пересечения Ln2t, а для j - LnFj. Поэтому L рассматривается снабженной направлением П.
Пересечение LnF почти всегда неограниченно. Рассматривается не вся прямая, а луч с начальной точкой z. Пересечения с Z( и F выделяют на луче семейство отрезков, которые можно определять с помощью
геометрического модуля, но число этих отрезков бесконечно, следовательно, в Формулах надо заменять ряды их частичными суммами.
■ Поэтому для получения балансных соотношений использовать эквивалентность направлений полета и-. ЦП, г) не удается. Вместо этого на мнохестве Кх(ГиЭГ) вводится матричная Функция 1/, просто вычисляемая через характеристические Функции зон и граничных поверхностей и значения макросечений сг^, удовлетворяющая несколько измененным балансным соотношениям в любой точке.
На мнохестве Кх(ГиЭГ) вводится естественная мера, непрерывная на КхГ и КхЗГ относительно обычной лебеговой меры. Интегрирование матричной
функции по этой мере дает матрицу с компонентами ч' «V р'. Дана
-1 1 ^
вероятностная трактовка величин V . Балансные соотношения окажутся
точно выполненными, если указанную меру заменить ее приближением, а в качестве объемов взять оценки ' ' ' хе как в
случае интеграл можно записать в виде
4j = (4n)"' J [ q^dzdtl
s »lit
где q^ - получается двойным интегрированием по лучу L, которое просто сводится к суммированию ряда. В случае обрыва суммирования по одному и тому же правилу получается та хе схема интегрирования, что и в первом случае, которую так же можно свести к численнону интегрированию no SxK.
В главе предложена и строго обоснована вероятностная нодель выбора места обрыва суммирования. Ранее предложенный Е.А.Гоминым и Л.В.Майоровым метод является частным случаем. При применении для взятия интеграла метода Монте-Карло предложенный метод требует одного лишнего случайного числа на луч (увеличение кратности интеграла на единицу), причем математическое ожидание приближенного интегрирования есть q^.
Последний подраздел посвящен возможному обобщению метода БПС.' Основой служит то, что метод. ВПС есть применение метода Галеркина к кинетическому уравнению в чисто интегральной Форме, причем в качестве конечномерного пространства для проектирования служит пространство функций ftx.Q.E) постоянных d каждой геометрической зоне (х), энергетической группе (Е), и не зависящих от П. Последнее является наиболее неприятным ограничением, так как дискретизацию по зонам и энергетическим группам можно взять достаточно мелку». Уравнения соответствуют лабораторной системе координат, в которой рассеяние не может быть изотропным.
В качестве уточнения предлагается рассматривать зависимость от угла ввиде линейной комбинации конечного числа базисных Функций Р (О). Таким
образом конечномерное линейное пространство натягивается на Функции вила ЯГ4 (Е>х' (х)Р^(03, где и х' - характеристические функции g-oй группы и 1-ой зоны соответственно. Подобное приближение позволяет переписать интегральное кинетическое уравнение в тензорную форму. В диссертации предлагается рассматривать отдельно функцию плотности столкновений и плотности генерации новых частиц, которая включает как рассеяние, так и порождение вторичных частиц. Интегральное уравнение тогда преобразуется в два, в которых оператор расщеплен на транспортный Т и столкновительный С. Оператор Т не меняет значения Е и 0, а С не меняет х Такое преобразование уменьвает валентность тензоров и приближенное уравнение для неоднородной задачи имеет вид
е" - У т3" (5* ), вк - 7 с*1" Г .
«1 и 91К я] д) д! 1* 91« Ы
где буквы Г, б и я с индексами обозначают разложение по описанному базису Функции плотности столкновений, плотности генераций и внешнего источника, соответственно.
Тензор Т>к является обобщением матрицы вероятности первых д I»
столкновений. Индексы в пределах (1,п1 означают номер зоны, а в
(п+1,N] номер граничной поверхности.
Для 1, ,}зп доказано обобщенное балансное соотношение:
V Т,к «Г'«У Т)к Л
1 } »'» « ' «'■ 9
где ег - макросечение для £-ой группы в 1-ой зоне.
9
Предложен метод приближенного получения тензора Т с помощью геометрического модуля, обеспечивающий выполнение балансных соотношений и использующий интегрирование по множеству БхК.
Нетод также дает значение компонент тензора при индексах при
условии, что все краевые условия имеют альбедкый характер.
Вестая__глава посвящена проблемам использования метода Монте-Карло
для расчетов систем с двойной гетерогенностью.
В современной реакторной технологии стали использоваться материалы, представляющие большое количество зерен одного материала, вкрапленных в среду' из другого материала, называемую матрицей. Размеры и нейтронно-физические свойства зерен и матрицы таковы, что гомогенезаиия невозможна. Подобные материалы используются для изготовления тепловыделяющих элементов, которые в свою очередь образуют гетерогенную систему, поэтому говорят о системах с двойной гетерогенностью.
В одной матрице может находиться .несколько тысяч зерен, и описание каждого зерна невозможно. Расположение зерен достаточно случайно. Известны только размеры зерен, которые можно считать одинаковыми шарами,
и их общее количество в элементе конструкции.
Для расчета подобных систем разработана специальная методика.
• Первая предложенная модель реализованна автором в МСЦ. Если зерна и
их общий объем малы, то можно считать положение центров зерен равномерно
распределенным независимо друг от друга, пренебрегая невозможностью
наложения одного зерна на другое. В матрице вводится макроскопическое 2
сечение входа в зерно: п, где г - радиус зерна, а п - число зерен
на единицу объема. Моделирование движения в матрице осуществляется обычным спосбом, по макроскопическому сечению З^+Э. По исчерпанию оптического пути с вероятностью ^/(Х^+Б) моделируется обычное столкновение с ядром, а в противном случае - вход в зерно.
Точка входа а зерно равномерно распределена по поперечному сечению. При входе происходит переход в локальные координаты зерна и моделирование траектории внутри него. При выходе происходит возврат в систему координат матрицы. Возникает новый уровень локальных координат, трактуемых как дополнительные параметры геометрического модуля. Они отличается от глобальных на случайный вектор сдвига, так что не определены Фазовыми координатами частицы.
Только в резонансах произведение макросечения зерна на его диаметр сравнимо с единицей. Большая часть вхождений в зерно сопровождается выходом из него без столкновения. При реализации такой сквозной пролет Фиксируется, увеличивая быстродействие.
Моделирование движения внутри зерна- осуществляется отдельным геометрическим модулем для сферической геометрии, Физический и управляющий модуль используется в стандартных конфигурациях.
С помощью этой реализации были сделаны ряд расчетов ТВЭЛов высокотемпературных реакторов, причем расчет с учетом двойной гетерогенности давал к^ на =£64 больше, чем в случае гомогенезированной топливной части ТВЭЛов.
В дальнейшем автором были сделаны улучшения методики.
Было предложено заменить поправку к макроскопическому сечению на величину 5=яггп/( 1-4ягЭп/3), что отвечает тому, что часть объема детали занимает зерно. Поправка более строго обоснована для случаев, когда средний пробег превосходит разнер детали.
Проделано уточнение модели с учетом невозможности наложений зерен друг на друга. Исключались двойные наложения, т.е. наложение на зерно, из которого частица выходит, на следующее зерно. Была получена Формула для 3^(5,0) - поправка к макросечению для частицы, вышедшей из зерна пол углом р к нормали и прошедшей от выхода расстояние э.
Это дает возможность проверки корректности проведения расчета по
второму методу путем вычисления интеграла л/г оо
| з1п(20> | (Э-З^з.ЭШзаЭ.
0 0
Так вычисляется завышение вероятности войти в зерно, которое дает второй метод. Подстановка значений для ТВЭЛов ВТГР дала оценку допускающую использование второго метода.
Для случаев большего объема, занимаемого зернами, Формулу для в^Сэ.Э) можно использовать, применяя для входа в зерна метод выравненных сечений.
В_заключении представлены основные результаты работы.
1) Разработан новый подход к технологии создания открытых пакетов программ для решения задачи переноса частиц нетодом Монте-Карло (по аналогии с архитектурой операционных систем). На основании этого предложен и релизован модульный подход, выделены ключевые модули, что позволило резко упростить межмодульные связи; созданы средства генерации версий пакета в зависимости от типа задач и вычислительной среды; предложен и реализован программный блок очередей частиц, обеспечивающий простоту развитие системы.
2) Усовершенствован комбинаторный подход для универсальных геометрических модулей: получены строгие математические модели описания геометрии и Функций геометрического модуля; улучшен алгоритм ускорения поиска зоны со списками соседей и разработан новый с таблицами перехода и их реконструкцией; выявлены причины появления никуда не входящих областей, что. есть источник аварий, развит метод размазывания границ зон, реализован алгоритм с . адаптационным изменением параметра размазывания; расширен класс симметрия и число примитивов.
Реализованы и широко эксплуатируются два универсальных геометрических модуля БСС и ЫСС, создание которых велось с учетом предложенных подходов, что позволило добиться их устойчивой работы с высокой скоростью и практически исключить аврииные обрывы траектории.
С помощью модулей БСС и КСС рассчитывались ячейки, сборки, а также малогабаритные реакторы, стенды, части хранилищ. Есть опыт описания и расчета с помощью N00 энергетического реактора в целом. Для малогабаритных реакторов проводилось сравнение описаний геометрии по созданный автором модулям с описанием по известной программе МС№. Сравнения показали полную конкурентноспособность разработанных модулей.
3) Разработаны принципы архитектуры универсальных геометрических
модулей как многоязыковых структур, включающих компиляторы с универсальных и специализированных языков описания геометрии на единый язык загрузки: проведена оптимизация распределения функций между компилятором, загрузчиком И вычислите: "ОМ-
В нодуле ЫСС реализована многоязыковая структура и обеспечено компактное представление полностью регулярных конструкций. Для него создан универсальный язык ЫССБГМ, включающий два способа описания Повторяющихся объектов, сохраняющий приеемственность с БСС. Это средство обеспечивает расширение класса объектов и открыто для пополнения. Созданы средства графической визуализации и контроля входной информации. Для модуля НОС в рамках многоязыковой модели создан компилятор со специализированного языка для полиячеек канальных реакторов.
Показано, что для создания компиляторов языков описания геометрии полностью подходяг методики создания компиляторов с языков программирования.
4) Рассмотрено применение геометрического модуля для вычисления матриц вероятностей первых столкновений. Предложен, строго обоснован и реализован новый метод, характерный следующим: полученные вероятностные матрицы удовлетворяют балансным соотношениям при 'Любой точности вычислений; при генерации пробных прямых никакие из них не отбрасываются; при организации существенной выборки пробных прямых легко учитывается трехмерная структура контейнера системы. Предложенные алгоритмы применимы как для расчета полных систем так и для ячеек и полиячеек.
Метод вероятностей первых столкновений для ограниченных систем обобщен введением разложения по угловым гармоникам. Дана апроксимация кинетического уравнения системой линейных алгебраических уравнений тахая, что максимальное число индексов у тензоров равно В. Получены балансные соотношения для компонент транспортного тензора. Предложены алгоритмы расчета компонент тензора, сохраняющие балансные соотношения при любой точности вычислений.
5) Развиты методы решения задач переноса нейтронов для систем с двойной гетерогенностью. Предложены новые уточнения алгоритмов и способы проверки пригодности методов в конкретной ситуации. Созданы алгоритмы и программы, реализующие данные методы; предложены и реализованы способы их ускорения.
Основные результаты диссертации олупликованы в работах:
J. Абагян Л.П., Алексеев Н. И., Брызгалов В.И.. Глушков А. Е., Гомин Е.А., Гуревнч H.H., Калугин И. А., Майоров Ji. В., Марин C.B., Одкевич М. С. "Программа HCU для расчета методом Монте-Карло нейтронно-Физических храктеристик ядерных реакторов." Препринт ИАЭ-5741/5, Москва-1994, 28 с.
2. Абагян Л.П., Алексеев Н.И., Брызгалов В.И., Глушков А.Е., Гомин Ё.А., Гуревич М.И., Калугин М.А., Майоров Л. В., Марин C.B., Юдкевич М.С. "Программа HCU-3 для расчета нетодом Монте-Карло нейтронно-Физических храктеристик ядерных реакторов. * Том 1, Описание применения. Препринт ИАЭ-5772/5, Москва-1994, 47 с.
3. Гомин Е.А., Гуревич М-И., Майоров Л. В. "Программа MCU-3 для расчета методом Монте-Карло нейтронно-Физических храктеристик ядерных реакторов. " Том 5, Описание архитектуры. Препринт ИАЭ-5739/S, Москва-1994, 50с.
4. Гуревич М. И. "Роль очередей в архитектуре пакетов программ для ревения уравнений методом Ионте-Карло. " ВАНТ, Серия: Физика ядерных реакторов, вып. 4, 1994
5. Гомин Е.А. , Гуревич М.И.,, Майоров Л. В. "Использование очередей в архитектуре программ расчета переноса излучения методом Монте-Карло." Расчетно-экспериментальное обеспечение исследований по безопасной ядерной энергетике и ее топливному ииклу. 8-семинар по проблемам физики реакторов. Москва, МИФИ, S-9 сентября 1993.
6. Веретенов B.D., Гуревич М.И., Гусев A.B., Хитенев В.Э,, Заикин Н.С., Каминский Л.Г., Ломидзе О.Г., Силин И.Н., Федосеев В.А., Шириков В.П. "Новый диспетчер для ЭВМ БЭСМ-6. " Препринт ОИЯИ 11-7059 Дубна, 1973, 16с.
7. М.И.Гуревич, Л.Г.Каминский "Многоканальные задачи", Препринт ИФВЭ ОМЕТ 79-55, Серпухов-1980.
8. Веретенов B.D., Волков А.И., Гуревич М.И. и ар. "Современное состояние ОС "Дубна". Материалы совещания по программированию и математическим методам ревения физических задач. (Дубна, 20-23 сентября 1977) Д10, П-11264, Дубна, 1978.
9. Н.И. Алексеев, М.И. Гуревич "Геометрический модуль SCG-5." Препринт ИАЭ-5616/4, Москва-1993, 52 с.
10. Алексеев Н.И., Гуревич М.И. "Геометрический модуль NCG." Препринт ИАЭ-5771/5, Москва -1994, 31с.
11. Гуревич М.И. "Алгоритмы поиска геометрических зон." ВАНТ Серия: Физика ядерных реакторов, вып. 4, 1S93
12. Гуревич M. И. "Методы ускорения работы комбинаторных геометрических модулей в программах расчета переноса частиц метолом Монте-Карло." Расчетно-экспериментальное обеспечение исследований по безопасной ядерной энергетике и ее топливному циклу. 8-семинар по проблемам Физики реакторов. Москва, МИФИ, S-9 сентября 1993
13. Алексеев Н.И., Гуревич М.М. "Опыт использования геомодуля SCG ППП MCVJ в расчетах слохных ядерных об'ектов." Расчетно-экспериментальное обеспечение исследований по безопасной ядерной энергетике и ее топливному циклу. 8-семинар по проблемам физики реакторов. Москва, МИФИ, 5-9 сентября 1993
14. M. 1. СигеVich and S. V. Ostashenkо "Geometry modeling in Monte-Carlo calculations." Progress in Nuclear Energy, Pergamon Press, vol.24, pp. 63-67, 1991.
15. В.И.Брызгалов, M.И.Гуревич и др. "Геометрические модули в пакете MCU. " В сб. докл. 16. Е.С.Глушков, Н.Н.Пономарев-Степной, Г. В. Компанией, Е.А.Гомин, М.И.Гуревич, В. Е. Ленин, В.А. Лобынцев, С.В.Марин, Л.В.Майоров, Д.Н.Поляков "Сравнение кодов и нейтронных данных используемых в США и России для нейтронных расчетов реактора ТОПАЗ-2 для их взаимной проверки" ИНТЕРТЕК CT1-1S/104, (1993), 29 с.
17. Гуревич М. И., Мартынов Д. А. "Расчетные исследования особенностей формирова ния спектра тепловых ней тронов в ВТГР с шаровыми твэлами." ВАНТ,серия: Ядерная техника и технология, вып.З, 1990,с. 23-26.
18. Алексеев Н.И., Гуревич М.И., Майоров Л. В. и др. "Сопостовление расчетных и экспериментальных данных для критических экспериментов на активной зоне с гексагональной кольцевой полостью. " Расчетно-экспериментальное обеспечение исследований по безопасной ядерной энергетике и ее топливному циклу. 8-семинар по проблемам физики реакторов. Москва, ЖФИ, 5-9 сентября 1993
19. М.И.Гуревич "О вычислении вероятности первых столкновений в ограниченных системах" Препринт ИАЭ-5122/5, Москва-1990, 9с.
20. М.И.Гуревич "Вычисление вероятностей первых столкновений для полиячеек." Препринт ИАЭ-5123/5, Москва-1990, 1в с.
21. Gomln Е.А., Gurevlch M. I. "Application of the geometrical module of Monte Carlo method for the' first collisions probabilities method with the expanding In the spherical modes." Advances in Mathematics,Computations and Reactor Physics. Int'l Topical Meeting. Apr.28-May 1, 1991, Pittsburgh, PA, USA
22. М-I.Gurevlch, V.I.Brizgalov "The neutrons flux density calculations by Monte-Carlo code for the double heterogeneity fuel." Proc.of the Int'-l Conf. on Reactor Phys. and Reactor Сотр. , Tel-Aviv, Jan 23-26, 1994, p.190-196
23. Брызгалов В.И., Гомин Е.А., Гуревич М.И., Каминский А.С., Субботин Е.С. , Тебин В. В. "Расчетно-экспериментальные исследования двойной гетерогенности твэлов ВТГР. " ВАНТ, серия: Физика ядерных реакторов, вып.2, 1989, с. 44-49.
-
Похожие работы
- Прецизионные методы Монте-Карло для расчета транспорта электронов
- Методы Монте-Карло для оценки параметров асимптотики решения уравнения переноса излучения с учетом поляризации
- Методы и алгоритмы решения задачи структурного синтеза системы источников и детекторов зондирующего излучения
- Методы Монте-Карло для решения задач теории переноса поляризованного излучения
- Весовые алгоритмы статистического моделирования переноса поляризованного излучения и решение задачи восстановления индикатрисы рассеяния
-
- Системный анализ, управление и обработка информации (по отраслям)
- Теория систем, теория автоматического регулирования и управления, системный анализ
- Элементы и устройства вычислительной техники и систем управления
- Автоматизация и управление технологическими процессами и производствами (по отраслям)
- Автоматизация технологических процессов и производств (в том числе по отраслям)
- Управление в биологических и медицинских системах (включая применения вычислительной техники)
- Управление в социальных и экономических системах
- Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей
- Системы автоматизации проектирования (по отраслям)
- Телекоммуникационные системы и компьютерные сети
- Системы обработки информации и управления
- Вычислительные машины и системы
- Применение вычислительной техники, математического моделирования и математических методов в научных исследованиях (по отраслям наук)
- Теоретические основы информатики
- Математическое моделирование, численные методы и комплексы программ
- Методы и системы защиты информации, информационная безопасность