Диплом

Диплом


Слайд 1

Добрый день! Я студент, Алейников Ярослав и тема моей дипломной работы Проектирование и разработка пользовательского интерфейса для визуализации результатов квантово-механических расчётов на пакете VASP. Данную тему поставил мне научный руководитель Гаврилов Евгений Сергеевич

Слайд 2.

В своём исходном виде ввиду того, что пакет был разработан достаточно давно, а также для узкого количества специалистов – VASP не имеет никакой визуализации, вся работа с ним происходит в командной строке, требуется подготовка данных под специфический формат, а также знание широкого функционала подключаемых опций. Такой подход уже достаточно устарел, так как порождает несколько проблем: снижает общую скорость технической подготовки вычислительного эксперимента; высок уровень сложности обучения работе с данным пакетом без предварительных знаний; очень вероятна ошибка при задании исходных данных, при этом проверка на ошибки трудоёмка либо ошибка обнаруживается уже на этапе расчёта. Один из возможных путей решения данных проблем это интуитивно понятный графический интерфейс пользователя.

Данная работа по проектированию и разработке пользовательского интерфейса для визуализации результатов VASP производится на базе уже реализованного программного средства информационной поддержки задач математического и компьютерного моделирования в кристаллографии, а именно блока информационной поддержки VASP [1].

Слайд 3.

Также нужно оговорить, что пользователем будет выступать специалист по моделированию материалов, который хорошо знает предметную область, однако который может быть не знаком с VASP в техническом плане. С такой оговоркой мы можем выделить необходимость разработки такого пользовательского интерфейса, чтобы на первое место выходила простота и понятность работы с базовым функционалом предоставляемым VASP

Так что было очень важно при выполнении основной задачи учесть особенности данного программного средства и его архитектуру, принимая во внимание что, многие аспекты реализации будут специфичны для того, чтобы единообразно встроиться в уже разработанный блок.


Слайд 4.

Слово первопринципный (ab-initio) имеет значение для задачи визуализации, т.к. оно подчёркивает то, что данный программный пакет не требует обращения к экспериментальным данным. Следовательно, визуализация входных параметров представляет собой пользовательский интерфейс с указанием полей ввода преимущественно текстовых данных, не требующих сложных графических компонентов.

Но так как результатом является модель материалов на атомарном уровне, мы можем сразу выделить возможность отображения отдельных атомов, и всей структуры, у результирующих данных. Стоит уточнить, что данный программный пакет позволяет рассчитывать системы с большим количеством атомов, а значит стоит уделить особое внимание возможности визуализации множества объектов, получаемых из результатов.

Слайд 5.

Данное программное средство разработано с применением стека технологий Microsoft.NET Framework 4.5, Windows Presentation Foundation, Autofac, RestSharp, ASP.NET Web Api, ASP.NET MVC, MS SQL Server 2008. На этом стеке технологий реализовано взаимодействие между такими логическими частями программы как Windows клиент, Web сервер и база данных.

В том, чтобы разрабатывать на базе данного программного средства есть много плюсов, позволяющих сконцентрироваться именно на реализации пользовательского интерфейса для визуализации результатов. Так, из уже реализованного пользовательского интерфейса, главная(стартовая) форма системы информационной поддержки даёт возможность выбрать «Операции БД», и из списка появляющегося по нажатию «Оглавление БД» выбрать сохранённый ранее проект. Таким образом, значительно упрощается побор вариантов для тестов и процесс проверки на них существующей визуализации. Также значительно помогает наличие текстового «Журнал работы», в который пишется лог выполнения текущего расчёта на удалённой машине, и какие данные туда были отправлены и какие данные загружаются на локальную машину. К плюсам также стоит отнести подход к разработке архитектуры информационной поддержки, а именно “stand alone”, согласно рис. 1.4 . Это позволяет удобнее разрабатывать своё дополнение, не беспокоясь за возможность в ходе разработки затронуть не относящиеся к разрабатываемой функциональности.

Слайд 6.

Как и было сказано ранее, VASP был разработан достаточно давно, а значит, множество специалистов сталкивались с оговоренными проблемами пытаясь решить их с помощью разработки визуализации. При этом обществом работающих с VASP такие начинания значительно поддерживаются, и особенно выделяют те решения, которые направлены на визуализацию результатов.

Были разработаны и разрабатываются как коммерческие, так и предоставляемые бесплатно средства визуализации (https://www.vasp.at/index.php/resources ). Причём, как можно увидеть на рис. 1.1, данные средства презентуются на официальном сайте VASP, имеют свой раздел и соответственно индексированы.

Мною были выделены две бесплатные программы: vaspview и VESTA, как самые доступные и с широким функционалом.

•   Проекция 2D и 3D,

•   Продолжение проекции полученных данных в пространстве на все три оси,

•   Отображение расстояния между атомами,

•   Создание связей между атомами,

•   Отображение угла,

•   Отображение сорта атомов,

•   Удаление\добавление атомов.

Слайд 7.

В первую очередь необходимо подготовить список функциональностей для оценивания. Это было сделано на основании обзора различных реализаций, таких как vaspview, VESTA, по частоте их наличия и каждой из функциональностей была поставлена соответствующая оценка от 0 до 10, вычисляемая как среднее от наличия в реализациях:

После чего специалисту был показан этот список и предложено оценить эти функциональности по 10-балльной шкале, в зависимости от их необходимости при стандартной работе с VASP.

И последней оценивалась сложность реализации функциональности в нашей работе, так как это тоже важный фактор, влияющий как минимум на выбор того, какой функционал будет реализован первым. Оценки выставлялись также по 10-балльной шкале.

В результате была получена общая оценка, на основании которой строился план проектирования и реализации пользовательского интерфейса.

Нужно отметить, что специалист также предложил свои варианты необходимых функциональностей, например анимирование, однако этот функционал встречался в реализациях редко, а сложность его реализации достаточно высока.

Слайд 8.

Так как мы работаем с результатами квантово-механических расчётов на пакете VASP приходящими к нам в XML-документе, нам требуется понять, какие параметры следует взять из этого документа для визуализации. Для этого в приходящем XML предусмотрены атрибуты у ключевых элементов.

Для реализации такого алгоритма лучше всего подходит поставляемая компанией Microsoft технология LINQ, так как она написана исключительно для использования в языке C#, следовательно, имеет более удобное взаимодействие с особенностями данного языка, например, лямбда-выражениями. В реализации это будет выглядеть как:


Слайд 9.


 



Report Page