Preview

Научно-технический вестник информационных технологий, механики и оптики

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

Использование векторизованных структур данных при реализации вычислительных алгоритмов решения задач механики сплошной среды

https://doi.org/10.17586/2226-1494-2022-22-1-193-205

Аннотация

Предмет исследования. В работе выполнено исследование возможностей, предоставляемых новыми информационными технологиями, средствами объектно-ориентированного программирования и современными операционными системами, для решения краевых задач механики сплошной среды, описываемых дифференциальными уравнениями в частных производных. Для дискретизации основных уравнений применены методы конечных разностей и конечных объемов. Рассмотрена реализация данных методов с векторизованными сеточными структурами, включая обращение к внутренним и граничным ячейкам сетки, а также особенности реализации алгоритмов в особых точках расчетной области. Метод. Для решения краевых задач, описываемых дифференциальными уравнениями в частных производных, разработан подход к построению векторизованных алгоритмов и рассмотрены особенности их программной реализации в пакете MATLAB с использованием средств пользовательского программирования. Векторизация в таких задачах, для исключения вложенных циклов, обеспечена за счет организации данных и использования векторизованных операций обращения к сеточным узлам. Разработанные алгоритмы, с одной стороны, широко используют функции MATLAB, предназначенные для обработки векторов и разреженных матриц, а с другой, отличаются высокой эффективностью и скоростью счета. Основные результаты. Проведено численное решение ряда задач механики сплошной среды, связанных с расчетами напряжений в твердом теле, а также поля скорости и температуры в потоке вязкой несжимаемой жидкости. Показаны особенности дискретизации основных уравнений и реализации конечно-разностных и конечно-объемных алгоритмов. Практическая значимость. Применение системы MATLAB открыло широкие возможности по формализации и реализации конечно-разностных и конечно-объемных методов численного решения краевых задач механики сплошной среды. Несмотря на то, что возможности разработанных алгоритмов иллюстрируются на примере решения достаточно простых задач, они допускают сравнительно простое обобщение на более сложные задачи, например решение уравнений Эйлера и Навье–Стокса. В рамках работы подготовлены расчетные модули, реализованные при помощи средств пользовательского программирования, которые расширяют возможности пакета MATLAB и ориентированы на решение задач механики сплошной среды.

Об авторах

Н. А. Брыков
Балтийский государственный технический университет «ВОЕНМЕХ» им. Д.Ф. Устинова
Россия

Брыков Никита Александрович — кандидат технических наук, доцент, доцент

sc 57209849110

Санкт-Петербург, 190005



К. Н. Волков
Балтийский государственный технический университет «ВОЕНМЕХ» им. Д.Ф. Устинова
Россия

Волков Константин Николаевич — доктор физико-математических наук, ведущий научный сотрудник

sc 8663950000

Санкт-Петербург, 190005



В. Н. Емельянов
Балтийский государственный технический университет «ВОЕНМЕХ» им. Д.Ф. Устинова
Россия

Емельянов Владислав Николаевич — доктор технических наук, профессор, профессор

sc 7004697417

Санкт-Петербург, 190005



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

1. Козелков А.С., Дерюгин Ю.Н., Зеленский Д.К., Глазунов В.А., Голубев А.А., Денисова О.В., Лашкин С.В., Жучков Р.Н., Тарасова Н.В., Сизова М.А. Многофункциональный пакет программ ЛОГОС для расчета задач гидродинамики и тепломассопереноса на суперЭВМ. Базовые технологии и алгоритмы // Труды XII Международного семинара «Супервычисления и математическое моделирование», 11–15 октября 2010 г., Саров. Саров, 2010. С. 215–230.

2. Волков К.Н., Дерюгин Ю.Н., Емельянов В.Н., Карпенко А.Г., Козелков А.С., Смирнов П.Г., Тетерина И.В. Реализация параллельных вычислений на графических процессорах в пакете вычислительной газовой динамики ЛОГОС // Вычислительные методы и программирование. 2013. Т. 14. № 1. С. 334–342.

3. Emelyanov V.N., Brykov N.A., Efremov A.V. Application of vectorized algorithms for solving problems of continuum mechanics // Journal of Physics: Conference Series. 2021. V. 2094. P. 022047. https://doi.org/10.1088/1742-6596/2094/2/022047

4. Емельянов В.Н. Механика сплошной среды: теория напряжений и основные модели. М.: Юрайт, 2018. 162 с.

5. Емельянов В.Н. Численные методы: введение в теорию разностных схем. М.: Изд-во Юрайт, 2018. 188 с.

6. Гергель В.П. Теория и практика параллельных вычислений. М.: БИНОМ, 2010. 423 с.

7. Волков К.Н., Емельянов В.Н. Применение пакета MATLAB для решения краевых задач механики жидкости и газа // Труды всероссийской научной конференции «Проектирование научных и инженерных приложений в среде MATLAB» (25–26 мая 2004, Москва, Россия). М.: Изд-во ИПУ РАН, 2004. С. 92–115.

8. Волков К.Н., Емельянов В.Н. Реализация векторизованных конечно-разностных алгоритмов решения краевых задач механики жидкости и газа в пакете MATLAB // Вычислительные методы и программирование. 2004. Т. 5. № 3. С. 13–29.

9. Alberty J., Carstensen C., Funken S.A. Remarks around 50 lines of Matlab: short finite element implementation // Numerical Algorithms. 1999. V. 20. N 1-2. P. 117–137. https://doi.org/10.1023/A:1019155918070

10. Persson P.-O., Strang G. A simple mesh generation in MATLAB // SIAM Review. 2004. V. 46. N 2. P. 329–345. https://doi.org/10.1137/S0036144503429121

11. Koko J. Vectorized MATLAB codes for linear two-dimensional elasticity // Scientific Programming. 2007. V. 15. N 3. P. 157–172. https://doi.org/10.1155/2007/838942

12. Funken S., Praetorius D., Wissgott P. Efficient implementation of adaptive P1-FEM in MATLAB // Computational Methods in Applied Mathematics. 2011. V. 11. N 4. P. 460–490. https://doi.org/10.2478/cmam-2011-0026

13. Rahman T., Valdman J. Fast MATLAB assembly of FEM matrices in 2D and 3D: nodal elements // Applied Mathematics and Computation. 2013. V. 219. N 13. P. 7151–7158. https://doi.org/10.1016/j.amc.2011.08.043

14. Anjam I., Valdman J. Fast MATLAB assembly of FEM matrices in 2D and 3D: edge elements // Applied Mathematics and Computation. 2015. V. 267. P. 252–263. https://doi.org/10.1016/j.amc.2015.03.105

15. Koko J. Fast MATLAB assembly of fem matrices in 2D and 3D using cell-array approach // International Journal of Modeling, Simulation, and Scientific Computing. 2016. V. 7. N 2. P. 1650010. https://doi.org/10.1142/S1793962316500100

16. Walker S.W. FELICITY: a MATLAB/C++ toolbox for developing finite element methods and simulation modeling // SIAM Journal on Scientific Computing. 2018. V. 40. N 2. P. 234–257. https://doi.org/10.1137/17M1128745

17. Čermák M., Sysala S., Valdman J. Efficient and flexible MATLAB implementation of 2D and 3D elastoplastic problems // Applied Mathematics and Computation. 2019. V. 355. P. 595–614. https://doi.org/10.1016/j.amc.2019.02.054

18. Tsega E.G. A finite volume solution of unsteady incompressible Navier–Stokes equations using MATLAB // Numerical and Computational Methods in Sciences and Engineering. 2019. V. 1. N 3. P. 117–131. http://dx.doi.org/10.18576/ncmsel/010302

19. Годунов С.К., Забродин А.В., Иванов М.Я., Крайко А.Н., Прокопов Г.П. Численное решение многомерных задач газовой динамики. М.: Наука, 1976. 400 с.

20. Волков К.Н., Емельянов В.Н. Вычислительные технологии в задачах механики жидкости и газа. М.: Физматлит, 2012. 468 с.

21. Лурье А.И. Теория упругости. М.: Наука, 1970. 940 с.


Рецензия

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


Брыков Н.А., Волков К.Н., Емельянов В.Н. Использование векторизованных структур данных при реализации вычислительных алгоритмов решения задач механики сплошной среды. Научно-технический вестник информационных технологий, механики и оптики. 2022;22(1):193-205. https://doi.org/10.17586/2226-1494-2022-22-1-193-205

For citation:


Brykov N.A., Volkov K.N., Emelyanov V.N. Vectorized numerical algorithms for the solution of continuum mechanics problems. Scientific and Technical Journal of Information Technologies, Mechanics and Optics. 2022;22(1):193-205. (In Russ.) https://doi.org/10.17586/2226-1494-2022-22-1-193-205

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


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


ISSN 2226-1494 (Print)
ISSN 2500-0373 (Online)