***** 1 - unihub

Report
Возможности OpenFOAM для
построения расчетных сеток
Сергей Стрижак
21.11.2013-22.11.2013
Основные этапы решения задач МСС
Различные конечно-объемные элементы в OpenFOAM
Метод конечных объемов, I
• Метод конечных объемов (FVM) используется для
аппроксимации законов сохранения
• Вычислительная область разбивается на конечное число
непересекающихся контрольных объемов произвольной
многогранной формы
• Структура данных:
– Вершины
– Ребра (соединяют вершины)
– Грани (замкнутый многоугольник из ребер)
– Ячейки (объемы ограниченные гранями)
Метод конечных объемов, II
• В методе конечных объемов используется три уровня
аппроксимации:
– Аппроксимация интегралов по поверхности,
объему и времени
– Интерполяция в точках, отличных от расчетных
(центры ячеек)
– Численное дифференцирование (аппроксимация
градиентов)
• Простейшие аппроксимации второго порядка точности
(применимые для контрольного объема произвольной формы):
– Метод средней точки для интегралов (Midpoint rule),
– Линейная интерполяция,
– Центральные разности (линейные функции формы).
Простые аппроксимации, I
• Примеры простых аппроксимаций второго порядка точности,
применимых для произвольных многогранных контрольных
объемов:
Простые аппроксимации, II
•
Для аппроксимации диффузионного потока необходимо знать
производную в направлении перпендикулярном грани ячейки в центре
грани...
•
Некоторые простые апроксимации второго порядка точности,
применимые для произвольных многогранных ячеек:
Основные утилиты в OpenFOAM
для работы с сетками, I
•
•
•
•
•
•
•
blockMesh – блочный генератор сетки
checkMesh -allTopology -allGeometry – проверка
качества сетки
extrude2DMesh – создание 3D сетки конечной
толщины на базе 2D сетки
extrudeMesh – выдавливание сетки из
существующего патча
refineMesh -утилита для измельчения ячеек в
нескольких направлений
snappyHexMesh – утилита для построения
адаптированной сетки с использованием фоновой
сетки на базе STL геометрии
polyDualMesh – утилита для построения
многогранных (polyhedral) сеток
Основные утилиты в OpenFOAM
для работы с сетками, II
• mergeMeshes - объединение двух сеток
• mirrorMesh – построение зеркальной сетки
относительно выбранной плоскости
• moveDynamicMesh – движение сетки и
топологическое изменение сетки
• moveMesh - решатель для подвижных сеток
• moveEngineMesh – решатель для подвижных сеток в
камере ДВС
• rotateMesh - вращение сетки и полей от
направления n1 к направлению n2
• splitMeshRegions - расщепление сетки на несколько
областей
Основные утилиты в OpenFOAM
для работы с сетками, III
• attachMesh - подсоединение топологически отсоединенной
сетки, использую заранее заданные сеточные настройки
• autoPatch - разбиение внешних граней на патчи
основанные на заданном угле пользователем
• createPatch – утилита для создания патчей вне выбранных
граничных граней. Faces come either from existing patches or
from a faceSet
• setSet - манипуляция a cell/face/point/ set или зоной
интерактивно
• transformPoints – трансформация узлов сетки в polyMesh
директорию согласно translate, rotate and scale опциям
• zipUpMesh - Reads in a mesh with hanging vertices and zips up
the cells to guarantee that all polyhedral cells of valid shape are
closed
Сетки из тетраэдров
 Легко создаются автоматически, но не являются оптимальными:
– Только 4 соседа (слишком мало для точной аппроксимации
градиентов);
- Расположение соседей
может быть
неблагоприятным...


Для решателя
необходимы особые
критерии, чтобы достичь
приемлемой точности на
искаженных сетках
(distorted meshes)...
Неблагоприятное
соотношение между
числом ячеек и
качеством решения...
Милован Перич
CD-adapco, 2007
Сетки с усеченными ячейками
(Trimmed Grids)
• Эти сетки преимущественно гексагональные (обычно
Декартовы), с некоторым количеством многогранных
ячеек в области обрезки...
• Эти сетки обычно имеют оптимальные параметры
(основную сетку можно растянуть...)
Сетки из многогранных ячеек
 Сетки из многогранных ячеек можно создавать
автоматически также просто, как и сетки из тетраэдров –
однако эти сетки имеют ряд преимуществ:
– Всегда достаточно соседей для вычисления градиентов
(обычно 10 – 12)
– Пространственное расположение соседей более
благоприятно...
Почему многогранные ячейки?
•
Расширение возможностей метода дискретизации и
решения уравнений для работы с произвольными
многогранными ячейками преследует несколько целей:
 Устранение ограничений по форме ячеек (делая любую
форму ячейки приемлемой);




Унификация работы программы в некоторых особых
случаях ;
Упрощение кода и структуры данных, увеличение
модульности программы;
Увеличение надежности программы;
Упрощение поддержки и расширения программного
продукта...
Модель аппарата-зонда ‘Сканлайнер’
Модель построена в пакете Solidworks
Сетка построена в ICEM CFD. Tetra/prisms
Геометрия передана в пакет ICEM CFD
Порядок работы:
- Создаем геометрию в SolidWorks
- Сохраняем файл в формате .stl
- Загружаем файл .stl в ICEM CFD 11.0
- Выбираем расчетную область
- Выбираем типы контрольных объемов
- Строим сетку, проводим контроль
- Сохраняем сетку в формате Fluentv6
- Передаем файл в OpenFoam c помощью
утилиты “fluent3DMeshToFoam scan.msh”
Данные для расчета
Расчетная область (-2.0 -0.68 -0.68) - (2.0 0.68 0.68)
Расчетная сетка построена на базе тетраэдров
Размеры тетраэдров:
1) 100 (inlet) 100 (outlet) 3 (SOL)
2) 80 (inlet) 80 (outlet) 4 (SOL)
Общее количество ячеек – 330502 и 451700
Модель URANS с k-w SST моделью турбулентности
Tu=1 % , U = 25 м/c (25 0 0 ). Изменение угла атаки (0 4 8 10 градусов)
Kin= 0.0937
OMEGAin= 8.22
EPSILONin=0.0693
Dt=0.00025 сек.
Time = 0.2 сек.
Решатель в OpenFOAM – pisoFoam
Утилита checkMesh
Create time
Create polyMesh for time = 0
Time = 0
Mesh stats
points:
62054
faces:
672802
internal faces: 649206
cells:
330502
boundary patches: 3
point zones: 0
face zones:
1
cell zones:
1
Overall number of cells of each type:
hexahedra: 0
prisms:
0
wedges:
0
pyramids: 0
tet wedges: 0
tetrahedra: 330502
polyhedra: 0
Checking topology...
Boundary definition OK.
Point usage OK.
Upper triangular ordering OK. Face vertices OK. Number of regions: 1 (OK).
Утилита checkMesh
Checking patch topology for multiply connected surfaces ...
Patch
Faces Points Surface topology
inlet
412 232 ok (non-closed singly connected)
outlet
5736 2894 ok (non-closed singly connected)
SOL
17448 8726 ok (closed singly connected)
Checking geometry...
Overall domain bounding box (-2 -0.679981 -0.679997) (2 0.68 0.68)
Mesh (non-empty, non-wedge) directions (1 1 1)
Mesh (non-empty) directions (1 1 1)
Boundary openness (-2.18538e-19 4.49199e-19 -2.47128e-19) OK.
Max cell openness = 1.65939e-16 OK.
Max aspect ratio = 11.0456 OK.
Minumum face area = 1.26182e-07.
Maximum face area = 0.00694694.
Face area magnitudes OK.
Min volume = 5.42529e-11.
Max volume = 0.000201659. Total volume = 5.79848.
Cell volumes OK.
Mesh non-orthogonality Max: 61.0149 average: 13.3286
Non-orthogonality check OK.
Face pyramids OK.
Max skewness = 0.913121 OK.
Mesh OK.
End
Пример ‘scanliner’. Многогранные ячейки
$ polyDualMesh <angle>
<angle> – угол в градусах
между гранями ячеек
Угол в 40-80 градусов
Расчет объема ячейки ?
Алгоритм построения ?
OpenFOAM-2.2.x /
src / conversion /
polyDualMesh /
polyDualMesh.C
Usage: polyDualMesh [OPTIONS] <featureAngle [0-180]>
options:
-case <dir>
specify alternate case directory, default is the cwd
-concaveMultiCells
split cells on concave boundary edges into multiple cells
-constant
include the 'constant/' dir in the times list
-doNotPreserveFaceZones
disable the default behaviour of preserving faceZones by
having multiple faces in between cells
-latestTime
select the latest time
-noFunctionObjects
do not execute functionObjects
-noZero
exclude the '0/' dir from the times list, has precedence
over the -zeroTime option
-overwrite
overwrite existing mesh/results files
-splitAllFaces have multiple faces in between cells
-time <ranges> comma-separated time ranges - eg, ':10,20,40-70,1000:'
-srcDoc
display source code in browser
-doc
display application documentation in browser
-help
print the usage
Using: OpenFOAM-2.1.0 (see www.OpenFOAM.org)
Build: 2.1.0-bd7367f93311
Применение многогранных ячеек
в ядерной энергетике
• Моделирование нестационарного растворения бора в корпусе
ядерного реактора...
• Модель 4-х контурного реактора
PWR с перфорированным баком...
Automatically generated mesh, resolving geometrical details with STAR-CCM
Литература
• Jasak H. Error analysis and estimation in the Finite Volume method
with application to fluid flows: PhD thesis. Imperial College of
Science, Technology and Medicine. L., 1996. 394 p.
• Samir Muzaferija, David Gosman. Finite-Volume CFD Procedure
and Adaptive Error Control Strategy for Grids of Arbitrary Topology.
JOURNAL OF COMPUTATIONAL PHYSICS 138, 766–787 (1997)
• Ferziger J.H., Peric M., Computational Methods for Fluid Dynamics.
Springer-Verlag, Berlin et al.: Springer, 2002. – 423p.
• Peric M. Flow simulation using control volumes of arbitrary
polyhedral shape, ERCOFTAC Bulletin, No. 62, September 2004.
• Волков К.Н., Емельянов В.Н. Моделирование крупных вихрей в
расчетах турбулентных течений. М.: Физматлит, 2008. 368 с.

similar documents