Главная » Просмотр файлов » Диссертация

Диссертация (1149802), страница 8

Файл №1149802 Диссертация (Моделирование и оптимизация динамики интенсивных пучков заряженных частиц) 8 страницаДиссертация (1149802) страница 82019-06-29СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 8)

Данная возможность позволяет получать максимально точные решенияприкладных задач с учетом особенностей их геометрии. Например, в цилиндрической геометрии выбор полярных или цилиндрических координат,структурированные сетки в которых более точно аппроксимируют границырасчетной области, позволяет сократить объем вычислений и приводит кболее точным и устойчивым решениям, чем при использовании декартовыхкоординат.53• Возможность выбора пользователем метода решения задачи. В зависимостиот наличия или отсутствия стационарного решения рассматриваемой задачи, пользователю стоит использовать метод частиц в ячейках или итерационный метод. В некоторых же задачах, таких как моделирование динамикипучка в линейном резонансном ускорителе, заранее допустимо использование только метода частиц в ячейках.• Возможность точного описания пользователем параметров моделируемогоустройства: сложной геометрии расчетной области, граничных условий наэлектродах, начальных данных для потоков частиц.• Возможность настройки параметров используемых численных методов: генерация неоднородной расчетной сетки с её визуализацией, настройка шагаинтегрирования уравнений движения, точности решения уравнений поля ит.

д.• Визуализация результатов расчета с возможностью сохранения результатови вывода в файл.• Загрузка и сохранение проектов — файлов, содержащих все введенные пользователем параметры задачи, геометрию и некоторые результаты расчетов(структуру расчетной сетки, положения частиц, распределения полей).• Возможность расширения комплекса программ на другие задачи, напримердвумерная задача с экструзией сетки.UML (unified modeling language) диаграмма вариантов использования разработанного комплекса программ, отвечающего перечисленным выше требованиям представлена на рис.

3.2.54пользовательВыбор используемогометода<<Include>>Создание новогопроектаСохранение/загрузкамодели<<Include>><<Extend>>загрузкапроектаСохранение/загрузкапроекта<<Extend>><<Extend>>Выбор системыкоординат<<Extend>>загрузка результатовпредыдущих расчетовработа с текущим проектом<<Extend>><<Extend>><<Extend>>Настройка параметровмоделируемого устройства<<Extend>>Задание граници геометриинастройкапараметров методовНастройкавизуализаторапроцесса расчетаГенерациярасчетной сеткиЗапуск расчетавнешнего поляЗаданиеграничных условийЗаданиеначальных данныхдля потоковчастицВизуализациясостоянияустройстваЗапуск расчетадинамики потоковчастиц<<Include>><<Include>><<Include>>ПрерываниерасчетаВизуализациярезультатоврасчетаСохранениерезультатоврасчетовРиcунок 3.2: UML диаграмма вариантов использования553.2 Общее описание архитектурыАрхитектура разработанного комплекса программ представляет собой двухуровневую архитектуру клиент-сервер.

В качестве сервера выступает библиотека, выполняющая расчеты, имеющая в качестве интерфейса набор функций, позволяющих настраивать параметры задачи, управлять процессом расчета и получать данные решения. В качестве клиента выступает приложение с графическиминтерфейсом, с которым взаимодействует пользователь. Подобный подход позволяет легко заменить клиентское приложение на С++ интерфейс или простойобработчик конфигурационных файлов с целью использования кодов серверногоприложения на высокопроизводительном кластере.Одной из основных задач при разработке иерархии классов сервера быламинимизация использования виртуальных функций для увеличения производительности и легкости дальнейшего изменения кода с целью использованиятехнологии CUDA (Compute Unified Device Architecture). Технология виртуальных функций и полиморфизма времени выполнения была эффективно замененашаблонами С++ и полиморфизмом времени компиляции.

В итоге, виртуальныефункции используются только в некритичной части взаимодействия клиента исервера.При описании архитектуры комплекса, под моделью (Model) будем пониматьобъединение параметров моделируемого устройства (Device) и набора применяемых численных методов с параметрами (Solver).В зависимости от типа задачи и типа применяемого метода, классDeviceStatus, описывающий состояние моделируемого устройства, будет агре-гировать в себе данные различных типов и являться шаблонным. Такая структура позволяет использовать единую реализацию численного метода на высоком уровне для всех задач (общая схема метода) и индивидуальную реализациюметодов для задачи каждого типа на низком уровне (решение уравнений поля,расчет траекторий частиц и т.

д.).56Диаграмма классов объекты которых составляют класс DeviceStatus представлена на рис. 3.3.particlesDataTypeemitterDeviceTypedataTypedataTypeParticlesBase-particlesNumber : int-cellsNumbers : int-charges : std::vector: dataTypeParticlesFlowdataTypeParticles2dpolar-coordinates : std::vector: dataType-momentums : std::vector: dataType-dynamicsData : std::vector<particlesDataType>-mass : double-charge : double-emitterDeviceStatus : emitterDeviceType-boundaryConditions : BoundaryConditions+generateParticles()dataTypeParticles3dcyl-coordinates : std::vector: dataType-momentums : std::vector: dataTypedataTypedataTypeGridData2d-nodesCoordinates : std::vector: dataType-fieldComponents : std::vector: dataType-chargeDensity : std::vector: dataTypeparticles2ddataType-coordinates : std::vector: dataType-momentums : std::vector: dataTypedataTypeParticles3d-coordinates : std::vector: dataType-momentums : std::vector: dataTypedataTypeBoundaryConditions-boundariesList:: std::vector : int-conditionType : string-conditionProperties : std::vector: doubledataTypePointdataTypeEdge-point1 : Point-point2 : Point-x : dataType-y : dataType-z : dataTypedataTypeGridData2daxs-nodesCoordinates : std::vector: dataType-fieldComponents : std::vector: dataType-chargeDensity : std::vector: dataTypeTriangle-point1 : Point-point2 : Point-point3 : PointdataTypeGridData2dpolar-nodesCoordinates : std::vector: dataType-fieldComponents : std::vector: dataType-chargeDensity : std::vector: dataTypeParticlesSource2ddataTypeBoundaryContainer2d-geomData : std::vector: Edge-currentDensity : std::vector: double-sourceSurface : BoundaryContainer2ddataTypedataTypeGridData3ddataTypeParticlesSource3d-currentDensity : std::vector: double-sourceSurface : BoundaryContainer3d-nodesCoordinates : std::vector: dataType-fieldComponents : std::vector: dataType-chargeDensity : std::vector: dataTypeBoundaryContainer3d-geomData : std::vector: TriangleMeshContainer2d-meshData : std::vector: Point-cellsPoints : std::vector: intdataTypeEmitterDeviceBase+convertToGridData2d()+convertToGridData2daxs()+convertToGridData2dpolar()dataTypeEmitterDevice2d-particlesSource : ParticlesSource2d+generateParticles(p : particles2d *)+generateParticles(p : Particles2dpolar *)+generateParticles(p : Particles3d *)+generateParticles(p : Particles3dcyl *)dataTypeEmitterDevice2daxs-particlesSource : ParticlesSource2d+generateParticles(p : particles2daxs *)particlesDataTypegridDataTypeemitterDeviceTypeboundaryContainerTypemeshDataTypedataTypeDeviceStatus-particlesFlowsStatus : std::vector: particlesFlow-domainBoundaries : boundaryContainerType-mesh : meshDataType-gridData : gridDataType-boundaryConditions : BoundaryConditions-electrodes : std::vector: ElectrodeMeshContainer3d-meshData : std::vector: Point-cellsPoints : std::vector: int+convertToGridData3d()Electrode-electrodeEdges : std::vector: Edges-currenrAtEdges : std::vector: doubledataTypeEmitterDevice3d-particlesSource : ParticlesSource3d+generateParticles(p : Particles3d *)+generateParticles(p : Particles3dcyl *)Риcунок 3.3: UML диаграмма классов части deviceКлассы с именами Particles и GridData представляют собой структуры дляхранения данных о частицах и значениях полей и плотностей в узлах эйлеровыхсеток, а также содержат некоторые функции обработки данных с учетом особенностей используемой системы координат.

Классы EmitterDevice содержат дан-57ные об эмиттере и свойствах начального распределения частиц, а также имеютметоды генерации начальных данных. При этом класс ParticlesFlow агрегирует общую информацию о каждом потоке частиц. Классы MeshContainer2d иMeshContainer3d содержат более детальные описания структур эйлеровых сетокбез значений полей, функции экспорта в формат VTK для визуализации, а такжеметоды конвертирования в форматы GridData. Классы Point, Edge, Triangle,BoundaryContainer предназначены для работы с геометрией.

Для описания гра-ничных условий на электродах и для потоков заряженных частиц используетсякласс BoundaryConditions. Класс Electrode предназначен для расчета плотности тока, протекающего по электродам моделируемого устройства и плотностиих облучения.Дополнительно, все крупные структуры данных являются шаблонными поиспользумому типу числового представления dataType для поддержания возможности проводить расчеты с плавающей точкой двойной или одинарной точности.Данная архитектура позволяет удобным образом, правильно скомбинировавпараметры шаблона класса DeviceStatus, создавать объект нужного типа длярешения той или иной задачи. Например, для решения двумерной задачи вдекартовых координатах с использованием типа dataType можно ввести типdevice2d.typedef DeviceStatus<Particles2d, GridData2d,EmitterDevice2d, BoundaryContainer2d,MeshContainer2d, dataType> device2dПо аналогии введем типы device2d, device2dpolar, device2daxs, device3d.Диаграмма классов SolverPIC и SolverPTI, описывающих применяемыечисленные методы, представлена на рис.

3.4. Класс SolverPIC реализует метод частиц в ячейках, а класс SolverPTI — итерационный метод. КлассPaticleGridInterface реализует функции интерполяции сил, раздачи заряда58dataTypeEmissionCurrentSolverPTI+UpdateEmissionCurrent(emitter : EmitterDeviceType *)dataTypePrticleGridInterface+GridToParticles(particles : particlesDataType *, grid : GridDataType *)+ParticlesToGrid(particles : particlesDataType *, grid : GridDataType *)+ParticlesBoundaries(particles : particlesDataType *, grid : GridDataType *)dataTypeSolverPTI+Simulate()dataTypedataTypeParticlesMover+UpdateMomentums(particles : particlesDataType *)+UpdatePositions(particles : particlesDataType *)SolverBasedataTypeMeshGeneratordataType+GenerateMesh(boundary : boundaryContainerType *)SolverPIC+Simulate()dataTypeFieldSolver+SimulateFields(grid : GridDataType *)dataTypeEmissionCurrentSolverPIC+UpdateEmissionCurrent(emitter : EmitterDeviceType *)Риcунок 3.4: UML диаграмма классов части deviceпо узлам сетки, проверки прохождения частицами границ области и т.

Характеристики

Список файлов диссертации

Моделирование и оптимизация динамики интенсивных пучков заряженных частиц
Свежие статьи
Популярно сейчас
Зачем заказывать выполнение своего задания, если оно уже было выполнено много много раз? Его можно просто купить или даже скачать бесплатно на СтудИзбе. Найдите нужный учебный материал у нас!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
7039
Авторов
на СтудИзбе
260
Средний доход
с одного платного файла
Обучение Подробнее