
Пакет OpenFOAM является одним из популярных инженерных инструментов для численного моделирования задач прикладной гидродинамики, для которых могут быть характерны сложные геометрии и сетки с числом ячеек, измеряемых десятками миллионов. Поскольку решение такого рода задач зачастую отличается большой продолжительностью и ресурсоёмкостью, любое ускорение таких расчетов имеет большое практическое значение. На основе одной практической задаче численного моделирования гидродинамических характеристик гребных винтов в настоящей работе исследуется вопрос оптимизации расчета в OpenFOAM за счет применения оригинальной библиотеки SparseLinSol (SLS), разрабатываемой авторами. Библиотека предназначена для решения больших разреженных систем уравнений на суперкомпьютерах и использует итерационные методы подпространства Крылова и многосеточные методы. Алгоритмы библиотеки используют оригинальную гибридную схему распараллеливания, комбинирующию модели MPI и Posix Shared Memory, а также допускают использование графических ускорителей NVIDIA для значительной части реализованных методов. В результате проведенного тестирования на вычислительной системе, оборудованной ускорителями NVIDIA X2070, показано, что: 1) результаты моделирования целевой задачи в пакете OpenFOAM, в целом, соответствуют результатам, полученным в пакете Star-CCM и результатам экспериментов; 2) реализованные методы решения СЛАУ обладают большей робастностью по сравнению с многосеточным методом GAMG, реализованным в пакете OpenFOAM; 3) Гибрдная модель распараллеливания значительно улучшает масштабируемость солвера, что позволяет добиваться линейной масштабируемости до 128 узлов, на всем диапазоне рассмотренном в проведенных тестах; 4) использование графических ускорителей способно увеличить скорость расчётов в 1.4-3 раза; 5) реализация методов в библиотеке SparseLinSol превосходит по скорости реализацию методов из библиотеки hypre для той же комбинации методов и тесторых матриц
OpenFOAM is a proven engineering tool for applied hydrodynamics numerical modeling which is typically characterized by complex geometries and large grids of 107-108 cells. Since such calculations are often very long and resource-intesive, any way of speeding them up is of high practical interest. Based on one practical problem of a screw propeller characteristics modeling, optimizations to OpenFOAM via the originally developed SLAE solution plugin is proposed. The plugin is based on SparseLinSol (SLS) library, developed by the authors. The library uses Krylov subspace iterative methods with the Classic AMG preconditioner to effectively solve large SLAEs on supercomputers and features original hybrid communications model which implements MPI and Posix Shared Memory combination. The library also is able to utilize NVIDIA GPU accelerators for a significant part of the implemented algorithms. Test results on 128-node computational system equipped with NVIDIA X2070 accelerators show that: (i) OpenFOAM numerical modeling results are close to those achieved with Star-CCM package and experimental results; (ii) developed SLAE solution methods are more robust than those implemented in original OpenFOAM GAMG-based SLAE solver; (iii) hybrid communication model improves solver scalability a lot and the solver scales linearly up to the maximum number of nodes used in current tests; (iv) GPU usage makes calculations 1.4-3 times faster; (v) SLS solver is faster than hypre solver on the same set of implemented methods and test matrices
МНОГОСЕТОЧНЫЕ МЕТОДЫ, ГРАФИЧЕСКИЕ УСКОРИТЕЛИ, ГРЕБНЫЕ ВИНТЫ, МАСШТАБИРУЕМОСТЬ, ПАКЕТ OPENFOAM
МНОГОСЕТОЧНЫЕ МЕТОДЫ, ГРАФИЧЕСКИЕ УСКОРИТЕЛИ, ГРЕБНЫЕ ВИНТЫ, МАСШТАБИРУЕМОСТЬ, ПАКЕТ OPENFOAM
| selected citations These citations are derived from selected sources. This is an alternative to the "Influence" indicator, which also reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | 0 | |
| popularity This indicator reflects the "current" impact/attention (the "hype") of an article in the research community at large, based on the underlying citation network. | Average | |
| influence This indicator reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | Average | |
| impulse This indicator reflects the initial momentum of an article directly after its publication, based on the underlying citation network. | Average |
