7 мая 2014 г.

Приемы работы с Генератором начальной сетки

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


Сегодня публикую заметку о том, как и что можно сделать с помощью редактора начальной сетки. Данный редактор очень старый и мы спим и видим как от него избавиться, заменить на что-то более свежее, простое, понятное при первом знакомстве. Пока же мы работаем в этом направлении, нужно как-то упростить работы с этим полезным инструментом. Надеюсь данная статья поможет быстро понять что это за зверь. Как показывает мой опыт, после понимания принципа работы редактора, создание начальной сетки начинает приносить удовольствие: все получается очень быстро, просто и экономично.




Цель урока

Научиться строить экономичные начальные сетки

Задачи урока

  • Освоить интерфейс Генератора начальных сеток
  • Научиться строить неравномерные начальные сетки
  • Познакомиться с основными приемами работы с Генератором начальных сеток

Подготовка к уроку

Понадобится Пре-постпроцессор в составе FlowVision и клиентская часть проекта Boat, которая входит в состав Учебника, входящего в инсталляцию FlowVision в Windows.

Открыв проект в Пре-Постпроцессоре увидим параллелепипед с лодкой. Задача имеет симметричную постановку, когда считается половина лодки.

Анализ задачи

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

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

Основные принципы построения расчетной сетки

Для устойчивого и корректного решения необходимо придерживаться следующих правил при построении начальной и расчетной сеток:
  1. Области с локальными особенностями геометрических моделей и с градиентами физических величин должны качественно разрешаться расчетной сеткой
  2. В области, где имеется интенсивное вихреобразование или где поток меняет направление своего течения, расчетную сетку целесообразно выполнять равномерной. Т.е. грани ячеек начальной сетки должны иметь форму предельно близкую к кубической
  3. Размер одной грани начальной ячейки не должен отличаться от других ее граней более чем в 30 раз
  4. Размер грани ячейки в одном из направлений не должен отличаться от размера грани соседней ячейки в том же направлении более чем в два раза

Знакомство с интерфейсом Генератора начальной сетки

Подробно обо всех элементах интерфейса написано в разделе Руководства пользователя. В данном уроке затрагивается часть интерфейса, которая наиболее активно используется.
Рис.1. Интерфейс Генератора начальной сетки

Большую часть окна Генератора начальной сетки занимает диаграмма, которая представляет собой график изменения размера ячейки вдоль одного из трех направлений глобальной системы координат.
Напомним, что начальная расчетная сетка строится в параллелепипеде, который описан вокруг расчетной области.
Ось абсцисс на данном графике - это координата в глобальной системе координат по выбранной оси (Ось выбирается в группе кнопок "Ось") в метрах. Ось ординат - это размер начальной ячейки в метрах.
На рис.1.  вдоль оси X грань ячеек имеет почти постоянную длину (около 2,5 метров) на участке расчетной области от -26 метров  до 4.5 метров по оси OX. На участке от 4,5 м до 26 м размер ячеек плавно уменьшается до 0,838 метров.
На рис. 2. представлено сечение такой расчетной сетки вдоль оси ОX. Как видно, в сторону положительных значений координат оси OX размер ячеек уменьшается.

Рис.2. Сечение расчетной сетки в направлении оси OX.

Базовые линии

Слева и справа график размера начальных ячеек ограничен Базовыми линиями. С помощью параметров на Базовых линиях определяется форма графика.

В общем случае на Базовой линии необходимо задать следующие параметры:
  1. Размер начальной ячейки, h
  2. Коэффициент скорости изменения размера ячейки справа от Базовой линии, kh+
  3. Коэффициент скорости изменения размера ячейки слева от Базовой линии, kh-
Коэффициент скорости изменения размера ячейки справа от Базовой линии - это отношение между размерами соседних ячеек. Фактически - это тангенс угла наклона касательной к графику в точке. Таким образом, с помощью коэффициентов kh+ и kh- можно управлять интенсивностью изменения размера ячейки при удалении от Базовой линии.

Существует возможность создавать пользовательские Базовые линии, которые могут располагаться между исходными Базовыми линиями в определенном пользователем месте.

Особенности интерфейса Генератора начальной сетки

  1. В числах возможно использовать только точку в качестве десятичного разделителя.
  2. Реальные значения размеров ячеек может незначительно отличаться от тех параметров, что заданы на Базовых линиях, связано это с тем, что программе необходимо построить начальную сетку, удовлетворяющую ряду строгих геометрических условий.
  3. Перед переходом к редактированию сетки вдоль очередной оси необходимо применить все изменения в окне для текущего графика
  4. В группах элементов "Параметры сетки" и "Параметры базовой линии" используются различные механизмы применения изменений. В группе "Параметры сетки" для применения изменений необходимо нажать кнопку "Применить". В группе "Параметры базовой линии" применение изменений происходит после нажатия кнопки "Enter"  непосредственно после редактирования значения того или иного поля.

Процесс построения неравномерной начальной сетки

Начнем с построения сетки вдоль оси OY. Для этого запустите Генератор начальной сетки, нажмите на кнопку "Y" для отображения графика вдоль оси OY.
Положим, что в области лодки мы хотим иметь ячейку с размером 0,25 м вдоль оси OY. При этом на удалении от лодки, мы можем использовать ячейки с размером в 2 метра.
Сначала задайте минимальный размер ячейки h_min=0.25, затем максимальный h_max=2. Примените изменения.
Перетащите вниз до упора мышкой голубую точку на Базовой линии справа, т.е. в той координате, где расположена лодка. Таким образом можно задать на Базовой линии минимальное значение размера ячейки. На левой Базовой линии перетащите точку до упора наверх, задав таким образом максимальное значение размера ячейки на базовой линии. На рис.3 приведен результат:
Рис.3. Линейное изменение размера ячеек вдоль оси OY

Как видно, ячейки начинают увеличиваться в размере сразу от крайней плоскости расчетной области. А нам необходимо, чтобы в окрестности лодки сетка была равномерной, т.е. чтобы размер ячеек не изменялся. Чтобы достичь этого эффекта изменим коэффициент kh- на правой Базовой линии так, чтобы касательная к графику уходила в сторону уменьшения размера ячеек. Но т.к. минимальный размер ячеек ограничен величиной h_min и на правой опорной линии размер ячейки уже имеет минимальное значение, график просто прижмется к значению минимального размера ячейки, обеспечив равномерную сетку около лодки.
На рис. 4 приведен результат применения коэффициента kh- = на правой опорной линии.

Рис. 4. Нелинейное изменение размера ячеек вдоль оси OY

Чтобы рассмотреть получившуюся начальную сетку с разных ракурсов можно нажать ОК и еще раз ОК в появившемся окне со статистическими данными по построенной сетке.
Не забудьте нажать "Применить" в окне свойств Начальной сетки (см. рис.5), иначе все изменения при переходе на другой объект дерева проекта будут потеряны.


Рис.5. Окно свойств Начальной сетки

Применение пользовательских Базовых линий

При построении неравномерной сетки вдоль оси OZ необходимо разрешить свободную поверхность, которая проходит через центр системы координат. Проще всего это сделать разместив пользовательскую Базовую линию в нуле.
Но сначала определите минимальные и максимальные размеры ячеек h_max=2 м и h_min=0.1 м. Т.е. ячейка в направлении OZ будет в 25 раз меньше, чем ячейка в направлении OY. Это стандартный прием в судовых задачах с плоской свободной поверхностью, который позволяет качественно разрешить волны на поверхности воды. Нажмите Применить.

Для того, чтобы измельчить сетку у самой поверхности, создайте Базовую линию в координате X=0. Для этого в поле рядом с кнопкой "Вставить" укажите координату линии - 0 м и нажмите на кнопку Вставить.

Появится Базовая линия. Но обратите внимание, что при этом h_max изменится с 2 метров на 1 метр. Связано это с ограничением, определенным коэффициентом kh_max. Данный коэффициент определяет, как сильно может отличаться размер в одном направлении двух соседних ячеек. По умолчанию он не должен отличаться более чем в 1.2 раза.  В подавляющем большинстве случае можно смело увеличивать kh_max до 2. Задайте kh_max=2 и снова задайте h_max=2 м.
Ограничение: стоит отметить, что чем больше создано Базовых линий, тем меньше может быть достигнута разница между h_max и h_min, поэтому стоит избегать избыточного использования Базовых линий, а также стараться не располагать Базовые линии близко друг к другу.

Переместите точку на новой Базовой линии до предела вниз, задав минимальное значение размера ячейки на этой Базовой линии. Точки на крайних базовых линиях необходимо довести до крайнего верхнего положения. На средней Базовой линии  необходимо задать kh-=1.01, чтобы размер ячеек изменялся плавнее. На рис.6. приведен результат построения сетки вдоль оси OZ.


Рис. 6. Начальная сетка вдоль оси OZ с измельчением сетки в области пользовательской Базовой линии.

Попробуйте самостоятельно построить сетку для оставшегося направления, все идентично направлению Y.

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

Комментариев нет:

Отправить комментарий