Wiki
Clone wikiEMFFM / Elements
Основные элементы проекта
В данном проекте можно выделить несоколько элементов, каждый из которых по сути представляет собой отдельную задачу, которую нужно решпить. Кроме того решение тдельных задач можно предствить в виде курсовых проектов и дипломных работ студентов.
Можно отметить следующие элементы:
- мета-язык описания модули и параметров задачи, которую нужно решить,
- решатель на основе метода конечных элементов (узлового и векторного),
- эффективный решетель для больших размерностей СЛАУ,
- анализатор полей,
- визуализатор и анализатор полей.
При этом, если рассматриваать кажду задача подробнее, можно выделить множество подзадач и связей их между собой. В общем, разрабатываемый программный комплекс должен реализоввывать все элементы, описанные выше.
Далее каждый элемент рассмотрен более подробно.
1. Специальный язык для описания задачи и модели с ее параметрами
Для того, чтобы опистаь задачу и ее параметры необходимо выполнить математическое и физическое ее опсиания. Однако, это нельзя использовтаь сразу для решения на компьютере. Для этого нуэно преобразовать данные и обработать их таким образом, чтобы они были понятны программе и она смогла выполнить численые расчеты и дать результат. В связи с этим стоит задача, связанная с разработкой такого языка, который бы позволил в довольно простом и понятном виде описывать параметры задачи и ее условия, для последующего решения. Это можно назвать мета-языком, то есть спецальным языком описания.
Сюда хорошо вписывается стандарт XML, который позволяет создавать произвольные файлы с разлиынчм содержанием, при этом простые в понимании, и что самое важное, доступные для любой программы, написанной на любом языке программирования. Это значит, что если верно разобрать все классы задач в рамках данного проекта, то можно сформировать спецификацию на формат файла с описанием задачи и ее параметров.
2. Решатель на основе МКЭ
С учетом того, что математическая модель построена на основе МКЭ, то необходимо придумать и реализовать компьютерную программу, которая позволит производить решение задачи с его использованием. Это может быть довольно затрудниктельно, если принять во внимание несколько типов элементов, а также две вариации метода: узловолй и векторный. Эта задача подымалась некоторыми разработчиками, но в орпеределенном смысле она не решена для широкого перечня задач, а существующие реализации также не обязательно правильные и дают верные результаты. В связи с этим, стоит задача разработка такой программы с решателем на основе МКЭ с возможностью решения широкого перечня задач. В особенности это важдной для задач с частицами, что является основной целью данного проекта.
3. Решатель для СЛАУ
С учетом того, что МКЭ построен на том, что его основнео уравнение представляет собой СЛАУ, то нужно кроме его получения, иметь и решатель, способный быстро, эффективно и точно решить ее. Это порождает еще одну задачу о разработке решателя для СЛАУ. Здесь можно рассматривать несоклько вараинтов, в частности использование распределенных вычислений, параллельного программирования и использования мощи GPU. В любом случае это весьма трудоемкая задача, если серьезно ей заниматься.
Результатом здесь может быть библиотека для решения СЛАУ различными способами. Это можно использовать в виде курсовой работы, так и диплома.
4. Анализатор полей
Анализ полей также является весьма сложной задачей. Одно только задание полей в условии применении математической модели на основе МКЭ является затруднительным, не говоря уже о том, что делать с результатами решения СЛАУ. То есть здесь стоит задача не просто анализа полей, но и их описания и формулировки с учетом ядра математической модели и особенностей самого метода (МКЭ).
5. Визуализатор
Эта задача подразумевает наличие специального функционала, который позволит производить визуализацию полей до и после решения задачи, а также получать анимированные версии решения (это для случая, когда решенеи идет по времени). В общем случае решение лучше делать с помощью мощных математических пакетов, таких как Matlab, который позволит произвести полный спектр операций анализа данных и их обработку с последующей визуализацией.
Здесь по сути вырисоввается хороший курсач по данной тематике в силу того, что визуализация полей весьма не простоая задача и может иметь несколько решений, в зависимости от того, что за данные о них имеются.
Примечания и замечания
- Данный раздел будут пополняться по мере поступления новых идей и выделения и формализации их в виде элементов проекта и работы в целом.
Updated