شما اینجا هستید

خانه

شبیه سازی 2 بعدی جریان آرام بین دو صفحه تخت موازی با استفاده از روش SIMPLE با زبان C++


در این برنامه با استفاده از قابلیت های شی گرایی C++ ابتدا یک library برای انجام کار های محاسباتی طراحی شده است. کلاس Matrix طراحی شده دارای قابلیت مختلف جمع و ضرب و solve و ... می باشد. در این کتابخانه ریاضی از کتابخانه معروف IMSL استفاده شده است تا از بهینه ترین سرعت های حل ماتریسی استفاده شود.

در روش SIMPLE برای حل معادلات سرعت و فشار در هر گام عموما از روش TDMA استفاده می شود. ولی در این جا برای پایداری بیشتر برنامه، از روش های حل ماتریس Sparse استفاده شده است. روش حل Sparse LU یکی از سریعترین روش های حل معادله Ax=b است که A یک ماتریس sparse است.

 

نتایج یک اجرا پس از 100 گام محاسبه،  برای مش 10*100  با سرعت ورودی 0.1 سیال و دانسیته و ویسکوزیته 1 را در زیر مشاهده می کنید:

0.1 0.032881 0.029515 0.029411 0.029411 0.029412 0.029412 0.029412 0.029412 0.029412  
0.1 0.07995 0.076663 0.076475 0.07647 0.076471 0.076471 0.076471 0.076471 0.076471  
0.1 0.1123 0.111847 0.111769 0.111765 0.111765 0.111765 0.111765 0.111765 0.111765  
0.1 0.132558 0.135178 0.135293 0.135294 0.135294 0.135294 0.135294 0.135294 0.135294 ...
0.1 0.142311 0.146797 0.147053 0.147059 0.147059 0.147059 0.147059 0.147059 0.147059 ...
0.1 0.142311 0.146797 0.147053 0.147059 0.147059 0.147059 0.147059 0.147059 0.147059 ...
0.1 0.132558 0.135178 0.135293 0.135294 0.135294 0.135294 0.135294 0.135294 0.135294 ...
0.1 0.1123 0.111847 0.111769 0.111765 0.111765 0.111765 0.111765 0.111765 0.111765  
0.1 0.07995 0.076663 0.076475 0.07647 0.076471 0.076471 0.076471 0.076471 0.076471  
0.1 0.032881 0.029515 0.029411 0.029411 0.029412 0.029412 0.029412 0.029412 0.029412  

 

صحت محاسبات را می توان در خروجی سرعت مشاهده نمود که ماکزیمم سرعت در ناحیه توسعه یافته به تقریبا 1.5 برابر سرعت اولیه رسیده است.

293.261 289.229 286.291 283.352 280.411 277.47 274.529 ... 12.7647 9.82352 6.88235 3.94117 1
292.764 289.253 286.293 283.353 280.411 277.47 274.529 ... 12.7647 9.82352 6.88235 3.94117 1
292.408 289.254 286.294 283.353 280.411 277.47 274.529 ... 12.7647 9.82352 6.88235 3.94117 1
292.178 289.248 286.295 283.353 280.411 277.47 274.529 ... 12.7647 9.82352 6.88235 3.94117 1
292.065 289.243 286.295 283.353 280.411 277.47 274.529 ... 12.7647 9.82352 6.88235 3.94117 1
292.065 289.243 286.295 283.353 280.411 277.47 274.529 ... 12.7647 9.82352 6.88235 3.94117 1
292.178 289.248 286.295 283.353 280.411 277.47 274.529 ... 12.7647 9.82352 6.88235 3.94117 1
292.408 289.254 286.294 283.353 280.411 277.47 274.529 ... 12.7647 9.82352 6.88235 3.94117 1
292.764 289.253 286.293 283.353 280.411 277.47 274.529 ... 12.7647 9.82352 6.88235 3.94117 1
293.261 289.229 286.291 283.352 280.411 277.47 274.529 ... 12.7647 9.82352 6.88235 3.94117 1

 

با در نظر گرفتن شرایط فشار ثابت 1 در خروجی، پروفایل فشار نیز در بین صفحه بدست آمده است که در بالا قابل مشاهده است.

 

قابل ذکر است که با زیاد کردن مش نتایج محاسبات دقیق تر می شود. همچنین شرایط مرزی مختلف با این برنامه تست شده است. مثالا می توان مانع های مختلف در بین جریان قرار داد. مانع مربعی وسط دو صفحه تست شده است. (قرار دادن  سرعت صفر در میانه دو صفحه در مربع خاص)

کد های کلاس ماتریس که مستقل از روش محاسباتی CFD می باشد، را می توانید از لینک زیر دانلود کنید.(البته باید نرم افزار یا کتابخانه IMSl را دانلود و نصب کنید.)

 

در صورتی که پروژه مرتبط با این موضوع دارید، می توانید با من تماس بگیرید. کد های بالا تا حد خوبی به صورت شی گرا نوشته شده است و قابلیت تغییر برای مسائل مختلف را دارد.

 

دانلود کد Matrix به زبان C++

دیدگاه‌ها

 

با سلام من در حال نوشتن کد simple برای صفحه دو بعدی در مرکز لوله هستم ولی متاسفانه نتیجه نمی گیرم لطفا کد های خود را برایم بفرستید 
با تشکر

سلام مهندس اگه میشه یه شماره تلفن از خودت برام بفرست من دانشجوی ارشد مکانیک دانشگاه صنعتی شاهرودم.

ییه پروژه مشابه دارم یه چند تا سوال ازت داشتم.

ممنون

saeed.vaezi313@gmail.com

سلام

دوست عزیز کتابخانه IMSL رو از کجا باید دانلود کنم. می شه لطف کنی و بهم میل کنی؟

با سلام. من مدت زیادی هست دنبال کتابخانه IMSL می گردم. از کجتپا می توانم فیل کرک شده انرا پیدا کنم. متشکر

 

سلام

دوست عزیز کتابخانه IMSL رو از کجا باید دانلود کنم. می شه لطف کنی و بهم میل کنی؟

 

افزودن نظر جدید

درباره من

سلام. به وب سایت شخصی من خوش آمدید.

محمد ذات خواهی هستم متولد سال 66 اهل رشت. سال 89 از دانشگاه شریف با مدرک لیسانس مهندسی شیمی و سال 91 از دانشگاه علم و صنعت ایران با مدرک ارشد کنترل و شبیه سازی فرایند فارغ التحصیل شدم، و در حال حاضر به عنوان مهندس نرم افزار در شرکت گسترش فرایند شریف هستم. از اونجایی که از دبیرستان به الگوریتم و برنامه نویسی علاقه داشتم از همون موقع تو این حیطه کار می کنم. بیشترین توانایی من در طراحی نرم افزار های مهندسی شیمی، طراحی وب و کلا کد نویسی هست. خوش حال میشم بتونم به دیگران کمک کنم خصوصا در حوزه آموزش. سعی می کنم تو این وب سایت مطالب و تجربه هایی که فکر می کنم به درد علاقه مندان به حوزه نرم افزار و برنامه نویسی بخوره قرار بدم. امیدوارم شما هم با نظرات و انتقادات و بحث های علمی تون در ارتقای محتوی علمی این وب سایت من رو یاری کنید.

 

Mohammad Zatkhahi Image

 

.

?>