Найти тему
COMSOL Russia

Принцип построения расчётной сетки для линейных стационарных задач

Оглавление

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

Построение конечно-элементной сетки

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

Дискретизация геометрии

Рассмотрим два простых геометрических тела: куб и цилиндрическую оболочку.

Существует четыре различных типа элементов, которые можно использовать для построения сеток. Это геометрические тела — тетраэдры (четырехгранники), гексаэдры (шестигранники), треугольные призматические элементы (призмы) и пирамиды.

-2

Серые кружки отображают углы или узлы элементов. Эти четыре элемента могут быть использованы в любой комбинации. (Для двухмерного моделирования доступны треугольные и четырехугольные элементы.) После рассмотрения иллюстрации становится видно, что расчётные сетки обоих геометрических тел могут быть построены с использованием всего лишь одного шестигранника, двух призм, трёх пирамид или пяти четырёхгранников. Как мы узнали из более ранней записи в блоге о решении линейных статических задач методом конечных элементов, вы всегда получите решение уже в первой итерации метода Ньютона-Рафсона. Это является верным для всех линейных задач конечных элементов независимо от вида расчётной сетки. Так что давайте взглянем на простейшую сетку, которую мы можем наложить на выбранные структуры. Иллюстрация ниже — это графическое представление дискретизации наших геометрических тел на один шестигранник:

-3

Очевидно, что расчётная сетка куба — это идеальное представление исходного геометрического тела, а вот сетка цилиндрической оболочки проявляется достаточно плохо. Фактически она появляется в таком виде только при выводе изображения. Элементы всегда выводятся на экран с прямыми рёбрами, (это сделано для повышения графической производительности) но для дискретизации геометрии (и решения) COMSOL обычно использует элементы Лагранжа второго порядка. Так что, хотя рёбра элемента всегда появляются в виде прямых, внутри среды они представлены как:

-4

Белые кружки отображают срединные узлы рёбер элементов второго порядка. Линии, определяющие ребра элементов, проходят через три точки. Рёбра аппроксимированы полиномиальным приближением. В центре каждой из четырехсторонних поверхностей и в центре объема шестигранных элементов Лагранжа второго порядка также есть дополнительные узлы (опущены для простоты). Видно, что эти узлы хорошо служат для представления искривленных границ элементов. Для большинства физических задач COMSOL использует элементы второго порядка по умолчанию. Два исключения из этого — задачи, связанные с переносом химических веществ и полем потока жидкости. (Пока в проблемах такого типа в основном речь идёт о конвекции, главные уравнения лучше решать с элементами первого порядка.) Также доступны и элементы более высокого порядка. А вот элементы второго порядка — это отличный компромисс между точностью и требованиями к вычислительной производительности.

Иллюстрация ниже показывает погрешность геометрической дискретизации при построении сетки для дуги в 90° в количестве элементов первого и второго порядка:

-5

Вывод, который можно сделать из всего вышесказанного: для уменьшения погрешности геометрической дискретизации до уровня ниже 1% нужно хотя бы два элемента второго порядка или восемь элементов первого порядка. Фактически два элемента второго порядка вносят погрешность геометрической дискретизации менее чем 0.1%. Более густые сетки будут точнее представлять фигуру, но и используют больше вычислительных ресурсов. Это дает нам два хороших практических совета:

  1. При использовании элементов первого порядка подгоняйте сетку таким образом, чтобы приходилось хотя бы 8 элементов на дугу в 90° градусов
  2. При использовании элементов второго порядка на дугу в 90° должно приходиться два элемента

Теперь с этими правилами, полученными опытным путём, мы можем оценить погрешность, внесённую при построении сетки. Это возможно сделать с определенной уверенностью даже до непосредственного решения модели. А сейчас давайте обратим наше внимание на то, как сетка “дискретизирует” решение.

Дискретизация решения

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

-6

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

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

-7

А теперь давайте посмотрим на чуть более сложный вариант. Мы уже видели, что модель цилиндрической оболочки будет с погрешностью геометрической дискретизации из-за искривленных рёбер, так что мы запустим её хотя бы с двумя элементами второго порядка (или восьмью первого порядка) вдоль искривленных рёбер. Если вы посмотрите внимательно на изображение выше, увидите, как на границах искривлены рёбра элементов. Внутренние же элементы имеют прямые ребра. Пока поле температуры не изменяется вдоль оси цилиндра, мы можем использовать одиночный элемент. Однако в радиальном направлении от внутренней к внешней поверхности нам необходимо иметь достаточно элементов для дискретизации решения. Аналитическое решение для этого случая выглядит так:

-8

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

-9

Из этого графика становится ясно, что по мере увеличения количества элементов в модели погрешность уменьшается. Это фундаментальное свойство метода конечных элементов: чем больше элементов, тем точнее решение. Конечно, с этим связаны затраты. Для решения больших моделей требуется больше вычислительных ресурсов и времени. Теперь вы заметите, что здесь нет единиц измерения по оси x. Величина выбирается в каждом конкретном случае. Коэффициент, при котором погрешность уменьшается с увеличением густоты сетки, будет своим для каждой модели. Он зависит от многих факторов. Единственный важный момент это то, что погрешность будет всегда монотонно уменьшаться для корректно поставленных задач.

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

-10

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

-11

Мы говорим, что обычно в пределах увеличения густоты сетки погрешность может быть приведена к такому небольшому значению, как 10⁻⁶. В любом случае на практике же вводные данные наших моделей часто будут иметь намного большую неопределенность, чем эта величина. Также помните о том, что в целом мы не знаем точного решения. Поэтому мы должны сравнить расчётные решения по сеткам с разными размерами и наблюдать, к каким значениям сходится результат.

Адаптивное сгущение сетки

Хотелось бы завершить эту статью описанием лучшего способа уплотнить сетку. Графики выше показывают, что погрешность идёт на спад, когда все элементы в модели становятся меньше. Как бы то ни было, в идеальном случае вы сделаете элементы меньше только в участках, где погрешность высока. Среда COMSOL реализует это через Adaptive Mesh Refinement (Адаптивное сгущение сетки), которое сначала строит первоначальную сетку. Затем среда по итерациям добавляет элементы в участки, где по оценке должна быть высокая погрешность и после этого решает модель снова. Это можно проделывать столько итераций, сколько хочется. Данная функция работает с треугольными элементами в двухмерном пространстве и четырёхгранными в трехмерном. Давайте проверим это в контексте простой задачи строительной механики — пластина с одноосным натяжением и отверстием, как показано на рисунке ниже. Из-за того, что пластина симметрична, нам достаточно описать только одну четверть модели.

-12

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

-13

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

Резюме

  • Вам следует всегда выполнять исследование сеточной сходимости и сравнивать результаты для сеток различных размеров
  • Используйте ваши знания о погрешности геометрической дискретизации для того, чтобы выбрать максимально грубую исходную сетку и увеличить её густоту
  • Для того, чтобы сделать сетку более густой, используйте метод адаптивного сгущения или свои инженерные оценки

#наука #физика #технологии #программы #численные методы #fem #comsol