Wiki

Clone wiki

EMFFM / Elements

Основные элементы проекта

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

Можно отметить следующие элементы:

  1. мета-язык описания модули и параметров задачи, которую нужно решить,
  2. решатель на основе метода конечных элементов (узлового и векторного),
  3. эффективный решетель для больших размерностей СЛАУ,
  4. анализатор полей,
  5. визуализатор и анализатор полей.

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

Далее каждый элемент рассмотрен более подробно.

1. Специальный язык для описания задачи и модели с ее параметрами

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

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

2. Решатель на основе МКЭ

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

3. Решатель для СЛАУ

С учетом того, что МКЭ построен на том, что его основнео уравнение представляет собой СЛАУ, то нужно кроме его получения, иметь и решатель, способный быстро, эффективно и точно решить ее. Это порождает еще одну задачу о разработке решателя для СЛАУ. Здесь можно рассматривать несоклько вараинтов, в частности использование распределенных вычислений, параллельного программирования и использования мощи GPU. В любом случае это весьма трудоемкая задача, если серьезно ей заниматься.

Результатом здесь может быть библиотека для решения СЛАУ различными способами. Это можно использовать в виде курсовой работы, так и диплома.

4. Анализатор полей

Анализ полей также является весьма сложной задачей. Одно только задание полей в условии применении математической модели на основе МКЭ является затруднительным, не говоря уже о том, что делать с результатами решения СЛАУ. То есть здесь стоит задача не просто анализа полей, но и их описания и формулировки с учетом ядра математической модели и особенностей самого метода (МКЭ).

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

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

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

Примечания и замечания

  1. Данный раздел будут пополняться по мере поступления новых идей и выделения и формализации их в виде элементов проекта и работы в целом.

Домой

Updated