Возможности OpenFOAM для построения расчетных сеток
description
Transcript of Возможности OpenFOAM для построения расчетных сеток
Возможности 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
Сетка построена в ICEM CFD. Tetra/prisms
Порядок работы:- Создаем геометрию в 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.0937OMEGAin= 8.22EPSILONin=0.0693Dt=0.00025 сек.Time = 0.2 сек.Решатель в OpenFOAM – pisoFoam
Данные для расчета
Create timeCreate polyMesh for time = 0Time = 0Mesh stats points: 62054 faces: 672802 internal faces: 649206 cells: 330502 boundary patches: 3 point zones: 0 face zones: 1 cell zones: 1Overall number of cells of each type: hexahedra: 0 prisms: 0 wedges: 0 pyramids: 0 tet wedges: 0 tetrahedra: 330502 polyhedra: 0Checking 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
Утилита checkMesh
Пример ‘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 с.