Текст ВКР (1218920), страница 4

Файл №1218920 Текст ВКР (Автоматизированный программный комплекс для поиска оптимального набора параметров весового метода конечных элементов на вычислительном кластере) 4 страницаТекст ВКР (1218920) страница 42020-10-05СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

На первом этапе определяется несколько лучших наборов (их количество может быть задано исследователем в настроечном файле). В завершении работы первого этапа происходит постановка на пересчет найденных лучших наборов, с целью вывода информации для визуализации и определения процентов узлов с погрешностью, заданной величины. Дополнительный расчет необходим по причине ограниченности объема жесткого диска кластера. Не смотря на то что на кластере для пользования доступны 916 Гбайт дискового пространства – данная мера является необходимой, так как число исследуемых наборов бывает весьма велико.

Второй этап автоматической работы анализатора осуществляет анализ диапазонов управляющих параметров в некоторой окрестности наилучших наборов, которые были получены на первом этапе работы Анализатора.

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

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

Последовательность поэтапной работы программного комплекса показана на рисунке 4:

Рисунок 4 – Последовательность работы программного комплекса

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

Резюмируя вышеописанную информацию структурно в программном комплексе выделены следующие компоненты:

– Анализатор;

– Запускатель;

– Визуализатор.

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

3.2 Анализатор

Анализатор представляет собой программу написанную на языке программирования высокого уровня С++. Фактически Анализатор является связующим звеном между всеми компонентами комплекса. Работа Анализатора осуществляется в режимах подготовки к счету (режим prepare) и в режиме анализа результатов (режим analyze).

3.2.1 Режим prepare

Первоначально программа отрабатывает основную функцию main(), которая принимает в качестве параметров управляющие слова – название режима, в котором будет выполняться работа программного комплекса и/или имя настроечного файла. Без параметра основная функция возвращает код 0 и завершает работу приложения. Если же параметры введены, то Анализатор начинает работу в одном из режимов – подготовки или анализа.

Для запуска Анализатора в режиме подготовки пользователю необходимо ввести начальные данные в файл started.txt и запустить Анализатор с параметрами prepare и именем настроечного файла:

./Analyzer.exe prepare started.txt

В файле started.txt записываются диапазоны параметров и , количество используемых при счете сеток, а также их номера (рисунок 5).

Рисунок 5 – Пример файла started.txt

Считав эти данные в переменные, Анализатор создает файл pars.inp с наборами управляющих параметров для исследуемой задачи (рисунок 6).

Рисунок 6 – Пример файла pars.inp (в сокращении)

Для создания файла pars.inp используются функция:

printf_pars(double **massive,int * setki,int Chislo_setok,FILE *pars),

которая принимает в качестве параметров двумерный массив вещественных чисел **massive для хранения диапазонов параметров и , целочисленный массив *setki с номерами сеток, количество сеток Chislo_setok и указатель на файл для вывода *pars.

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

3.2.2 Режим analyze

Когда Запускатель завершает свою работу – Анализатор вызывает функцию анализа полученных результатов.

Необходимый файл входных данных для анализа имеет следующий формат – файл analyze.txt (рисунок 7).

Рисунок 7 – Пример входных данных для анализа

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

– строка 1: имя файла с результатами счета (в примере – rezyltat);

– строка 2: количество столбцов в одной строке файла результатов(в примере – 14);

– строка 3: количество сеток (в примере – 6);

– строка 4: номера сеток в порядке возрастания номера(в примере – 3 4 5 6 7 8);

– строка 5: номера столбца с нужной нормой (в примере – 7);

– строка 6: теоретическая скорость сходимости (в примере – 0.5);

– строка 7: количество отношений, по которым вычисляется штраф (в примере – 3). Это число должно быть не больше чем количество сеток (строка 3) минус единица;

– строка 8: номера столбцов в файле результатов (строка 1) с информацией о распределении погрешности по области (в примере – 12 13);

– строка 9: количество лучших результатов, которое будет проверяться на возможность продолжения анализа на более мелких сетках (в примере – 3);

– строка 10: допустимое отклонение в положительном направлении от нуля значения штрафа, полученное способом 1 (строка 7). Данное значение выставляется в 0 при способе расчета штрафа 0 (в примере – 0.002);

– строка 11: имя файла с начальными данными (в примере – started.txt);

– строка 12: в ней записывается номер этапа анализа. При двухэтапном режиме работы он должен выставляться в 0 (в примере – 0).

После подготовки входных данных, Анализатор может быть запущен в режиме анализа, минуя режим подготовки. Для этого необходимо передать Анализатору в качестве параметра имя настроечного файла analyze.txt:

./Analyzer.exeanalyze.txt

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

Из файла результатов, имя которого указано в первой строке файла analyze.txt, данные считываются в массив и хранятся в нем до окончания выполнения анализа. Данные в файле результатов упорядочены по сеткам. Для удобства представления данные перекомпануются в функции transpose(double **a, intN, intN_setok,intNo_rez,intfield1,intfield2), которая переупорядочивает двумерный массив **a и отбирает только указанный столбец No_rez из массива результатов.

Основой процесса анализа считанных и упорядоченных данных служат два критерия – величина штрафа и величина распределения погрешности для каждого набора, которые находятся в столбцах field1 и field2.

Штрафы вычисляются по формуле:

где и – значения соответствующих норм на соседних сетках, t – теоретическая скорость сходимости, n – число сеток начиная с самой мелкой, по которым происходит отбор максимального значения штрафа, N – число наборов.

Данные величины названы штрафами, так как от того, насколько велико их значение и насколько они отличается от нуля, зависит расхождение практической скорости сходимости и теоретической. Легко видеть, что если эта величина меньше нуля, то фактическая скорость сходимости весового МКЭ не меньше теоретической скорости сходимости.

Второй критерий величина распределения погрешности – отражает то, насколько плотно в области распределены узлы с большой погрешностью. Для каждого набора параметров с отрицательным значением штрафа из столбцов field1 и field2 выбирается максимальное значение. После чего происходит упорядочивание наборов по определенным наборам. Для этого существует функция sort2(double**a,int kolvo,int chislo_stolbcov), которая осуществляет сортировку в порядке возрастания методом простых вставок, но для определения номера столбца с максимумом из field1 и field2 используется функция splineField(intchislo_stolbcov,bool left_right) – так называемая функция кривого столбца. Эта функция возвращает номер столбца с максимумом распределения погрешности в зависимости от значения флага left_right.

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

После чего осуществляется поиск новых диапазонов параметра v. Определяется количество допустимых для поиска наборов – тех, у которых величина штрафа либо отрицательна, либо не более чем наε (определяется в файле analyze.txt) отличается от нуля в положительном направлении. В функции search (double **array,int Kolvo_strok, double *range,FILE * file,int query,FILE *outp) производится проверка, какие из наборов можно включить в интервал. Осуществляется это путем последовательной проверки левой и правой границы параметра v каждого из 5 лучших наборов.

Кроме того для наилучших наборов осуществляется перерасчет задачи исследователя с выводом сведений о величине абсолютной погрешности по каждой из компонент. Для этого заново генерируется файл pars.inp, в который записываются пять наилучших наборов параметров с ключом <флаг> равным 1. Полный путь к вновь выполненным расчетам дописывается в файл результатов.

Полученные данные используются Анализатором для запуска визуализации и алгоритма подсчета процентов узлов, попадающих в определенные диапазоны погрешности. В файле diapaz.txt – указываются точки разбиения шкалы абсолютной погрешности в полуинтервале [0, ). Подсчитанные данные выводятся в численном и процентном выражении в форматированном виде:

Total:788482

[0.0000 0.0001) ~ 787765| 99.9091%

[0.0001 0.0010) ~ 717| 0.0909%

[0.0010 0.0050) ~ 0| 0.0000%

[0.0050 inf) ~ 0| 0.0000%

В завершении этапа анализа все данные выводятся в файл Output и программный комплекс переходит на новый виток итерации.

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

3.3 Запускатель

Запускатель представляет собой два сценарию, написанные на языке командной оболочки Bash. Работа Запускателя заключается в захвате свободных узлов кластера, автоматической постановке задач в свободные очереди кластера и обеспечении проведения расчетов задачи пользователя на каждом из наборов. Схема работы Запускателя следующая (рисунок 8):

Рисунок 8 – Блок схема работы управляющего сценария Запускатель

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

Список файлов ВКР

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