مهندسی مکانیک مدرس

مهندسی مکانیک مدرس

توسعه یک چارچوب نرم‌افزاری متن‌باز برای روش‌های تفاضل محدود با قابلیت پردازش موازی

نویسنده
دانشگاه تهران
چکیده
در این مقاله یک چارچوب نرم‌افزاری متن‌باز با نام «چشمه» برای حل عددی معادلات سیال با روش تفاضل محدود روی شبکه‌های باسازمان معرفی می‌گردد. طراحی ساختار داده در نرم‌افزار به گونه‌ای است که چارچوب نرم‌افزاری از شبکه‌های باسازمان با ابعاد فضایی دلخواه پشتیبانی می‌نماید. نرم‌افزار قابلیت تقسیم شبکه عددی به چندین شبکه کوچک‌تر جهت پردازش موازی را دارد. بعلاوه با استفاده از توابعی، پیچیدگی‌های برنامه‌نویسی پردازش موازی برای کاربر بسیار تسهیل شده‌است. نرم‌افزار با استفاده از قابلیت‌های جدید زبان سی‌پلاس‌پلاس، از جمله قابلیت فرابرنامه‌نویسی با الگوها، توسعه یافته است طوری که امکان محاسبه کارآمد عبارات حسابی و تفاضل محدود را به نحو ساده‌ای برای متغیرهای میدان فراهم می‌آورد. علاوه بر روش‌های تفاضل محدود خطی که به سادگی پیاده‌سازی می‌شوند، روش‌های غیرخطی نظیر روش‌های تسخیر شوک ضرورتاً غیرنوسانی وزن‌دار پیاده‌سازی شده‌اند. همچنین امکان استفاده از روش‌های تفاضل محدود فشرده که منجر به دستگاه معادلات سه‌قطری می‌شوند، در نرم‌افزار وجود دارد. تعریف و اعمال شرایط مرزی مختلف در نرم‌افزار پیش‌بینی گردیده‌است. تمهیداتی نیز برای وروی و خروجی از فایل در نظرگرفته شده‌است. با استفاده از چندین آزمون از جریان‌های تراکم‌ناپذیر و تراکم‌پذیر و نیز از جریان‌های لزج و غیرلزج قابلیت نرم‌افزار نشان داده می‌شود.
کلیدواژه‌ها

عنوان مقاله English

Development of an Open-Source Software framework for Finite Difference Schemes with Parallel Processing Feature

نویسنده English

Hossein Mahmoodi Darian
University of Tehran
چکیده English

In this paper, an open-source software framework named “Chesmeh” for numerical solution of the fluid dynamics equations is introduced. The data structure is designed in a way that the software framework supports structured grids on arbitrary number of spatial dimensions. The software has the ability to decompose the numerical grid into several smaller grids for parallel processing. Furthermore, using some functions, the complexity of the parallel programming is considerably made easier for the user. The software is developed using the new features of the C++ programming language, specially the template metaprogramming feature. In addition to the linear finite difference schemes, which can be simply implemented, the nonlinear schemes such as essentially non-oscillatory shock capturing schemes are implemented. Using the software, it is also possible to use compact finite difference schemes, which lead to a tridiagonal system of equations. Defining and applying different kinds of boundary conditions are also predicted in the software. In addition, utilities are considered for file input and output. Using several test cases of compressible and incompressible flows and viscous and inviscid flows, the capabilities of the software are demonstrated.

کلیدواژه‌ها English

Open-Source Software
Finite Difference
Structured Grids
Parallel processing
Template Metaprogramming