Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Лекция 17. Метод конечных элементов в строительстве



Основные этапы метода конечных элементов (МКЭ).

· Библиотека конечных элементов,

· препроцессор,

· решатель,

· постпроцессор.

Библиотеки конечных элементов содержат их модели - матрицы жесткости. Модели конечных элементов различны для разных задач, разных форм конечных элементов, разных наборов координатных функций.

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

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

Постпроцессор служит для визуализации результатов решения в удобной для пользователя форме.

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

С его помощью можно решать задачи следующего характера:

  • Анализ устойчивости навигационной системы к вибрациям;
  • Способность монтажной платы выдерживать высокие температуры;
  • Моделировать взрывы;
  • Оптимизировать конструкцию.

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

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

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

В общем случае метод конечных элементов состоит из 4 этапов:

1. Выделение конечных элементов (разбиение области на конечные элементы);

Разбиение области на элементы обычно начинают от её границы, с целью наиболее точной аппроксимации формы границы. Затем производится разбиение внутренних областей. Часто разбиение области на элементы производят в несколько этапов. Сначала разбивают на крупные части, границы между которыми проходят там, где изменяются свойства материалов, геометрия, приложенная нагрузка (другие физические величины). Затем каждая подобласть разбивается на элементы. Стараются избегать резкого изменения размеров конечных элементов на границах подобластей. После разбиения области на конечные элементы осуществляют нумерацию узлов, причем порядок нумерации имеет существенное значение, так как влияет на эффективность последующих вычислений. Это связано со следующим: матрица коэффициентов системы линейных алгебраических уравнений, к которым приводит метод конечных элементов, является сильно разреженной матрицей ленточной структуры. Ненулевые элементы такой матрицы располагаются параллельно главной диагонали. Обозначим через число, представляющее наибольшую разность между номерами ненулевых элементов в строке. Число называется шириной полосы. Чем меньше ширина полосы, тем меньший объем памяти требуется для хранения матрицы при реализации метода конечных элементов в САПР, и тем меньше затраты машинного времени на решение результирующей системы уравнений. Ширина полосы зависит от числа степеней свободы узлов и способа нумерации последних.

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

2. Определение аппроксимирующей функции для каждого элемента.

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

3. Объединение конечных элементов в ансамбль.

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

4. Решение полученной системы алгебраических уравнений.

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

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

Для решения систем уравнений применяются методы двух групп: прямые методы (метод Гаусса), косвенные методы, когда решение определяется на основе последовательной аппроксимации (метод Гаусса-Зейделя).

 

Методы разбиения области на конечные элементы

http: //www.keldysh.ru/papers/2006/prep09/prep2006_09.html

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

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

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

Существует алгоритм, который позволяет учитывать информацию о геометрии заданной области и таким образом строить своего рода адаптивные сетки (правда, адаптированные к геометрии, а не к конкретной задаче). Этот алгоритм был разработан группой Марка Шепарда (Mark Shephard) из университета Ренсселаера (США) в 80 годах ХХ столетия и получил название " octree" (его двумерный вариант называется " quadtree" ).

Идея алгоритма заключается в следующем: исходная область помещается в квадратную сетку, элементы которой последовательно дробятся на более мелкие квадраты до тех пор, пока размеры получаемых в итоге квадрвтных ячеек не достигнут желаемой величины; при этом каждый куб дробится только в том случае, если его грани пересекаются границей области (либо внутри куба целиком оказывается особенности вроде отверстия или полости). Таким образом удается добиться " естественного" увеличения плотности узлов вблизи границ области и ее " особенных" участков. Чтобы избежать значительных перепадов размеров элементов, дополнительно вводят ограничение на степень " раздробленности" соседних элементов - она не должна отличаться более чем на единицу. Рис. 1 иллюстрирует идею метода для двумерного случая.

Рис. 1. Раздробление области на квадратные ячейки по алгоритму " quadtree"

 

Следующим этапом метода является построение треугольной (тетраэдрической) сетки на основе полученного разбиения на квадраты (кубы). Поскольку возможных вариантов размещения узлов на ребрах и гранях кубов/квадратов в такой сетке немного (для квадрата с учетом отражения и поворота - всего 6), для каждого варианта используется свой заранее заданный шаблон. На рис. 2 и рис. 3 показаны 2 набора таких шаблонов: " классический", предложенный Шепардом, и разработанный авторами вариант, основанный на вставке дополнительного узла, позволяющий получить сетки из подобных элементов (и лучшего качества).

Рис. 2. " Классический" набор шаблонов для разбиения квадратов в методе " quadtree"

Рис. 3. Набор шаблонов с использованием дополнительного внутреннего узла, дающий лучшее качество сетки

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

 

Рис. 4. Сетка, полученная на основе алгоритма " quadtree": вверху - по классическим шаблонам, внизу - по улучшенным.

 

 

Триангуляция Делоне

Треугольная сетка на плоскости удовлетворяет критерию Делоне (или является триангуляцией Делоне), если внутрь окружности, описанной вокруг любого треугольника, не попадают никакие другие узлы этой сетки.

Рис. 5. Сетка, удовлетворяющая критерию Делоне (слева), и не удовлетворяющая ему (справа).

В двумерном случае существует простой метод приведения произвольной триангуляции к триангуляции Делоне. Идея основана на том факте, что пару треугольников, не удовлетворяющих критерию Делоне, можно заменить на пару дуальных к ним треугольников, которые уже обязательно удовлетворяют критерию. Это достигается перестановкой внутреннего ребра четырехугольника, образованного треугольниками (см. рис. 5). Операцию (так называемый " флип", от англ. flip) продолжают итерационно для каждой пары треугольников, не удовлетворяющих критерию, до тех пор, пока такие треугольники остаются.

Проверка условия Делоне

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

1. Проверка через уравнение описанной окружности.

2. Проверка с заранее вычисленной описанной окружностью.

3. Проверка суммы противолежащих углов.

Проверка через уравнение описанной окружности. Уравнение окружности, проходящей через точки (х1, у1), (х2, y2), (x3, у3) можно записать в таком виде:

Другая запись уравнения этой окружности имеет вид

где

Тогда условие Делоне для Δ ((х1, у1), (х2, y2), (x3, у3)) выполняется только тогда, когда для любой другой точки (x0, y0) триангуляции справедливо неравенство

(а · (x02 + у02) –b·x0 + с·у0 – d) · sgn a ≥ 0, т.е. когда точка (x0, y0) не попадает внутрь окружности, описанной вокруг Δ ((х1, у1), (х2, y2), (x3, у3)).

Непосредственная реализация такой процедуры проверки требует 29 операций умножения и возведения в квадрат, а также 24 операции сложения и вычитания.

Проверка с заранее вычисленной описанной окружностью. Предыдущий вариант проверки требует значительного количества арифметических операций. Тем не менее, в большинстве алгоритмов триангуляции количество проверок условия многократно (в разных алгоритмах эта цифра колеблется от 2 до 25 и больше) превышает общее число различных треугольников, присутствовавших в триангуляции на разных шагах ее построения. Поэтому основная идея алгоритма проверки через заранее вычисленные окружности заключается в предварительном вычислении для каждого построенного треугольника центра и радиуса описанной вокруг него окружности, после чего проверка условия Делоне будет сводиться к вычислению расстояния до центра этой окружности и сравнению результата с радиусом. Центр (хс, ус) и радиус r окружности, описанной вокруг Δ ((х1, у1), (х2, y2), (x3, у3)) можно найти как хс = b/2a, ус = –с/2а, r2 = (b2 + с2 — 4аd)/4а2, где значения a, b, с, d определены выше.

Тогда условие Делоне для Δ ((х1, у1), (х2, y2), (x3, у3)) будет выполняться только тогда, когда для любой другой точки (x0, y0) триангуляции будет

(x0 — хс)2 + (y0 — ус)2r2

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

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

Проверка суммы противолежащих углов. Показано, что условие Делоне для треугольника Δ ((х1, у1), (х2, y2), (x3, у3)) будет выполняться только тогда, когда для любой другой точки (x0, y0) триангуляции будет α +β ≤ π (рис. 11). Это условие эквивалентно sin(α +β ) ≥ 0, т.е.

(1)

Рис. 6. Проверка суммы противолежащих углов

Значения синусов и косинусов углов можно вычислить через скалярные и векторные произведения векторов:

Подставив эти значения в формулу (1) и сократив знаменатели дробей, получим следующую формулу проверки:

Итеративные алгоритмы

Все итеративные алгоритмы имеют в своей основе идею последовательного добавления точек в частично построенную триангуляцию Делоне. Формально этот процесс может быть описан так.

Пусть имеется триангуляция Делоне на множестве из (n – 1) точек. Очередная п-я точка добавляется в уже построенную структуру триангуляции следующим образом.

Шаг 1. Вначале производится локализация точки, т.е. находится треугольник (построенный ранее), в который попадает очередная точка. Если точка не попадает внутрь триангуляции, то находится треугольник на границе триангуляции, ближайший к очередной точке.

Шаг 2. Если точка попала на ранее вставленный узел триангуляции, то у нас три варианта:

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

· Если точка попала строго внутрь какого-нибудь треугольника, он разбивается на три новых.

· Если точка попала вне триангуляции, то строится один или более треугольников. Затем проводятся локальные проверки вновь полученных треугольников на соответствие условию Делоне и выполняются необходимые перестроения.

Рис. 7. Две ситуации, возникающие при триангуляции после добавления новой внутренней точки

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

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

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

 

Пример итеративного алгоритма построения треангуляции Делоне

а) Заданный набор точек б) Постройка суперструктуры (квадрат), один из заданных узлов используется как вершина квадрата
в) Постройка исходной триангуляции Делоне. Т.к. квадрат является правильным многоугольником, для этого можно использовать любой из заданных узлов г) Выбор нового (произвольного) узла и удаление всех треугольников, для которых выбранный узел лежит внутри описанной окружности
д) Соединение ребрами новой вершины с углами образовавшегося многоугольника е) Выбор следующего узла и дальнейшее повторение процедуры, пока не останется неиспользованных заданных узлов
ж) Обработка еще одной точки з) Еще одной
и) Сетка построена к) Удаление из сетки всех треугольников, среди вершин которых были вспомогательные узлы суперструктуры

 

Лекция 18. CAE системы

Комплекс критериев сравнения систем КЭ-анализа

 

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

Для систем CAE, как и для CAD-систем, можно выделить общие для всех (стандартные) возможности и дополнительные функции, реализованные лишь в отдельных системах. К общим показателям функциональности можно отнести число типов конечных элементов, число видов граничных условий, производительность как при подготовке модели, так и при решении типовых задач, а к дополнительным возможностям - задание граничных условий для задач КЭ-анализа непосредственно в модуле CAD с передачей в модуль CAE; возможности программирования (например, в ANSYS - язык APDL, в CFX - язык CEL) и т.п.

Пример комплекса критериев сравнения систем КЭ-анализа

Сравнительный анализ систем расчета конструкций, выполненный Советом Международных стратегий и менеджмента (Франция, 1992-1993 гг.), включал тестирование по 352 параметрам, в том числе:

· удобство подготовки исходной информации;

· скорость автоматического формирования конечно-элементных моделей (плоских и пространственных);

· результаты решения тестовых задач, рекомендованных нормами AFNOR 1990 для оценки точности дискретных моделей (100 задач с известными аналитическими решениями - линейные и нелинейные задачи статики, линейные задачи динамики и термостатики);

· скорость решения системы линейных уравнений методом КЭ;

· состав библиотеки КЭ;

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

· контроль расчетной модели для объектов, теряющих устойчивость в процессе нагружения;

В условиях выбора системы КЭ анализа для задач конкретного конструкторского бюро вряд ли возможно подробное исседование по столь большому числу показателей. Пример сокращенного набора тестов для относительно быстрой сравнительной оценки возможностей систем среднего уровня приведен в цикле статей А.Аведьяна и А.Данилина «Прочность не для прочнистов» [САПР и графика, 2000, №№ 1, 2, 3, 5].

Сравнительному анализу были подвергнуты системы «Золотых партнеров» SolidWorks, полностью интегрированные в среду CAD-системы. Сравнение выполнено по 10 критериям:

· Круг решаемых задач.

· Сложность решаемых задач (10 задач различных уровней сложности как в смысле геометрии модели, так и по содержанию анализа).

· Достоверность результатов (сравнение с известными аналитическими решениями нескольких задач - изгиб и колебания балки, прогиб круглой пластинки, растяжение вала с выточкой, нагрев толстостенного цилиндра и др.).

· Возможности задания граничных условий и нагрузок.

· Возможности работы с БД материалов.

· Степень влияния пользователя на точность расчетов.

· Доступность для инжнеров-конструкторов, не обладающих углубленной подготовкой в области прочности.

· Качество оформления результатов и удобство работы с отчетом.

· Качество и возможности визуализации.

· Устойчивость работы на ПК малой и средней мощности.

ПО реализующее метод конечных элементов (FEM):

Elmer

1-2-3D, проект рассчитаный на решение задач из разных областей физики: теплопроводности, гидродинамики, механики твёрдого тела, акустики, электромагнетизма, квантовой механики; задачи описываются в виде легко читаемых текстовых файлов, есть неплохой графический интерфейс, поддерживает распараллеливание по MPI, лицензия GPL

FreeFEM++

2D, свой язык программирования транслируемый в C++, типизированный C-подобный, со встроенными типами триангуляций и пространств конечных элементов, код получается понятен, краток и приближен к математической записи задачи в слабой форме — но поддерживаются только треугольные элементы (включая DG- и мини-элементы), хорошая документация, много примеров использования на разных задачах, кроссплатформенный инструмент, лицензия LGPL

FreeFEM3D

3D вариант FreeFEM++, с другими разработчиками, но со схожей идеологией, на сегодняшний день с несколько меньшей фукнциональностью, поддерживает конструктивное описание геометрии задачи

GetDP

1-2-3D, формальное описание проблемы с помощью специального языка, приближенное к математической формулировке, в некотором смысле идеологически близок FreeFEM++, может решать интегро-дифференциальные задачи, в данный момент заточен под задачи из области электромагнетизма, акустики, теплопроводности и механики, ищут добровольцев готовых применить GetDP в области гидродинамики, лицензия GPL

Impact

3D, пакет для расчётов методом конечных элементов упругих и упругопластичных деформаций при ударах, написан на Java, имеет графический интерфейс, лицензия GPL, для визуализации полагается на несвободный, но бесплатный для академичекого использования, GiD

Code_Aster

1-2-3D, очень большой (миллион строк кода, более 360 разных конечных элементов) пакет для расчётов задач механики сплошных сред, термо- и гидродинамики, акустики и магнетизма и других, заметна ориентация проекта на инженерные приложения, поддерживается язык программирования Python, лицензия GPL, документация преимущественно на французском языке

Deal.II

1-2-3D, библиотека для C++, получила в 2007 году премию Вилкинсона, хорошая документация, локальная адаптация сеток, p- и hp- методы, встроенные средства создания сеток, автоматическое распараллеливание сборки линейной системы и других операций на многоядерных/многопроцессорных машинах (SMP), поддержка кластерного параллелизма (MPI), но выбор элементов беднее, чем в GetFEM++, лицензия QPL

FETK

2D-3D, набор объектно-ориентированных библиотек Си, ориентирован на решение эллиптических уравнений, поддерживает адаптивные сетки и предлагает необычный способ распараллеливания решения (помимо MPI), можно использовать все возможности из bash-подобной оболочки (интерпретатора), есть упрощённая 2D версия для matlab, лицензия GPL

Dolfin/FEniCS

С++ и Python интерфейсы к системе решения задач FEniCS, хорошая поддержка в Debian и Ubuntu, код приближен к математической постановке задачи в слабой форме, но получается длиннее, чем в FreeFEM++, в силу того, что Python язык универсальный; вообще под зонтиком FEniCS объединено сразу несколько интересных проектов

GetFEM++

1-2-3-…-ND, библиотека для C++, есть интерфейсы высокого уровня для Matlab и для Python (! ), поддерживает большое количество типов конечных элементов, включая экзотичные, вроде X-FEM, практически любой размерности, есть возможность программирования типовых задач с помощью готовых «кирпичиков», избегая явной сборки линейной системы, отсутствуют встроенные средства создания сеток, можно пользоваться внешними, библиотека кроссплатформенна

LibMesh

1-2-3D, библиотека для C++ с возможностью локальной адаптации сеток, параллельное решение линейных систем с помощью PETSc (MPI), поддерживает безматричные методы, выбор элементов шире, чем в Deal.II

LifeV

2D-3D, C++, основные области применения: гидродинамика, теплопроводность, перенос массы и взаимодействие жидкость–структура в пористых средах

Ofeli

2D-3D, библиотека C++, среди примеров есть задачи теплопроводости, решения уравнения Навье–Стокса для несжимаемой жидкости, теории упругости (2D и 3D), электромагнетизма, лицензия GPL

Rheolef

1-2-3D, библиотека для C++, код получается краток и приближен к математической записи задачи в слабой форме, автоматическая адаптация сеток для 2D задач

MODULEF

довольно продвинутая библиотека для Fortran77

FEATFLOW

2D-3D, библиотеки для Fortran, пакет ориентирован на решение уравнений Навье–Стокса для течения несжимаемых жидкостей, лицензия типа BSD

OpenFEM

довольно продвинутая библиотека для Matlab и Scilab, но версия для свободного Scilab развивается менее активно

Mé lina

2D-3D, библиотека для Fortran, документирована исключительно на французском языке

FEAPpv

библиотека для Fortran, для задач теории упругости и теплопроводности, распространяется бесплатно и в качестве приложения к книге, но лицензия неясна, является урезанной версией несвободной библиотеки FEAP

ALBERTA-FEM

1D-2D-3D, библиотека для C, адаптивные сетки, контроль невязок, лицензия GPL, но на данный момент несвободная документация (для старой версии — книжка на Amazon). Release candidate новой версии 3.0 можно найти здесь, там же и черновик книжки к ней (без права копирования).

ПО реализующее метод конечных объёмов (FVM):

FiPy

библиотека для Python, удобная запись задачи, приближенная к математической записи в сильной форме, получается простой и краткий код, решает задачи типа реакция–диффузия–конвекция в 1-2-3D, но не работает с областями со сложной геометрией, библиотека кроссплатформенна

Gerris

2D-3D, пакет ориентированный на решение задач вычислительной гидродинамики (несжимаемаемые течения, уравнения Эйлера, Стокса или Навье–Стокса), поддерживает адаптивные сетки, расчёт переноса веществ в жидкости, распараллеливание по MPI, использует метод Volume-of-Fluid для отслеживания границы между жидкостями, постановка задачи описывается в виде графа, геометрия твердых объектов может быть импортирована из приложений CAD и 3D-моделирования, лицензия GPL

OpenFOAM

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

Overture

пакет C++ библиотек для расчётов на сложных и перекрывающихся сетках методами конечных разностей и конечных объёмов, поддерживает MPI, основной упор на гидродинамику и теорию горения. Лицензия несвободная, запрещает коммерческое использование.

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

  • Python с PySparse
  • C++ с GMM++ или каким-нибудь другим из решателей линейных систем (см. выше)
  • C или Fortran с любым подходящим решателем линейных систем
  • Overture (см. выше)

 


Поделиться:



Популярное:

  1. I. Особенности учета в строительстве
  2. Алгоритм расчета доз органических и минеральных удобрений по прогнозному ротационному балансу элементов питания растений
  3. Анализ элементов художественного текста
  4. Биологическая система, состоящая из взаимосвязанных и соподчиненных элементов, взаимоотношения и особенности строения которых определены их функционированием как целого. Что является такой системой?
  5. В задачах 392–420 определить электродвижущую силу элементов, написать уравнения реакций, за счет которых возникает разность потенциалов. Составить схемы элементов
  6. В задачах 881–890 составить электронные формулы атомов элементов в стабильном и возбужденном состояниях и изобразить орбитали внешнего энергетического уровня
  7. В транспортном строительстве»
  8. Взаимодействие элементов рыночного механизма и установление цен равновесия.
  9. Виды упругих элементов, применяемых в рессорном подвешивании
  10. Выбор и обоснование элементов учетной политики хозяйствующих субъектов
  11. Выбор конструктивных элементов. Обоснование принятых решений
  12. Выбор элементов для испытания


Последнее изменение этой страницы: 2017-03-03; Просмотров: 2050; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.106 с.)
Главная | Случайная страница | Обратная связь