Построение сетки
Качество, маркеры, mesh partition.
Качество сетки
AeroOpt предлагает три уровня качества сетки. Они отличаются размером элементов и числом слоёв в пограничном слое:
- Грубая
- Примерно 30-50 тысяч ячеек. Время генерации — 15-30 секунд. Подходит для оценки CL/CD с точностью 5-10%. Хороша для параметрической оптимизации, где важна скорость, а не точность.
- Средняя
- Примерно 100-200 тысяч ячеек. Время генерации — 1-2 минуты. Точность 2-3%. Используйте для финального расчёта поляры.
- Точная
- 500+ тысяч ячеек. Время генерации — 5-15 минут. Точность менее 1%. Применяйте для валидационных расчётов и при подготовке статьи.
Маркеры в mesh.su2
SU2 требует, чтобы в файле mesh.su2 были определены граничные маркеры. AeroOpt автоматически создаёт:
- airfoil
-
Поверхность самолёта. На этом маркере SU2 считает
аэродинамические силы (CL, CD, CM) и записывает
surface_flow.vtuдля визуализации. - farfield
- Внешняя граница расчётной области. Здесь SU2 задаёт условия набегающего потока (давление, температура, скорость).
- symmetry_plane
- (Опционально) Плоскость симметрии Y=0. Создаётся, если в Solver Settings включён чекбокс «Плоскость симметрии» и геометрия действительно симметрична. SU2 считает только половину модели, экономя ~45% времени.
Mesh partition
При запуске SU2 на нескольких ядрах (через mpiexec) сетка
должна быть разбита на части. За это отвечает утилита
SU2_PARTITION, которая обычно идёт в комплекте
с SU2.
AeroOpt запускает SU2_PARTITION автоматически перед каждым расчётом (если включён чекбокс «Mesh partition» в Solver Settings). Если SU2_PARTITION не найдена, SU2 выполнит partition самостоятельно, но это занимает 10-20 секунд на старте.
Рекомендации по выбору числа процессов:
- Для сеток до 100 тысяч ячеек: 2-4 процесса.
- Для 100-500 тысяч: 4-8 процессов.
- Для 500 тысяч и больше: 8-16 процессов.
- Больше ядер, чем ячеек на процесс (примерно 10 тысяч), даёт слабый эффект.
Что делать, если сетка не строится
«Marker airfoil пустой». Это значит, что самолёт оказался вне фоновой сетки. Проверьте, что геометрия действительно попадает в область расчёта. Попробуйте увеличить качество до «Точная».
«Gmsh: segmentation fault». Обычно это вырожденная геометрия: очень маленькие детали или пересекающиеся тела. Откройте геометрию в MeshLab и проверьте её на корректность.
«Surface_flow.vtu не записан». SU2 отработал, но не нашёл маркер airfoil. См. выше.