Preview

Advanced Engineering Research (Rostov-on-Don)

Расширенный поиск

Реализация базовых операций для разреженных матриц в контексте решения обобщенной задачи на собственные значения в комплексе ACELAN-COMPOS

https://doi.org/10.23947/2687-1653-2023-23-2-121-129

Полный текст:

Содержание

Перейти к:

Аннотация

Введение. Широкое использование пьезоматериалов в различных отраслях стимулирует изучение их физических характеристик и обусловливает актуальность таких изысканий. В рассматриваемом случае модальный анализ позволяет определить рабочую частоту и коэффициент электромеханической связи пьезоэлементов различных устройств. Эти индикаторы представляют серьезный теоретический и прикладной интерес. Цель исследования — разработка численных методов для решения задачи определения частот резонанса в системе упругих тел. Для достижения цели нужны новые подходы к дискретизации задачи на основе метода конечных элементов и выполнение программной реализации выбранного метода на языке С# на платформе .net. Актуальные решения созданы в контексте библиотеки классов комплекса ACELAN-COMPOS. Основанные на обращении матриц известные методы решения обобщенной задачи на собственные значения неприменимы к матрицам большой размерности. Для преодоления этого ограничения в представленной научной работе реализована логика построения матриц масс и созданы программные интерфейсы для обмена данными о задачах на собственные значения с модулями пре- и постпроцессинга.

Материалы и методы. Для реализации численных методов задействовали платформу .net и язык программирования C#. Валидация результатов исследования проводилась путем сравнения найденных значений с решениями, полученными в известных CAЕ-пакетах (англ. computer-aided engineering — компьютеризированная инженерия). Созданные подпрограммы оценивались с точки зрения производительности и применимости для задач большой размерности. Проводились численные эксперименты с целью валидации новых алгоритмов в задачах малой размерности, которые решаются известными методами в MATLAB. Далее подход тестировали на задачах с большим числом неизвестных и с учетом распараллеливания отдельных операций. Чтобы избежать нахождения обратной матрицы, программно реализовали модифицированный метод Ланцоша. Рассмотрели форматы хранения матриц в оперативной памяти: триплеты, CSR, СSC, SKyline. Для решения системы линейных алгебраических уравнений (СЛАУ) задействовали итерационный симметричный метод LQ, адаптированный к этим форматам хранения.

Результаты исследования. Разработаны новые расчетные модули, интегрированные в библиотеку классов комплекса ACELAN-COMPOS. Проведены расчеты для определения применимости различных форматов хранения разреженных матриц в оперативной памяти и различных методов реализации операций с разреженными матрицами. Графически визуализирована структура матриц жесткости, построенных для одной и той же задачи, но с различной перенумерацией узлов конечноэлементной сетки. Применительно к задаче теории электроупругости обобщены и представлены в виде таблицы данные о времени, необходимом на выполнение базовых операций с матрицами жесткости в различных форматах хранения. Установлено, что перенумерация узлов сетки дает существенный прирост производительности даже без изменения внутренней структуры матрицы в памяти. С учетом поставленных задач исследования названы преимущества и слабые стороны известных форматов хранения матриц. Так, CSR оптимален при умножении матрицы на вектор, SKS — при обращении матрицы. В задачах с числом неизвестных порядка 103 выигрывают в скорости итерационные методы решения обобщенной задачи на собственные значения. Оценивалась производительность программной реализации метода Ланцоша. Измерялся вклад всех операций в общее время решения. Выяснилось, что операция решения СЛАУ занимает до 95 % от общего времени работы алгоритма. При решении СЛАУ симметричным методом LQ наибольшие вычислительные затраты нужны для умножения матрицы на вектор. Для увеличения производительности алгоритма прибегли к распараллеливанию с общей памятью. При использовании восьми потоков производительность выросла на 40–50 %.

Обсуждение и заключение. Полученные в рамках научной работы программные модули были внедрены в пакет ACELAN-COMPOS. Оценена их производительность для модельных задач с квазирегулярными конечноэлементными сетками. С учетом особенностей структур матриц жесткости и масс, получаемых при решении обобщенной задачи на собственные значения для электроупругого тела, определены предпочтительные методы для их обработки.

Для цитирования:


Оганесян П.А., Штейн О.О. Реализация базовых операций для разреженных матриц в контексте решения обобщенной задачи на собственные значения в комплексе ACELAN-COMPOS. Advanced Engineering Research (Rostov-on-Don). 2023;23(2):121-129. https://doi.org/10.23947/2687-1653-2023-23-2-121-129

For citation:


Oganesyan P.A., Shtein O.O. Implementation of Basic Operations for Sparse Matrices when Solving a Generalized Eigenvalue Problem in the ACELAN-COMPOS Complex. Advanced Engineering Research (Rostov-on-Don). 2023;23(2):121-129. https://doi.org/10.23947/2687-1653-2023-23-2-121-129

Введение. Устройства из пьезоматериалов широко используются, давно активно изучаются и совершенствуются. Отдельно следует отметить медицинские ультразвуковые приборы (оборудование для диагностики, ультразвуковые скальпели) [1–4] и мобильные генераторы энергии [5]. Исследование [6] описывает комбинирование фото- и пьезоэлектрического эффектов для создания действенных компактных источников энергии. В науке и промышленности изучаются новые материалы, рассчитанные на эксплуатацию в специфических условиях. В [7] рассматривается создание бессвинцового пьезоактивного состава, подходящего для эксплуатации при различных температурах.

В исследовании пьезоэлементов важную роль играет этап модального анализа, позволяющий установить частоты резонанса и антирезонанса устройства. Эти данные:

  • необходимы для выяснения рабочей частоты устройства;
  • позволяют определить коэффициент электромеханической связи — важный индикатор эффективности устройства;
  • являются входной информацией в численных экспериментах для задач на вынужденные колебания.

Цель исследования — создание численных методов решения задачи определения частот резонанса для системы упругих тел. Достижение заявленной цели требует решения двух задач. Первая: разработать методы дискретизации задачи на основе метода конечных элементов (МКЭ). Вторая: провести программную реализацию выбранного метода на языке С# на платформе .net. Все известные программы учитывают контекст библиотеки классов комплекса ACELAN-COMPOS [8]. При решении обобщенной задачи на собственные значения широко применяются методы, основанные на обращении матриц. Однако они неприменимы к матрицам большой размерности. В представленной научной работе это ограничение преодолевается следующим образом:

  • дополнительно реализована логика построения матриц масс;
  • созданы программные интерфейсы для обмена данными о задачах на собственные значения с модулями пре- и постпроцессинга.

Материалы и методы. В первую очередь предлагаемый подход призван решать статические задачи электроупругости при реализации метода осреднения [9], который задействуют для расчета эффективных свойств пьезокомпозитов. В связи с этим на этапе построения глобальных матриц МКЭ представлены только матрицы жесткости. В данном исследовании дополнительно реализовали логику построения матриц масс и разработали программные интерфейсы (application programming interface, API, англ. — интерфейс прикладного программирования) для обмена данными о задачах на собственные значения с модулями пре- и постпроцессинга. Разработанные подпрограммы оценивались с точки зрения производительности и применимости для задач большой размерности. Проводились численные эксперименты с целью валидации созданных алгоритмов для таких задач малой размерности, которые позволяют получить решение общими методами в вычислительном пакете MATLAB. Далее выполнялось тестирование на задачах с большим числом неизвестных и с учетом распараллеливания отдельных операций.

Математическая модель решаемой задачи состоит из определяющих соотношений [9]:

,,(1)

, , (2)

, (3)

Здесь σ — тензор напряжений; ρj — плотность тела; ε — тензор деформаций; u — вектор перемещений; D — вектор электрической индукции; E — вектор напряженности электрического поля;
— вектор массовых сил; — электрический потенциал;
, , — коэффициенты демпфирования;
, , — тензоры упругих констант, пьезомодулей и диэлектрических проницаемостей; индекс j — номер тела в модели.

Дискретизация выполняется заменой:

Здесь — матрица функций формы для поля перемещений;

Nϕ — вектор функций формы для электрического потенциала;

— глобальные векторы соответствующих узловых степеней свободы.

В таком случае исходная задача (1–3) приобретает вид:

. (4)

Здесь матрицы и являются глобальными матрицами масс и жесткости соответственно, а вектор представляет собой общий вектор неизвестных:

a = [U, Ф].

В задаче теории электроупругости:

(5)

Матрицы , и — симметричные. В случае гармонических колебаний на собственной частоте можно записать:

, обозначив через соответствующий собственный вектор.

Рассмотрим свободные колебания если . В этом случае задача (4) представляется в виде:

. (6)

Таким образом, исходная задача сводится к обобщенной задаче на собственные значения (6). Для ненулевого vi неравенство (6) решается нахождением матрицы, обратной K. Однако при этом разреженная матрица становится заполненной, то есть метод непригоден для матриц больших размеров. Поэтому нужно использовать другие методы, не требующие нахождения обратной матрицы. Для решения этой задачи в данной работе программно реализован модифицированный метод Ланцоша [10]. Автор этой модификации — Т.С. Мартынова. Описание разработки в данной статье не приводится. Из используемых в методе операций наиболее затратной с точки зрения вычислительных ресурсов оказалось решение системы линейных алгебраических уравнений (СЛАУ), необходимое для выполнения спектральной трансформации.

Матрицы и — разреженные, с небольшим числом ненулевых элементов. Для хранения таких матриц в оперативной памяти используются несколько форматов:

  • триплеты или координатный формат;
  • CSR (англ. compressed sparse row — сжатый разреженный ряд);
  • СSC (англ. compressed sparse column — сжатый разреженный столбец);
  • формат хранилища SKyline (англ. SKS — метод).

Координатный формат предполагает хранение троек (триплетов) значений (i, j, k), представляющих собой координаты (i, j) и значения (k) ненулевых элементов. CSR иногда называют CRS или Йельским форматом. Он предполагает хранение разреженной матрицы в виде трех массивов. Рассмотрим матрицу размера с ненулевыми элементами. Опишем возможную организацию ее хранения. Все ненулевые элементы нужно разместить в одном массиве размера. Позиции этих элементов в столбцах разместить в другом массиве размера , а третий массив размера использовать для хранения индексов первых элементов строк. Аналогично реализуется хранение в формате CSC.

Формат SKS предполагает хранение ленты матрицы переменной ширины, включающей в себя все ненулевые элементы. В этом случае допускается хранение нулей. Эффективность этого формата зависит от перенумерации строк матрицы. Методы сокращения размера ленты описаны в [11], однако требует отдельного исследования их применимость к матрице жесткости, получаемой при решении трехмерной задачи с использованием МКЭ.

Для решения СЛАУ задействовали итерационный симметричный метод LQ (Symmetric LQ Method, SYMMLQ [12]), адаптированный к перечисленным выше форматам хранения.

Результаты исследования. В начале исследования выбрали оптимальный формат хранения для разреженных матриц. Координатный формат позволяет быстро добавлять и изменять элемент матрицы. Эти операции необходимы на этапе сборки глобальной матрицы и при учете граничных условий. Кроме того, для плохо обусловленных матриц, к которым относится K, часто применяют предварительное преобразование для нормирования. Его также удобно выполнять в координатном формате. Однако такой формат неэффективен, если речь идет об алгебраических операциях.

CSR плохо приспособлен для изменения структуры матрицы: добавляя ненулевой элемент, нужно выполнять вставку в два массива. При этом матрица умножается на вектор очень просто и эффективно.

SKS имеет аналогичные проблемы с добавлением ненулевых элементов и сильно зависит от перенумерации неизвестных в задаче. Остановимся на примере квазирегулярной сетки, которая используется в пакете ACELAN-COMPOS для работы с представительными объемами композитов. Ширина ленты, содержащей все ненулевые элементы, может быть определена заранее и зависит от числа узлов и типа конечного элемента. В общем случае произвольной конечноэлементной сетки сложно заранее оценить размер ленты.

В численных экспериментах использовали четыре способа нумерации неизвестных. На рис. 1 представлена структура матриц жесткости, построенных для одной и той же задачи, но с различной перенумерацией узлов конечноэлементной сетки.

Рис. 1. Структура матриц жесткости при различных методах нумерации узлов:
а — неизвестные упорядочены по узлам;
б — сначала упорядочены по узлам перемещения, затем потенциалы;
в — узлы отсортированы по слоям КЭ-сетки, а неизвестные — по узлам;
б, г — узлы отсортированы по слоям КЭ-сетки, а неизвестные — как в примере

Итак, сетка представляла собой куб с регулярным разбиением восьмиузловыми конечными элементами. Для иллюстраций использовалась модельная матрица из 500 строк. Матрицы, представленные на рис. 1 а и 1 б, не подвергались дополнительной перенумерации узлов и отличаются только нумерацией степеней свободы. В 1 а:

.

В 1 б неизвестные, отвечающие за распределение потенциала, собраны в конце вектора:

.

Неизвестные в матрицах 1 в и 1 г занумерованы аналогично, но узлы конечноэлементной сетки предварительно перенумерованы согласно их координатам путем поочередной сортировки всех узлов по каждой из координат. Такой прием широко используется для построения более эффективных модулей решения СЛАУ, так как позволяет работать с матрицей в специальном ленточном формате, удобном для распараллеливания. Для комплекса ACELAN-COMPOS реализованы подобные внешние модули [13–15], однако в данной работе использовались только форматы хранения разреженных матриц общего вида.

В таблице 1 сведены данные о времени, необходимом на выполнение базовых операций с матрицами в различных форматах.

Таблица 1

Время для выполнения базовых операций с матрицей жесткости в задаче теории электроупругости.

19 652 строки

Формат хранения

Операция

Затраченное время, мс

1 а

1 б

1 в

1 г

CSR

Конвертация из координатного формата

123

132

97

117

CSR

Умножение на вектор, 100 операций

260

260

260

260

SKS

Конвертация из координатного формата

690

703

124

268

SKS

Умножение на вектор, 100 операций

60 558

61 450

7 616

22 113

Результаты экспериментов показали, что операция преобразования из координатного формата хранения в компактные занимает мало времени. При этом перенумерация узлов сетки для формирования блочно-ленточной матрицы позволяет получить заметный прирост производительности даже без изменения внутренней структуры матрицы в памяти. Формат CSR оказался оптимальным с точки зрения эффективности операции умножения матрицы на вектор. При обращении матрицы формат SKS более эффективен, однако для задач с числом неизвестных порядка 103 заметно быстрее работают итерационные методы решения обобщенной задачи на собственные значения.

Далее экспериментально оценили производительность программной реализации метода Ланцоша. Измерили вклад всех операций в общее время решения. В результате установили, что операция решения СЛАУ занимает до 95 % от общего времени работы алгоритма. В ходе работы алгоритма строится подпространство Крылова, и в зависимости от его размерности меняется число СЛАУ, которые необходимо решать. Отметим, что размерность подпространства Крылова выбиралась на основе эвристик относительно числа искомых собственных значений. При этом СЛАУ отличаются только правой частью, благодаря чему требования к выделяемой памяти остаются невысокими. Среди базовых операций, применяемых в ходе решения СЛАУ методом SYMMLQ, наибольшие вычислительные затраты нужны для умножения матрицы на вектор.

Для увеличения производительности алгоритма реализовано простейшее распараллеливание с общей памятью. Для формата CRS выделялись блоки строк. Они передавались в отдельные потоки, которые вычисляли соответствующие компоненты результирующего вектора. Прирост производительности составил 40–50 % при использовании 8 потоков. При этом для матриц порядка 103 элементов прирост был около 40 %, а для матриц порядка 104 — около 50 %.

Обсуждение и заключение. В рамках данной работы реализован метод решения обобщенной задачи на собственные значения для матриц, получаемых при моделировании электроупругих тел. Созданы программные модули на языке C# для построения матриц масс методом конечных элементов и выполнения вспомогательных операций в рамках метода Ланцоша (работа с векторами подпространства Крылова, переортогонализация, нахождение собственных векторов). Вычислительная сложность обусловлена в основном операциями умножения разреженных матриц на вектор. В связи с этим проводились численные эксперименты по определению оптимальных форматов хранения матриц, оптимальной структуры матрицы, получаемой в результате перенумерации узлов КЭ-сетки и степеней свободы в узлах. Разработана версия итерационного алгоритма SYMMLQ с использованием параллельных вычислений. Итоговая схема работы включает три пункта. Во-первых, строятся глобальные матрицы в координатном формате с алгоритмом перенумерации (рис. 1 в). Во-вторых, данные преобразуются в формат CRS. В-третьих, данные обрабатываются методом Ланцоша, который включает метод SYMMLQ для решения СЛАУ. Результаты работы включили в программный пакет ACELAN-COMPOS.

Список литературы

1. Lisong Deng, Mingxiang Ling. Design and Integrated Stroke Sensing of a High-Response Piezoelectric Direct Drive Valve Enhanced by Push-Pull Compliant Mechanisms. Review of Scientific Instruments. 2022;93(3):035008. https://doi.org/10.1063/5.0067483

2. Urtnasan Erdenebayar, Jong-Uk Park, Pilsoo Jeong, et al. Obstructive Sleep Apnea Screening Using a Piezo-Electric Sensor. Journal of Korean Medical Science. 2017;32(6):893–899. https://doi.org/10.3346/jkms.2017.32.6.893

3. Скалиух А.С., Герасименко Т.Е., Оганесян П.А., Соловьева А.А. Влияние геометрических и физических параметров на резонансные частоты ультразвуковых колебаний системы упругих и пьезоэлектрических элементов. Вестник Донского государственного технического университета. 2017;17(4):5–13. https://doi.org/10.23947/1992-5980-2017-17-4-5-13

4. Bulletti A., Capineri L., Floridia D. Automatic System to Measure the Impedance of Piezoelectric Actuators Used in Ultrasonic Scalpels. In book: Sensors and Microsystems. Cham: Springer; 2014. Vol. 268. P. 71–74. https://doi.org/10.1007/978-3-319-00684-0_14

5. Keli Li, Qisheng He, Jiachou Wang, et al. Wearable Energy Harvesters Generating Electricity from Low-Frequency Human Limb Movement. Microsystems & Nanoengineering. 2018;4:24. https://doi.org/10.1038/s41378-018-0024-3

6. Wenbo Peng, Chenhong Wang, Fangpei Li, et al. Piezo- and Photo-Voltage Field-Effect Transistor. Nano Energy. 2022;105:108025. https://doi.org/10.1016/j.nanoen.2022.108025

7. Tangyuan Li, Chang Liu, Peng Shi, et al. High-Performance Strain of Lead-Free Relaxor-Ferroelectric Piezoceramics by the Morphotropic Phase Boundary Modification. Advanced Functional Materials. 2022;32(32):2202307. https://doi.org/10.1002/adfm.202270184

8. Kurbatova N.V., Nadolin D.K., Nasedkin A.V., et al. Finite Element Approach for Composite Magneto-Piezoelectric Materials Modeling in ACELAN-COMPOS Package. In book: Analysis and Modelling of Advanced Structures and Smart Systems. Singapore: Springer; 2018. Vol. 81. P. 69–88. https://doi.org/10.1007/978-981-10-6895-9_5

9. Белоконь А.В., Наседкин А.В., Соловьев А.Н. Новые схемы конечноэлементного динамического анализа пьезоэлектрических устройств. Прикладная математика и механика. 2002;66(3):491–501.

10. Zhongming Teng, Lei-Hong Zhang. A Block Lanczos Method for the Linear Response Eigenvalue Problem. Electronic Transactions on Numerical Analysis. 2017;46:505–523. https://doi.org/10.13140/RG.2.2.16369.68962

11. Chagas G., Oliveira S.L.G.D. Metaheuristic-Based Heuristics for Symmetric-Matrix Bandwidth Reduction: A Systematic Review. Procedia Computer Science. 2015;51:211–220. https://doi.org/10.1016/j.procs.2015.05.229

12. Paige C.C., Saunders M.A. Solution of Sparse Indefinite Systems of Linear Equations. SIAM Journal on Numerical Analysis. 1975;12(4):617–629. https://doi.org/10.1137/0712047

13. Fassbender H., Ikramov K. SYMMLQ-like Procedure of Ax = b where A is a Special Normal Matrix. Calcolo. 2006;43(1):17–37. https://doi.org/10.1007/s10092-006-0112-x

14. Vasilenko A., Veselovskiy V., Metelitsa E., et al. Precompiler for the ACELAN-COMPOS Package Solvers. In: Proc. 16th Int. Conf.: Parallel Computing Technologies. Cham: Springer; 2021. Vol. 12942. P. 103–116. https://doi.org/10.1007/978-3-030-86359-3_8

15. Штейнберг Б.Я., Василенко А.А., Веселовский В.В. и др. Решатели СЛАУ с блочно-ленточными матрицами. Вестник Южно-Уральского государственного университета. Серия «Математическое моделирование и программирование». 2021;14(3):106–112. https://doi.org/10.14529/mmp210309


Об авторах

П. А. Оганесян
Южный федеральный университет
Россия

Павел Артурович Оганесян, кандидат физико-математических наук, доцент кафедры математического моделирования Института математики, механики и компьютерных наук

344006, РФ, г. Ростов-на-Дону, ул. Большая Садовая, 105/42



О. О. Штейн
Южный федеральный университет
Россия

Ольга Олеговна Штейн, ассистент кафедры прикладной математики и программирования Института математики, механики и компьютерных наук

344006, РФ, г. Ростов-на-Дону, ул. Большая Садовая, 105/42



Рецензия

Для цитирования:


Оганесян П.А., Штейн О.О. Реализация базовых операций для разреженных матриц в контексте решения обобщенной задачи на собственные значения в комплексе ACELAN-COMPOS. Advanced Engineering Research (Rostov-on-Don). 2023;23(2):121-129. https://doi.org/10.23947/2687-1653-2023-23-2-121-129

For citation:


Oganesyan P.A., Shtein O.O. Implementation of Basic Operations for Sparse Matrices when Solving a Generalized Eigenvalue Problem in the ACELAN-COMPOS Complex. Advanced Engineering Research (Rostov-on-Don). 2023;23(2):121-129. https://doi.org/10.23947/2687-1653-2023-23-2-121-129

Просмотров: 252


Creative Commons License
Контент доступен под лицензией Creative Commons Attribution 4.0 License.


ISSN 2687-1653 (Online)