زبان برنامه نويسي فرترن (آشنايي با نرم افزارهاي مهندسي هوافضا)

در قسمت هاي قبلي به معرفي نرم افزارهاي عمومي از قبيل microsoft office و نرم افزارهاي محاسباتي رياضي مثل mathcad و maple پرداختيم… حالا بحث رو كمي تخصصي مي كنيم و زبان برنامه نويسي فرترن كه در عرصه هوافضا و خصوصا آيروديناميك اهميت داره مورد بحث و بررسي قرار خواهيم داد….

قصد ندارم خيلي ريز وارد اين نرم افزار بشم و تنها به نكات مهمي كه يه هوافضايي بايد بدونه بسنده مي كنم…

اگرچه اين زبان نسبت به MATLAB بسيار ابتدايي تر هست (به عبارتي كودن تر!) اما سرعتش بسيار بالاتر و مناسب براي محاسبات سنگين هست. كسايي كه از روشهاي CFD استفاده مي كنند ارزش زمان رو مي دونند و ترجيح ميدن كه با اين زبان كار كنند.

كاربرد فرترن در ايروديناميك، حل عددي معادلات ديفرانسيل جريان يعني معادلات ناوير-استوكس هست. در پيشرانش هم اين زبان به صورت گسترده استفاده ميشه و براي مدل كردن احتراق و جريانهاي داخلي كاربرد داره.

اما زبان فرترن رو بايد توسط يك نرم افزار اجرا كه مخصوص كد نويسي اين زبان هست اجرا كرد… به اين نرم افزار، كامپايلر ميگن…. هر زباني كامپايلر هاي متعددي داره از جمله زبان فرترن….يكي از مشكلاتي كه فرترن داره اينه كه اكثر كامپايلرهاش با محيط هاي جديد مثل ويندوز ۷ سازگاري ندارن و برنامه رو به درستي اجرا نمي كنن….البته من يه كامپايلر portable فرترن (نياز به نصب روي ويندوز نداره) دارم كه البته هنوز خوب ازش جواب نگرفتم…

آدرس زير، كمك خوبي به يادگيري شما در زمينه زبان فرترن ميكنه…مطالب اين سايت به صورت بخشهاي جداگانه و عنوان بندي خوب ارائه شده، البته به زبان انگليسيه:

http://www.math.hawaii.edu/~hile/fortran/fortmain.htm

براي آشنايي با اين زبان و كاربرد اون در ادامه قصد دارم مثالي رو در زمينه CFD حل كنم… مثال به شرح زير هست:

يك جريان ناپاياي يك بعدي بين دو صفحه موازي بي نهايت قرار داره و صفحه پاييني با سرعت مشخص ۴۰ متر بر ثانيه در حال حركت هست. جريان لزج و تراكم ناپذيره و معادله حاكم بر اون به شكل زيره:

ميدان حل به صورت زير شبكه بندي شده كه راستاي عمودي نشان دهنده گره هاي مكاني (j ها) و زاستاي افقي شامل گره هاي زماني هست.

قصد ما اينه كه پروفيل سرعت (مقدار u در تمامي j ها) رو در زمان ۱٫۰۸ ثانيه با فاصله گام هاي زماني ۰٫۰۰۲ و گام مكاني ۰٫۰۰۱ حل كنيم. توضيحات كامل اين مسئله به صورت كامل در فايل زير اومده…. براي اينكه مسئله رو كامل بفهميد حتما اين فايل رو بخونيد:

download-whight

در اينجا ما از طريق يكي از روشهاي CFD يعني روش FTCS معادلات رو با زبان فرترن نوشته و حل مي كنيم پروفيل سرعت رو بين زمان هاي صفر تا ۱٫۰۸ نشون مي ديم:

IMPLICIT NONE

!Tarife motaghayyerha———————————-

INTEGER :: JM, NM, j, n

REAL :: dy, dt, u0,d,v

REAL,DIMENSION(:,:),ALLOCATABLE :: U

!Input————————————————–

dy=0.001

dt=0.002

u0=40

JM=41

NM=541

v=0.000217

d=v*dt/(dy**2)

ALLOCATE(U(JM,NM))

!tarife I.C & B.C——————————————–

DO j = 2, JM-1

U(j,1)=0

END DO

DO n=1,NM

U(1,n)=u0

U(JM,n)=0

END DO

!FTCS Method:—————————————–

DO n= 1,NM-1

DO j=2,JM-1

U(j,n+1)=U(j,n)+d*(U(j+1,n)-2*U(j,n)+U(j-1,n))

END DO

END DO

!Output————————————————

open(unit=2,file=”FTCS.txt”,action=”write”,status=”replace”)

do j=1,JM

write (2,*) U(j,NM)

end do

end PROGRAM FTCS

با اجراي اين كد در كامپايلر فرترن در پوشه پروژه، فايلي با پسوند txt ايجاد ميشه كه پروفيل سرعت در زمان نهايي نشون ميده….

در زير شكل پروفيل سرعت رو در گامهاي زماني مختلف نشون داديم :

يكي ديگر از روشهاي حل مسئله بالا روش ضمني هست كه در آون بايد يك دستگاه معادلات كه ضرايب اون به صورت ماتريس سه قطري هست، حل بشه… در فايل زير نحوه حل ماتريس سه قطري (الگوريتم توماس) به طور كامل توضيح داده شده:

download-whight

كلمات كليدي: آشنايي با زبان فرترن – دانلود پروژه سيالاتي فرترن – پروژه CFD – حل مثال CFD – تمرين CFD – مثال كتاب هافمن – كد زبان فرترن

4 دیدگاه درباره “زبان برنامه نويسي فرترن (آشنايي با نرم افزارهاي مهندسي هوافضا)

  1. امین کرامت

    با عرض سلام و تشکر از سایت خوبتون لطفا در صورت امکان در مورد نرم افزار های پس پرداشی مانند tecplot مطالب اموزشی یا کتاب و مرجع اینترنتی( در صورت امکان به زیان فارسی) قرار دهید
    با سپاس

    پاسخ
  2. رضا

    سلام.
    من هر نرم افزار فرترنی دانلود می کنم.برنامه رو که نوشتم ران نمیکنه مثلا microsoft power station4 و ft95 رو نصب کردم ولی جواب نگرفتم.ویندوزم ۷ هست خواهشا کمک کنین.چون وقت زیادی ندارم

    پاسخ
    • admin نویسنده پست

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

      پاسخ

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *