Разбиение Сетки для Нелинейных Статических Конечно-Элементных Задач

Walter Frei 10/12/2013
Share this on Facebook Share this on Twitter Share this on Google+ Share this on LinkedIn

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

Резюме линейных и нелинейных статических задач

Есть три ключевых момента из блог-статьи по разбиению сетки линейной статической задачи , которые необходимо напомнить. Это:

  1. Линейная статическая конечно-элементная задача всегда сходится за одну итерацию по Ньютону-Рафсону, независимо от шага сетки разбиения.
  2. Вы всегда должны начинать с наиболее грубой сетки разбиения и, либо измельчать ее вручную, или использовать адаптивный алгоритм измельчения сетки.
  3. Исследование измельчения сетки всегда следует выполнять, для того чтобы оценить точность полученных результатов, при контроле сходимости вдали от любых сингулярностей в модели.

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

Сетка в Нелинейных Задачах

При разбиении сетки в нелинейных задачах, всегда необходимо помнить о том, что:

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

Чтобы лучше понять это, давайте посмотрим на одномерную тепловую конечно-элементную задачу. Мы будем рассматривать стенку толщиной 1 м с фиксированной температурой T=0 на одном конце и T=100 на другом, как показано ниже:

Domain of a one dimensional thermal finite element problem Разбиение Сетки для Нелинейных Статических Конечно Элементных Задач

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

Plot of different thermal conductivities Разбиение Сетки для Нелинейных Статических Конечно Элементных Задач
Если мы нарисуем решение для линейного случая, k=25, то получим:
Graph of the solution for the linear case Разбиение Сетки для Нелинейных Статических Конечно Элементных Задач

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

Теперь, если мы построим график решения в случае k=\exp(T/25), с элементами, обозначенными пунктирными линиями, мы получим:

nonlienar case Разбиение Сетки для Нелинейных Статических Конечно Элементных Задач

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

Наконец, если мы построим график решения в случае k=1+50\exp\left[-(T-50)^2\right], мы получим:
Mesh refinement brings us closer and closer to the solution Разбиение Сетки для Нелинейных Статических Конечно Элементных Задач

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

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

Заключение

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

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


Загрузка комментариев...

Темы публикаций


Теги