Fortran Project

September 23, 2017 | Autor: Abbas Dashtimanesh | Categoría: Differential Equations, Computer Programming, Fortran
Share Embed


Descripción



Runge-Kutta
Adams-Bashforth
Chebyshev
Euler
Runge-Kutta-Merson
4th Order Runge-Kutta
Explicit
Impilicit
Runge-Kutta-Fehlberg




تعریف پروژه برنامه نویسی به زبان فرترن
دانشگاه خلیج فارس
گروه مهندسی دریا


عنوان پروژه:
نوشتن برنامهای برای حل معادلات حرکت کوپل شده هیو و پیچ برمبنای روشهای انتگرالگیریِ زمانیِ معادلۀ حرکت


استاد راهنما:
عباس دشتی منش
استادیار دانشگاه خلیج فارس
[email protected]



پاییز و زمستان 1393

1 مقدمه
در بسیاری از مدلهای ریاضی دینامیک شناورهای تندرو، از حل معادلات نهایی حرکت، بعنوان امری بغرنج، یاد شده است. در واقع، از آنجائیکه معادلات دیفرانسیل نهایی، دستهای از معادلات دیفرانسیل معمولیِ درجه دومِ غیرخطی هستند، حل آنها به صورت معمول امکان پذیر نیست. از اینرو، نیازمند استفاده از روشهایی با دقت بالا برای حل معادلات یاد شده، خواهیم بود.
تاکنون، روشهای مختلفی در این زمینه گسترش یافته اند، که میتوان به روشهای رانگ-کاتا، آدامز بشفورت، چبیشف، اویلر و غیره اشاره نمود. با این وجود، همه روشهای مذکور قادر به حل معادلات منتجه نخواهند بود. بنابراین، یافتن روشی قابل اطمینان میتواند از جنبههای مختلف، راهگشا باشد.
اگرچه در نرم افزارهای ارائه شده در فصول پیشین از روش رانگ کاتا مِرسون استفاده گردیده، اما در این فصل تلاش شده است تا روشهایی که قابلیت استفاده در نرم افزار برای حل معادلات حرکت را دارا میباشند، مورد ارزیابی قرار بگیرند. بدین منظور، فرمولاسیون روشهای مختلف رانگ کاتا شامل رانگ کاتای مرتبه چهار، رانگ کاتای صریح و ضمنی، رانگ کاتا فلبرگ و رانگ کاتای مِرسون، مورد بررسی قرار گرفتهاند.
2 معادلات حرکت
معادلات حاکم که حرکات شناور پروازی را تعیین میکنند، عبارتند از:


با ترکیب معادلات فوق با نیروها و گشتاورهای مقاطع، معادلات حرکت به شکل زیر در میآیند:


(2)
اکنون، برای حل دستگاه معادلات بالا، در گام اول یک دسته از متغیرهای حالت ، ، ، ، و انتخاب میشوند. بنابراین، معادله ماتریسی بالا را میتوان به صورت

(3)
نوشت که ماتریس جرم، مشتق بردار متغیر حالت ، و تابع نیرویی سمت راست است، که خود تابعی از متغیرهای حالت است.
در هر گام زمانی، معادله ماتریسی برای حل میشود. معادلات مذکور برای یافتن مقادیر جدید متغیرهای حالت ، و انتگرالگیری میشوند، یعنی مقادیر پیشین متغیرهای حالات ، و انتگرالگیری میگردند تا مقادیر جدید متغیرهای ، و محاسبه شوند.
با توجه به توضیحات ارائه شده، استفاده از یکی از روشهای انتگرالگیری، ضروری به نظر میرسد. در ادامه، روشهای حل دستگاه معادلاتِ منتجه، مورد بررسی قرار خواهند گرفت.
3 روشهای حل معادلات حرکت
حل معادلات حرکتِ بدست آمده، پیچیده میباشد. دستگاه معادلات متشکل از ترکیب سه معادله دیفرانسیل غیرخطی مرتبه دوم است، که میبایست با استفاده از تکنیکهای عددی استاندارد در بازه زمان حل شوند. در اینجا، تکنیکهای عددی که برای این موضوع مناسب باشند، مورد بررسی قرار خواهند گرفت. این روشها شامل روش رانگ کاتای مرتبه چهار، رانگ کاتای فِلبرگ و روش رانگ کاتای مِرسون خواهند بود، که ویژگیهای هر کدام به صورت جداگانه ارزیابی میگردد.

4 رانگ-کاتای مرتبۀ چهار
یکی از اعضای خانواده روشهای رانگ-کاتا به عنوان یا رانگ کاتای مرتبه چهار شناخته میشود. اگر مسئله مقدار اولیه به صورت زیر بیان گردد:

(4)
و تابعی نامعلوم از زمان باشد، میبایست این وابستگی را تخمین زد. فرض بر این است که y، نرخ تغییرات در زمان ، تابعی از زمان و خود مقدار میباشد. در زمان اولیه ، مقدار متناظر برابر با خواهد بود. تابع f و مقادیر و داده شدهاند.
اکنون، با انتخاب یک گام ، عبارت زیر تعریف میشود:


(5)
برای n = 0,1,2,3 و با استفاده از عبارات


(6)
که در آنها، تقریب رانگ کاتای مرتبه چهارم برای بوده و مقدار با استفاده از مجموع مقدار فعلی و متوسط وزنی چهار مرحله بالا تعیین میگردد. هر کدام از مراحل افزایشی فوق، حاصلِ اندازه گام و تخمینی از شیب تابع در سمت راستِ معادله دیفرانسیل میباشد:
براساس شیب در شروع گام و با استفاده از (روش اویلر)
براساس شیب در میانه گام و با استفاده از
براساس شیب در میانه گام و با استفاده از
براساس شیب در انتهای گام و با استفاده از
در متوسط گیری از چهار مرحله یاد شده، بزرگترین وزن به نقطه میانی گام، اختصاص داده شده است. وزنها به نحوی انتخاب شدهاند که مستقل از باشد. بنابراین، معادله دیفرانسیل معادل با یک انتگرال ساده میباشد. روش رانگ کاتای مرتبه چهار، روشی از مرتبه چهار بوده، بدین معنا که خطا در هر گام از مرتبه است، در حالی که خطای کل از مرتبه خواهد بود.



مثال 1: فرض نمایید که معادله حرکتی به صورت زیر تعریف میشود.

موقعیت اولیه شناور به صورت زیر تعریف میگردد

در نظر بگیرید که است. با استفاده از روش رانگ- کاتای مرتبه چهارم برای یک گام زمانی، چهار پارامتر ، ، و را محاسبه نمایید.
حل :
همانگونه که در الگوریتم روش تشریح گردید، حل به چهار مرحله تقسیم میشود. برای هر مرحله ابتدا دستگاه معادلات حل خواهد شد و شتابها محاسبه میشوند سپس، چهار پارامتر مورد نظر در هر مرحله اصلاح میگردد.
مرحله 1)
ابتدا با در نظرگیری پارامترهای حالت اولیه دستگاه معادلات را تشکیل میدهیم

با حل این دستگاه داریم

به این ترتیب سرعتها و تغییر مکانها به صورت زیر محاسبه میشوند




مرحله 2)
در این مرحله برای حل ماتریس از مقادیر اصلاح شده استفاده خواهد شد

با حل این دستگاه داریم

به این ترتیب سرعتها و تغییر مکانها به صورت زیر محاسبه میشوند




مرحله 3)
مانند مرحلۀ قبل، خواهیم داشت،


حال برای سرعتها و تغییر مکانها بدست میآید




مرحله 4)
برای این مرحله نیز مانند مراحل قبل عمل خواهیم نمود


با بدست آوردن پارامترهای میانی، پارامترهای مورد نظر در گام زمانی بعد عبارت است از








5 روش رانگ-کاتای فلبرگ
یکی از روشهای مرسومی که در حل مسائل مقدار اولیه کاربرد دارد، روش رانگ- کاتای فلبرگ میباشد. در این تکنیک با استفاده با تعیین حد خطا، گام زمانی متغیر خواهد بود. برای تعیین خطا در گام زمانی دوم از دو بخش خطای مرتبه پنجم و مرتبه چهارم تشکیل میشود. بخش مرتبه پنجم عبارت است از


همچنین بخش مرتبه چهار به فرم زیر تعریف میشود


که پارامترهای آن، به صورت زیر تعریف میگردد







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


برای کنترل این بخش، در ابتدای مسئله یک حد خطا ( ) فرض میکنیم، اگر


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


با توجه به مقادیر مختلف ، گام زمانی را به صورت زیر تغییر میدهیم


پس از تعیین گام زمانی جدید، بار دیگر محاسبات انجام خواهد شد تا زمانیکه مقدار از حد خطا کمتر شود.




مثال 2: مثال (1) را با استفاده از روش رانگ- کاتای فلبرگ حل نمایید. حد خطا را در نظر بگیرید.
حل :
مانند مثالهای قبل، ابتدا در چند مرحله به محاسبه پارامترهای میانی پرداخته میشود. بر اساس فرمول بندی که در بالا ارائه گردید، این روش دارای شش مرحله میباشد.
مرحله 1)
ابتدا با در نظرگیری پارامترهای حالت اولیه دستگاه معادلات را تشکیل میدهیم

با حل این دستگاه داریم

به این ترتیب سرعتها و تغییر مکانها به صورت زیر محاسبه میشوند




مرحله 2)
در این مرحله برای حل ماتریس از مقادیر اصلاح شده استفاده خواهد شد

با حل این دستگاه داریم

به این ترتیب سرعتها و تغییر مکانها به صورت زیر محاسبه میشوند




مرحله 3)
مانند مرحله قبل، خواهیم داشت:


حال برای سرعتها و تغییر مکانها بدست میآید:




مرحله 4)
برای این مرحله نیز مانند مراحل قبل عمل خواهیم نمود:


سرعتها و تغییر مکانها عبارتند از




مرحله 5)
در این مرحله نیز داریم:


سرعتها و تغییر مکانها برای این مرحله عبارتند از




مرحله 6)
در این مرحله نیز داریم:


پس از محاسبه پارامترهای میانی برای و خواهیم داشت:




پس محاسبه هر یک از پارامترها به بررسی خطای آن و مقایسه با حد خطا خواهیم پرداخت.




مشاهده میشود که خطای محاسبات از حد خطا کمتر است. در نتیجه، نیازی به تکرار چرخه برای این گام زمانی نمیباشد. نهایتاً، جواب این گام زمانی عبارت است از




همچنین، برای این روش میتوان از برنامه کامپیوتری زیر که به زبان متلب نوشته شده، استفاده نمود:


6 روش رانگ-کاتای مرسون
روش رانگ کاتای مِرسون توسط مِرسون ابداع گردید. مرتبه تقریب عددی که با تعریف میشود، چهار است و برای حل کمکی سه میباشد. بنابراین، بطورکلی، تفاوت این دو تقریب عددی تنها از مرتبه سه خواهد بود و یک تخمین خطای محافظه کارانه بدست میآید. یعنی، خطای محلی برای های کوچک، به میزان بالاتری برآورد میگردد. با این وجود، برای معادلات خطی با ضرایب ثابت، زمانی که ، یک تخمین صحیح از خطای محلی به دست خواهد آمد. این موضوع را میتوان به صورت زیر بیان نمود:









بنابراین،




R برابر با خطای محلی با مرتبۀ است. توضیح بیشتر راجع به این روش را میتوان در مراجع مختلف محاسبات عددی یافت. روش رانگ کاتایِ مرسون، مناسبترین روش پیشنهادی است که در ادامه روش فِلبرگ و توسط مِرسون به دست آمدهاند. آنها دارای ویژگیهای اضافی هستند به نحوی که ثابت خطای فرمول اصلی (فرمول بالاترین مرتبه) به حداقل برسد. با این حال، از آنجا که رابطه میان خطای واقعی و خطای محلی بطور کلی شناخته شده نیست، این سؤال مطرح است که آیا یک فرمول با بالاترین مرتبه را میبایست به عنوان فرمول اصلی استفاده نمود.
روش پنج مرحلهای رانگ کاتا با دقت مرتبه چهار، جهت حل سیستم معادلات دیفرانسیل غیرخطیِ مرتبهِ اول بکار گرفته می شود. مفروض بر اینکه



فرآیند روش به صورت زیر خواهد بود:








مقدار تخمینی از میزان خطا را ارائه میدهد و جهت انتخاب اتوماتیکِ گامِ انتگرالگیری استفاده میشود. اگر بیانگر دقت محاسبات باشد، گام انتگرالگیری به صورت زیر انتخاب خواهد شد:
ابتدا گام اولیهای را انتخاب کنید و محاسبات را با معادلات بالا آغاز نمایید تا مقدار به دست آید. اگر باشد، گام انتگرالگیری را بر تقسیم کنید. اگر ، آنرا دو برابر کنید. اگر ، گام انتگرالگیری انتخاب شده قاب قبول میباشد. در این زمان، مقدار را جایگزین نقطه اولیه نمایید و کل فرآیند را تکرار کنید. این موضوع یک حل تقریبی از داده و مقدار کمکی خواهد بود و لذا داریم:


یعنی فرمول در فرمول جایگذاری میگردد. روشی که در اینجا جهت تخمین خطا و انتخاب گام انتگرالگیری توضیح داده شد، به عنوان روش رانگ کاتای گنجانده شده مرسوم است. توجه داشته باشید که فرآیند توضیح داده شده، براساس الگوریتم رانگ-کاتا-مرسون 5 بار تکرار شده و سپس مقادیر مجهولات شتاب، سرعت و مکان قابل ارائه خواهند بود.




مثال 3: مثال (1) را با استفاده از روش رانگ- کاتای مرسون حل نمایید. حد خطا را در نظر بگیرید.
حل :
مانند مثالهای قبل، ابتدا در چند مرحله به محاسبه پارامترهای میانی پرداخته میشود.
مرحله 1)
ابتدا با در نظرگیری پارامترهای حالت اولیه دستگاه معادلات را تشکیل میدهیم

با حل این دستگاه داریم

به این ترتیب سرعتها و تغییر مکانها به صورت زیر محاسبه میشوند




مرحله 2)
در این مرحله برای حل ماتریس از مقادیر اصلاح شده استفاده خواهد شد

با حل این دستگاه داریم

به این ترتیب سرعتها و تغییر مکانها به صورت زیر محاسبه میشوند




مرحله 3)
مانند مرحله قبل، خواهیم داشت:


حال برای سرعتها و تغییر مکانها بدست میآید




مرحله 4)
برای این مرحله نیز مانند مراحل قبل عمل خواهیم نمود


سرعتها و تغییر مکانها عبارت اند از




مرحله 5)
در این مرحله نیز داریم


پس از محاسبه پارامترهای میانی برای و خواهیم داشت:




پس محاسبه هر یک از پارامترها به بررسی خطای آن و مقایسه با حد خطا خواهیم پرداخت.




مشاهده میشود که خطای محاسبات از حد خطا کمتر است. در نتیجه نیازی به تکرار چرخه برای این گام زمانی نمیباشد. نهایتا جواب این گام زمانی عبارت است از





تعریف پروژه
دستگاه معادلات حرکت یک جسم که در مثال 1 تعریف شده است را درنظر بگیرید. برنامه کامپیوتری بنویسید که پارامترهای سرعت و جابهجایی را با استفاده از سه روش الف) رانگ-کاتا مرتبه چهار، ب) رانگ- کاتا فلبرگ، ج) رانگ- کاتای مرسون برای گام زمانی ( ) محاسبه نماید.
برنامه باید به صورتی نوشته شود که کاربر امکان انتخاب روش و پارامترهای موثر در حل را داشته باشد. دستگاه معادلات را باید بتوان تا ماتریس 3*3 نیز در نظر گرفت.
مقادیر ورودی نیز باید از فایل متنی خوانده شود و نتایج در فایل خروجی دیگری ذخیره شوند.


Lihat lebih banyak...

Comentarios

Copyright © 2017 DATOSPDF Inc.