Fundamental Research № 8
Total Page:16
File Type:pdf, Size:1020Kb
338 TECHNICAL SCIENCES (05.02.00, 05.13.00, 05.17.00, 05.23.00) УДК 004.94/ 519.612 МЕТОДЫ РЕШЕНИЯ СЛАУ В КОНЕЧНО-ЭЛЕМЕНТНЫХ ПРОГРАММНЫХ КОМПЛЕКСАХ, МОДЕЛИРУЮЩИХ ДЕФОРМАЦИИ ТВЁРДЫХ ТЕЛ Халевицкий Ю.В., Коновалов А.В. ФБГУН «Институт машиноведения» УрО РАН, Екатеринбург, e-mail: [email protected] При моделировании деформации твердых тел методом конечных элементов наибольшая доля вычисли- тельных ресурсов затрачивается на решение систем линейных алгебраических уравнений (СЛАУ). В данной обзорной статье собрана и обобщена информация о применяемых в конечно-элементных программных ком- плексах методах решения СЛАУ. Рассматриваются только комплексы, предназначенные для моделирования деформаций твёрдых тел. Данная информация может быть использована при проектировании новых конеч- но-элементных кодов, а также при выборе конечно-элементного комплекса для решения прикладных задач. Приводится анализ состояния проблемы, выделены наиболее распространённые подходы к организации вычислительного процесса при решении СЛАУ. Библиографический список содержит источники для даль- нейшего ознакомления с внутренним устройством конечно-элементных программных комплексов, а также с самими методами решения СЛАУ. Ключевые слова: программные комплексы, СЛАУ, метод конечных элементов, моделирование деформации твёрдого тела LINEAR SOLVERS IN SOLID MECHANICS FINITE ELEMENT ANALYSIS SOFTWARE Khalevitskiy Y.V., Konovalov A.V. Institute of Engineering science UB RAS, Yekaterinburg, e-mail: [email protected] When the fi nite element method (FEM) is applied to solid mechanics, a large, sparse linear algebraic system is obtained from problem discretization. Typical FEM software spends most of its computational resources to solve it. This survey contains information on linear solvers supplied by FEM software manufacturers to their users. We consider only FEM software designed to simulate solids deformation. Our considerations can be used to make decisions while choosing FEM software or even developing a new one. We propose analysis of linear solvers implementations in modern FEM software and emphasize most used techniques. Bibliography can be used for further studies in fi eld of FEM software and linear solvers themselves. Keywords: software, systems of simultaneous linear equations, FEM, FEA, solids simulation В настоящее время активно использу- методов решения СЛАУ, предобуславлива- ются конечно-элементные программные телей, написания параллельного и векто- комплексы (КЭПК) для моделирования де- ризованного кода, а также задействования формации твердых тел методом конечных вычислительных ускорителей. Наиболее элементов (МКЭ). Применение МКЭ по- затратные в вычислительном плане задачи рождает системы линейных алгебраических решают с использованием специальных вы- уравнений (СЛАУ) большой размерности, числительных устройств коллективного до- которые необходимо решать в процессе ступа, таких как мощные серверы и супер- расчёта. Матрицы таких систем, называе- компьютеры. мые матрицами жёсткости, обладают рядом Современные КЭПК оснащаются на- свойств, зависящих от структуры и количе- бором реализаций методов решения СЛАУ. ства узлов конечно-элементной сетки, а так- Широкая номенклатура реализаций объ- же характера задачи. Эти матрицы в зна- ясняется тем, что каждая из них подходит чительной степени разрежены, обладают для использования только с определённым симметричным портретом, а также блочной классом задач или для определённой вычис- структурой. лительной системы. Следуя англоязычной Для одновременного применения сеток терминологии, набор программ, выполняю- с большим количеством узлов и сложных щий наиболее требовательные к производи- моделей материалов необходимо использо- тельности операции в ходе решения задачи, вать специальные подходы, позволяющие в данной работе будем называть «решате- сократить время решения задачи до при- лем» (англ. «Solver», иногда в русскоязыч- емлемого уровня. Как правило, для этого ной литературе встречается транслитерация используется целый ряд приёмов, включая «Солвер»). Разработка эффективного реша- применение современных математических теля для каждой из новых вычислительных FUNDAMENTAL RESEARCH № 8, 2015 ТЕХНИЧЕСКИЕ НАУКИ (05.02.00, 05.13.00, 05.17.00, 05.23.00) 339 систем требует значительных усилий по того чтобы предотвратить чрезмерное раз- проектированию архитектуры, созданию растание списка литературы, ссылки на ори- эффективного программного кода, а также гинальные статьи, описывающие методы, проведения вычислительных эксперимен- по возможности не приводятся. Получить тов. Производители конечно-элементного более подробную информацию о методах программного обеспечения порой стремят- можно с помощью приводных библиогра- ся скрыть детали реализации собственного фических списков. продукта от конкурентов, тем самым делая Прямые методы решения СЛАУ [14]: результаты внутренних исследований недо- Разложение Холецкого, LDLT-разложение ступными для научного сообщества. Фраг- и LU-разложение. ментарная информация о реализации мето- Итерационные методы решения дов решения СЛАУ содержится в научных СЛАУ [32, 11]: публикациях и технических докладах раз- ● SSOR (англ. «Symmetric successive работчиков, озвучивается при выступлени- over-relaxation») – метод симметричной по- ях на конференциях или публикуется в ру- следовательной верхней релаксации. ководствах пользователя КЭПК. ● CR (англ. «Conjugate Resudual») – ме- Данная статья обобщает и систематизи- тод сопряжённых невязок. рует подобную информацию, позволяя чи- ● CG (англ. «Conjugate Gradient») – ме- тателю оценить состояние проблемы, а так- тод сопряжённых градиентов. же выделяет наиболее часто используемые ● CGS (англ. «Conjugate Gradient подходы к решению СЛАУ в КЭПК. Squared») – квадратичный метод сопряжён- ных градиентов. Решатели в конечно-элементных ● BiCG (англ. BiConjugate Gradient) – программных комплексах Метод бисопряжённых градиентов. Можно выделить несколько характерных ● BiCGStab (англ. «BiConjugate Gradient особенностей, которые позволяют классифи- Stabilized») – стабилизированный метод би- цировать решатели. К ним относится приме- сопряжённых градиентов. няемый метод решения СЛАУ, вычислитель- ● GMRES (англ. «Generalized Minimal ная система, а также структура данных для Residual») – обобщённый метод минималь- представления матрицы жёсткости. ных невязок. Выделяют прямые и итерационные ме- ● FGMRES (англ. «Flexible GMRES») – тоды решения СЛАУ [2]. Прямые методы разновидность обобщённого метода мини- используют метод Гаусса, выраженный че- мальных невязок. рез факторизацию матрицы коэффициентов ● TFQMR (англ. «Transpose-Free Quasi- СЛАУ, а итерационные методы строят ряд Minimal Residual») – метод квазиминималь- приближений к решению системы. ных невязок. При использовании точной арифмети- Методы предобуславливания, основан- ки прямые методы дают точное решение ные на неполных разложениях [32, глава 10]: СЛАУ. Компьютерное представление чисел ● ILU (англ. «Incomplete LU») – непол- с плавающей точкой порождает зависящие ное LU-разложение по общей схеме. от значений элементов матрицы ошибки, ● ILU(k) – неполное LU-разложение для уменьшения которых применяются спе- с контролем заполнения. циальные арифметические методики. Ите- ● ILU(0) (англ. «Zero Fill-in ILU») – не- рационные методы дают приближение к ре- полное LU-разложение без заполнения. шению даже в точной арифметике, при этом ● ILUT (англ. «Incomplete LU with скорость сходимости ряда приближений treshold») – неполное LU-разложение с кон- сильно зависит от числа обусловленности тролем порогового значения. матрицы СЛАУ. Для ускорения сходимости ● IC – неполное разложение Холецкого. методов часто используют предобуславли- Библиотеки для решения СЛАУ вание [32], в ходе которого явно или неявно строится приближение матрицы, обратной 1. PARDISO к матрице коэффициентов СЛАУ. Используемые алгоритмы, а также мно- гие детали реализации данной библиотеки Методы решения СЛАУ описаны в научной литературе и руковод- и предобуславливания стве пользователя [33]. Библиотека исполь- В данном разделе приводятся встреча- зует различные методы в зависимости от ющиеся в тексте статьи методы решения характеристики системы. В частности, для СЛАУ и предобуславливания, а также даны симметричных положительно определён- ссылки на источники, описывающие соот- ных матриц используется разложение Хо- ветствующий метод. Для некоторых мето- лецкого, для симметричных матриц общего дов приводятся принятые сокращения. Для вида – LDLT-разложение, для симметричных ФУНДАМЕНТАЛЬНЫЕ ИССЛЕДОВАНИЯ № 8, 2015 340 TECHNICAL SCIENCES (05.02.00, 05.13.00, 05.17.00, 05.23.00) матриц – LU-разложение. Для всех матриц ванных алгоритмов монографию [28] и рас- выполняется сложная предобработка, вклю- крывают конкретные алгоритмы. Первые чающая перестановки и масштабирование реализации прямого решателя были раз- элементов, при этом возможно использова- работаны внутри компании, однако с нача- ние структурной симметрии несимметрич- ла 2000-х годов используется библиотека ной матрицы. BCSLIB. Решатели работают на системах Помимо версии библиотеки для систем с общей и распределённой памятью, под- с общей памятью существует реализация держивают ускорители. для систем с распределённой памятью, ос- Первым итерационным решателем, по- нованная на MPI. ставляемым конечным пользователям, был В 2006 году компания Intel начала раз- решатель, обозначаемый авторами ANSYS, рабатывать собственный вариант данной как JCG (a Jacobi preconditioned conjugate библиотеки, называемой Intel PARDISO или gradient solver) [29]. Руководство пользова- Intel MKL PARDISO [19]. Варианты библи- теля рекомендует