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

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

کاربر نگاه دانلود
کاربر نگاه دانلود
عضویت
2016/05/10
ارسالی ها
1,730
امتیاز واکنش
20,744
امتیاز
795
محل سکونت
البرز
در قسمت هاي قبلي به معرفي نرم افزارهاي عمومي از قبيل microsoft office و نرم افزارهاي محاسباتي رياضي مثل mathcad و maple پرداختيم… حالا بحث رو كمي تخصصي مي كنيم و زبان برنامه نويسي فرترن كه در عرصه هوافضا و خصوصا آيروديناميك اهميت داره مورد بحث و بررسي قرار خواهيم داد….

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

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

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

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



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

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

asec_MIqiV5LPL80A.gif


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

asec_laT9QwxUfXZf.gif


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



در اينجا ما از طريق يكي از روشهاي 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 ايجاد ميشه كه پروفيل سرعت در زمان نهايي نشون ميده….

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

asec_gDfsAetm6CkL.gif
 

برخی موضوعات مشابه

بالا