گاهی توابع و زیربرنامه های خوبی را در ایز ایجاد کرده اید و دوست دارید که بتوانید مانند توابع موجود در کتابخانه ایز از آنها استفاده کنید، در جلد 41 خبرنامه نرم افزار ایز، ایجاد کتابخانه به خوبی توضیح داده شده است. این خبرنامه را از این لینک دانلود کنید.
ایز هر شش ماه یکبار یک خبرنامه چاپ منتشر میکند که در آن آخرین تغییرات و مسائل مهم در ایز را توضیح می دهد. تا الان 41 خبرنامه منتشر شده است. برای دسترسی به این خبرنامه ها از این لینک استفاده کنید.
نمونه ای از کتابخانه ساخته شده که از منو EES library routines در دسترس است. در این خبرنامه نحوه تنظیم واحد و همچنین نحوه تهیه فایل راهنما برای این کتابخانه توضیح داده شده است.
برای افزودن تصویر به برنامه EES لازم است ابتدا عکس را از هر فرمتی به برنامه رابط مانند نرمافزار PowerPoint ببرید و سپس آن را به EES انتقال دهید.
روی عکس ctrl+C را بزنید، بر روی صفحه PowerPoint کلیک کرده و ctrl+V را بزنید. سپس روی عکس در صفحه PowerPoint کلیک کرده و ctrl+C را بزنید، در برنامه EES بر روی پنجره Diagram کلیک کرده و ctrl+V را بزنید. گزینههای مختلفی ظاهر خواهد شد. گزینه Picture را انتخاب نمایید.
کاهش حجم فایل (ذخیره با فرمت فشردهشده)
در نرمافزار EES امکان ذخیره فایلها بهصورت فشردهشده وجود دارد. برای ذخیره فایل بهصورت فشرده کافی است در هنگام ذخیره فایل (Save As …) گزینه Compressed EES file (*.EEZ) را در لیست Save as type: انتخاب نمایید.
توجه به یک خطر کوچک
امکان ارزیابی واحدها در اشکالزدایی معادلات کمک بزرگی میکند. در اولین اجرای معادلات واحدهای مشخصشده به متغیرها اختصاص داده خواهد شد، اگر پسازآن به هر شکل واحد متغیر را در بخش معادلات عوض کنید با خطای واحد مواجه خواهید شد. برای رفع مشکل بایستی از پنجره اطلاعات متغیرها استفاده نموده و واحد صحیح را به متغیر اختصاص بدهید.
چینش مناسب خطوط برنامه
در برنامهنویسی یک روش بسیار خوب برای خوانایی بیشتر کدها استفاده از فواصل خالی مناسب قبل از شروع هر خط است. با استفاده از این فواصل خالی میتوان خوانایی کد را بالا برده و درک آن را سادهتر نمود (به این کار دندانهدار کردن کد گفته میشود). برای مثال کد زیر را در دو حالت دندانهدار و بدون دندانه ببینید.
گاهی لازم است برنامههای محاسباتی بزرگی بنویسید، در این صورت توصیه میگردد برنامه را بهصورت بخشهای مجزا (در فایلهای مجزا) نوشته و پس از رفع اشکال کامل و ارزیابی صحت اجرا و پاسخهای هر بخش، آنها را در کنار هم قرار دهید.
گاهی پیش میآید که بخشهای مختلف برنامه شما بهصورت مجزا بهخوبی اجرا میگردند، اما زمانی که آنها را در کنار هم قرار میدهید اجرا نمیشوند. علت در نحوه حل دستگاه معادلات توسط روشهای عددی است. بهعنوان یک شرح ساده از علت عدم همگرایی، فرض کنید برنامه شما دارای دو بخش است و هر بخش را در یک فایل مجزا قرار دادهاید. بخش اول دارای 10 معادله و 10 مجهول و بخش دوم دارای 15 معادله و 15 مجهول هستند. در این صورت نرمافزار برای حل بخش اول یک ماتریس 10*10 یعنی یک ماتریس 100 آرایهای را تشکیل داده و با روش سعی و خطای نیوتن رافسون و استفاده از ژاکوبی حل میکند. برای حل بخش دوم، نرمافزار یک ماتریس 15*15 یعنی یک ماتریس 255 آرایهای را حل خواهد نمود. حال اگر شما هر دو بخش را در کنار هم قرار دهید، 25 معادله و 25 مجهول خواهیم داشت و نرمافزار بایستی یک ماتریس 25*25 یعنی یک ماتریس 625 آرایهای را حل نماید. با توجه به پیچیدگیهای حل دستگاه معادلات غیرخطی، حل یک ماتریس 625 آرایهای بسیار مشکلتر و احتمال عدم همگرایی و نرسیدن به جواب بسیار زیاد است. البته نرمافزار بهصورت خودکار اقدام به جداسازی بخشهای مختلف خواهد نمود اما جداسازی دستی با داشتن دانش نسبت به مسئله، خیلی مؤثرتر از جداسازی خودکار است.
برای جداسازی دستی بخشهای مختلف از توانایی فراهمشده در نرمافزار EES به نام زیربرنامه (SUBPROGRAM) استفاده خواهیم نمود.
برای این کار لازم است متغیرهای ورودی و خروجی هر بخش از برنامه را مشخص نمایید. منظور از متغیرهای ورودی، دادههای معلوم هر بخش و متغیرهای خروجی نتایج محاسبات انجامشده است. در برنامه اصلی هر بخش را به شکل SUBPROGRAM تعریف نمایید. برای این کار نامی برای زیربرنامه هر بخش انتخاب کنید و نام متغیرهای ورودی آن بخش را به ترتیب، بعد از یک پرانتز بنویسید، بعد: و بعد متغیرهای خروجی را بنویسید. همه معادلات لازم برای محاسبه آن بخش را در بدنه زیربرنامه قرار داده و زیربرنامه را با دستور END به پایان برسانید. برای همه بخشها همین کار را انجام دهید. حال همه بخشها را در برنامه اصلی با دستور CALL و نام زیربرنامه و متغیرهایش فراخوانی کنید.
در نرمافزار EES هر زیربرنامه حکم یک برنامه جدای EES را دارد که بهصورت جداگانه حل خواهد شد.
فرض کنید محاسبات پروژهای قابل تقسیم به سه بخش s1 تا s3 است که قبلاً هر بخش را بهصورت جداگانه در نرمافزار EES نوشته و تست کردهایم و هر سه ارزیابی شده (ازنظر ابعادی مشکلی ندارند، معادلات بهخوبی نوشتهشده است و از استفاده از معادلاتی که ابهام ریاضی دارند تا حد ممکن استفاده نشده است مثلاً تقسیمبر صفر، جذر اعداد منفی و ….) و بهخوبی جواب میدهند. زمانی که معادلات این سه بخش را بهصورت همزمان اجرا میکنیم، معادلات همگرا نمیگردند و به جواب نخواهیم رسید.
نام بخش
s3
s2
s1
متغیر ورودی
z1, z2
y1, y2, y3
x1, x2
متغیر خروجی
y2
z1
y1
برای نوشتن بخشهای بالا بهصورت زیربرنامه از کد زیر استفاده خواهیم نمود.
در بسیاری از موارد لازم است توابع نوشتهشده را بارها استفاده نماییم، در این حالت میتوان این توابع را بهصورت یک کتابخانه ذخیره نمود و با کپی کردن این کتابخانه در پوشه UserLib واقع در پوشه محل نصب نرمافزار در هر بار اجرا این کتابخانه نیز در بخش توابع EES library routines در دسترس خواهد بود.
برای ایجاد کتابخانه پس از ارزیابی کامل توابع نوشتهشده و اطمینان از صحت کارکرد آنها لازم است فایل خود را با استفاده از گزینه Save as بهصورت یک فایل کتابخانهای با پسوند lib ذخیره نمایید. برای اینکه توابع شما دارای توضیحات در خصوص نحوه استفاده از آنها باشند سادهترین کار قرار دادن این توضیحات در خود تابع است. توضیحات را بعد از تعریف تابع بیاورید، فقط لازم است که این توضیحات با علامت $ که پس از آن نام تابع نوشتهشده است شروع شود. مثال زیر را ببینید:
Function Add(x,y)
{$Add
This function will add two numbers}
Add:= x + y
End
برای انجام بسیاری از محاسبات مهندسی تکراری کتابخانههایی از توابع و برنامهها تهیهشده است تا از نوشتن مکرر معادلات خودداری گردد. بسیاری از این کتابخانهها هنگام نصب کردن نرمافزار بهصورت خودکار نصب خواهند شد. برخی از کتابخانهها هم بهصورت جداگانه ارائه میگردد (حتی ممکن است خودتان کتابخانه نوشته باشید) که میتوانید خودتان آنها را نصب نمایید. برای نصب یک کتابخانه کافی است کد آن کتابخانه را در پوشه Userlib واقع در پوشه محل نصب نرمافزار کپی کنید.
برای مثال کتابخانه SETP که برای انجام محاسبات انرژی خورشیدی (کتاب Solar Engineering of Thermal Processes) استفاده میگردد را نصب خواهیم نمود. این کتابخانه را میتوانید از آدرس زیر دانلود نمایید:
کتابخانه SETP به شکل یک فایل اجرایی است. روی این فایل به نام setp_lib.exe دو بار کلیک کنید تا اجرا شود. با استفاده از کلید Browse آدرس پوشه Userlib را یافته و وارد نمایید. کلید Unzip را فشار دهید. تبریک میگویم. کتابخانه موردنظر شما نصب شد. برای اطمینان از نصب به داخل پوشه Userlib نگاهی بیندازید، اگر فایل SETP.LIB را مشاهده کردید، کتابخانه بهدرستی نصبشده است.
برای دسترسی به توابع این کتابخانه از گزینه Function Info > EES library routines استفاده نمایید.
گاهی لازم است که از گزینههای شرطی در محاسبات استفاده گردد، یا بخشی از محاسبات به ترتیب انجام گیرد (مانند زبانهای برنامهنویسی)، در این صورت شما میتوانید در برنامه EES توابع موردنیاز خود را بنویسید.
توابع را در ابتدای برنامه بنویسید.
تابع ریاضی زیر را در EES بنویسید و نمودار آن را بین صفر تا یک رسم نمایید.
هرچند با استفاده از تابع از پیش تعریف شده IF(A, B, X, Y, Z) میتوان در متن برنامه از گزینههای شرطی استفاده کرد، اما قصد داریم این کار را با استفاده از تعریف تابع انجام دهیم. تابع f_k_T را بهصورت زیر تعریف میکنیم.
function f_k_T(k_t)if k_T<0.35then
f_k_T=1.0-249*k_T
elseif k_T<0.75then
f_k_T=1.557-1.84*k_T
else
f_k_T=0.75endifendifend
متغیر داخل پرانتز بعد از نام تابع، متغیر ورودی است که به تابع ارسال میگردد. توجه داشته باشید که در توابع دستورات بهصورت ترتیبی یعنی خط به خط انجام میگیرد (مانند زبانهای برنامهنویسی). پس از انجام محاسبات، برای ارسال نتیجه به خارج برنامه، نام تابع را مساوی نتیجه بهدستآمده قرار میدهیم.
برای رسم این تابع بایستی یک معادله مینویسیم که شامل تابع باشد و آن را رسم میکنیم.
y=f_k_T(x)
برای رسم این تابع یک جدول تشکیل بدهید که شامل متغیرهای x و y باشد و به متغیر x عدد بدهید (بین صفر تا یک) و محاسبه جدولی را انجام داده و نمودار y را برحسب x رسم نمایید.
جدول ایز، امکان انجام محاسبات تکراری را بهسادگی فراهم مینماید. از جدول برای انجام محاسباتی که به مقدار محاسبهشده در دور قبلی نیاز دارد نیز میتوان استفاده نمود. با این روش میتوان معادلات دینامیک را نیز حل نمود. برای مثال یک مخزن و یک هیتر خارجی را در نظر بگیرید. دبی جرمی آبگردشی بهوسیله یک پمپ ثابت نگهداشته شده است. مشخص است که دمای سیال خروجی از هیتر وابسته به دمای سیال ورودی و مقدار حرارت اضافه شده از سمت هیتر است. معادله سادهشده انرژی برای هیتر (T_h_out دمای خروجی از هیتر) به شکل زیر است.
(1)
در معادله بالا با داشتن مقدار دمای ورودی آب به هیتر T_h_in ، گرمای هیتر Q_dot_Heater و دبی جرمی سیال m_dot میتوان دمای آب خروجی از هیتر T_h_out را محاسبه نمود. معادلات این بخش را در ایز وارد کرده و معادلات را حل خواهیم نمود. در این مرحله دمای سیال ورودی به هیتر را بهعنوان ورودی و برابر یک مقدار مشخص در نظر خواهیم گرفت.
دمای مخزن در هرلحظه تابعی از دمای خروجی هیتر است، بنابراین نیاز داریم دمای مخزن را در هر لحظه محاسبه نماییم. با نوشتن معادلات انرژی و ساده کردن آنها، رابطه زیر به دست میآید. معادله انرژی تانک بهصورت دینامیک (T دمای تانک) به شکل زیر است. در این معادله M جرم آب داخل تانک است.
(2)
حل این معادله دیفرانسیل با داشتن دمای اولیه تانک T_ini به شکل زیر خواهد بود. با داشتن این معادله میتوان در هر لحظه دمای آب داخل تانک را محاسبه نمود.
(3)
اما دمای خروجی هیتر در هر لحظه تابعی از دمای ورودی آن است، بنابراین با فرض ثابت بودن دمای خروجی هیتر برای یک بازه زمانی کوچک و مخزن کاملاً هم خورده، دمای مخزن را محاسبه میکنیم. دمای اولیه مخزن را در هر بازه زمانی برابر دمای محاسبه شده مخزن در بازه قبل در نظر میگیریم. این دما پس از گذشت ثانیه DELTAt از رابطه زیر به دست میآید.
(4)
حل این مسئله برای به دست آوردن دمای تانک در هرلحظه با استفاده از دستورات EES به شکل زیر خواهد بود. برای به دست آوردن دمای تانک در لحظه t_1 = t_0 + DELTAt فرض میکنیم که دمای تانک (T_tank) در لحظه t_0 مشخص است. آب با همین دما (T_t_in) وارد هیتر شده و در هیتر گرم میشود، بنابراین دمای خروجی هیتر در لحظه t_0 با استفاده از معادله (1) قابلمحاسبه است. معادله (4) را حل کرده و دمای تانک در لحظه بعدی (T|plus_tank) به دست میآید، این مقدار دمای تانک در لحظه t_1 است. به همین ترتیب دمای تانک در لحظه t_2 = t_1 + DELTAt با داشتن دمای تانک در لحظه t_1 قابلمحاسبه است.
برای پیادهسازی قدمبهقدم چنین مسائلی در EES، ابتدا معادلات لازم برای حل مسئله را بدون در نظر گرفتن جدول وارد کرده و از صحت معادلات، واحدها و حل آنها اطمینان حاصل کنید. در مسئله تانک، برای حل معادلات لازم است که دمای اولیه تانک را داشته باشیم، پس دمای اولیه تانک را با یک معادله وارد میکنیم (توضیح اضافه شده در شکل زیر را ببینید).
یک معادله برای محاسبه زمان به جدول اضافه میکنیم. مراقب باشید چون حروف بزرگ و کوچک از دیدگاه ایز یکساناند.
کد EES به شکل زیر خواهد بود:
پس از حل بدون اشکال مسئله و تنظیم واحدها، جدول و محاسبات جدولی را اضافه نموده و مسئله را حل میکنیم. میدانیم دمای اولیه تانک در هر لحظه، دمای نهایی بهدستآمده از لحظه قبل است. بنابراین دمای نهایی مخزن در این لحظه بهعنوان دمای اولیه مخزن در لحظه بعد در نظر گرفته خواهد شد و محاسبات ادامه پیدا خواهد کرد. با فرض اینکه دمای مخزن در لحظه اول T_tank_ini باشد و جرم تانک را M در نظر بگیریم، جدولی شامل دمای ورودی، دمای تانک در این لحظه و دمای تانک در لحظه بعد میسازیم.
مقدار متغیر TableRun# در محاسبه هر سطر جدول بهصورت خودکار (توسط EES) برابر شماره آن سطر قرار خواهد گرفت. تابع TableValue(‘TableName’,N,’ColumnName’) مقدار موجود در سطر N ستون ColumnName از جدول TableName را باز خواهد گرداند.
در این روش هرچقدر بازه زمانی در نظر گرفتهشده کوچکتر باشد، پاسخها به واقعیت نزدیکتر خواهد بود. همانطور که گفته شد، معادله انرژی مخزن به شکل زیر است.
(5)
این معادله را با روش سادهتری، با قرار دادن تغییرات بهجای دیفرانسیل نیز میتوان حل نمود. این روش در صورتی خطای کمی دارد که بازههای زمانی بسیار کوچک انتخاب شود.
در EES دستوراتی وجود دارد که نحوه عملکرد نرمافزار را طی فرایند حل تعیین میکند. این دستورات با علامت $ در ابتدای نامشان مشخص میشوند. در این درس به تعدادی از پرکاربردترین آنها اشاره خواهیم نمود.
واحدهای پیشفرض را تغییر خواهد داد.
$UnitSystem SI K Pa J mass deg
در ویرایشگر فاصله هر کاراکتر tab را مشخص میکند.
$TabStops 0.2 0.4 0.6 0.8 1
با توجه به برقراری یا عدم برقراری شرط Condition روابط بعد از $If یا روابط بعد $Else در برنامه فعال خواهد شد. شرطهای موردقبول این دستور محدود است (برای جزئیات بیشتر به راهنمای نرمافزار مراجعه نمایید).
$If Condition $Else $EndIf
برعکس دستور $If است.
$IfNot Condition $Else $EndIf
برای تعریف پارامترها یا رشتههای ثابت استفاده میگردد.
$Constant
برای ارسال تک جهته متغیرها به توابع، پروسیجرها، زیربرنامهها و ماژولها بهصورت متغیرهای عمومی استفاده میگردد و با محدودیت یکطرفه بودن مشابه دستور Common در فرترن عمل میکند.
$Common
یک مثال شامل برخی از دستورات بالا:
$UnitSystem SI C Pa J mass deg
$TabStops 0.16 0.32 0.48 0.64 0.8
$Constant N#=4.1
$Constant R#$=’Air’
FUNCTION Fr(X)
$COMMON a1,a2{variables a1, a2 are from the main program}
گاهی لازم است چند نمودار را با هم رسم نمایید. همانطور که در مثال قبل گفته شد این کار با استفاده از آیکون Overlay Plot بهراحتی امکانپذیر است. قسمت پیچیده زمانی است که بخواهید چند منحنی با دامنههای مختلف را با هم رسم نمایید (مثلاً زمانی که بخواهید عدد ناسلت را برحسب رینولدز در حالت آرام و مغشوش با هم رسم کنید). برای این کار توضیحات زیر را ببینید:
برای درک بهتر یک مثال ساده را رسم خواهیم نمود. روش توضیح داده شده در این مثال یکی از روشهای رسم دو منحنی در یک نمودار است.
مثال ) میخواهیم توابع a1 و a2 را که هر یک تابعی از b هستند، با هم رسم نماییم. اما لازم است تابع اول در شرایط b بین 0 تا 50 و تابع دوم در شرایط b بین 50 تا 100 رسم گردد.
a_1=b+15
a_2=b^2
حل :
معادلات را در نرمافزار بنویسید.
یک جدول شامل هر سه متغیر a_1 و a_2 و b ایجاد کنید.
در جدول مقادیر b را از 0 تا 100 در نظر بگیرید.
محاسبات جدول را انجام دهید.
“در پنجره رسم هر نموداری مطمئن شوید هر سه گزینه سمت راست شامل spiline fit، automatic update و add legend item تیک خورده باشد. “
نمودار a_1 را رسم نمایید. ” در پنجره رسم نمودار در سمت راست پنجره، گزینههای First Run =0 و Last Run =50 را تنظیم نمایید.”
نمودار a_2 را رسم نمایید. ” در پنجره رسم نمودار در سمت راست پنجره، گزینههای First Run =50 و Last Run =100 را تنظیم نمایید.”
حال بایستی محور سمت چپ را دوباره تنظیم نمایید تا هر دو نمودار را بهخوبی نمایش بدهد. سادهترین راه برای این کار:
روی اعداد محور سمت چپ دوبار کلیک کنید.
گزینه Automatic scaling را تیک بزنید.
بسته به نوع نمودار، احتمال دارد انتخاب گزینه Log نیز لازم باشد.
با تغییرات سادهای میتوانید نمودار را خوشفرم نمایید.
“کار نیکو کردن از پرکردن است”
تمرین: با استفاده از گزینههای موجود در پنجره ظاهر شده هنگام دوبار کلیک کردن روی بخشهای مختلف نمودار و تنظیم آنها نموداری مانند نمودار شکل زیر ایجاد نمایید.
در بسیاری از موارد لازم است که دستگاه معادلات برای مقادیر مختلف یک متغیر محاسبه گردد. برای انجام این کار از جدول محاسباتی استفاده میکنیم. برای مثال رسم یک نمودار را با هم دنبال میکنیم.
نمودار Y=X2-5X+1 را رسم کنید.
حل: ابتدا معادله را در پنجره معادلات وارد کنید، یک معادله و دو مجهول، پس یک مجهول اضافی یا یک درجه آزادی داریم. روی آیکون ایجاد جدول پارامتری کلیک کنید. در پنجره باز شده به تعداد سطرهای جدول توجه نمایید (این مقدار بهصورت پیشفرض 10 است). میتوانید نامی برای جدول وارد نمایید. از لیست پارامترهای سمت چپ (همه پارامترهای موجود در معادلات)، متغیرهایی را که میخواهید در ستونهای جدول و در آینده در نمودار باشند را انتخاب کرده و کلید Add را فشار بدهید تا این متغیرها به لیست سمت راست اضافه شود. روی کلید OK کلیک کنید تا جدول ساخته شود.
همانطور که مشاهده میکنید، یک جدول با دو ستون و ده سطر ساخته شده است. در سطر X، اعداد را از 0 تا 9 وارد نمایید و کلید محاسبه جدول یا F3 را فشار دهید. مقادیر y محاسبه شده و در جدول قرار میگیرد.
واردکردن دستی اعداد همیشه انتخاب خوبی نیست. برای 10 سطر فقط لازم است 10 عدد در جدول نوشته شود اما فرض کنید که تعداد سطرها 100 یا بیشتر باشد، در این صورت وارد نمودن اعداد در جدول کار بسیار زمانبری است. برای حل این مشکل میتوانید در پنجره جدول، روی مثلث سیاهرنگ و کوچک سمت راست بالای عنوان متغیر کلیک کنید تا پنجره تولید سری اعداد باز شود. با کمک این پنجره شما میتوانید سری اعداد را با مشخص نمودن عدد شروع و عدد پایانی یا مقدار افزایش یا ضریب یا لگاریتم تولید کنید.
انتخاب نحوه پرکردن
تکرار الگوی اعداد
در این مرحله نمودار را رسم میکنیم، برای این کار روی آیکون نمودار کلیک کنید. پنجره نمودار باز خواهد شد. در لیست سمت چپ متغیر محور افقی و در لیست سمت راست متغیر محور عمودی را انتخاب کنید تا نمودار رسم گردد. برای افزودن نمودارهای دیگر به این نمودار میتوانید بهراحتی از آیکون اضافه کردن نمودار استفاده نمایید.
در این درس برای آشنایی با نحوه استفاده از کتابخانه آماده ایز از یک مثال استفاده کرده بهاینترتیب که از کتابخانه انتقال حرارت ایز برای محاسبه انتقال حرارت داخل لوله استفاده میکنیم. استفاده از سایر توابع و زیربرنامههای فراهمشده نیز مشابه خواهد بود.
زیربرنامه محاسبه انتقال حرارت داخل لوله در آدرس زیر در دسترس است:
Option (menu) > Function info. > Heat Transfer & Fluid Flow > convection
پس از انتخاب زیربرنامه موردنظر، با فشار کلید اطلاعات (Info) نحوه استفاده از زیربرنامه به شکل زیر نمایش داده خواهد شد.
پس برای محاسبه انتقال حرارت داخل لوله درصورتیکه دمای دیواره ثابت باشد (مثال اول نمایش دادهشده در پنجره اطلاعات) میتوان از روابط زیر استفاده نمود.
در مثال بالا در بخش ورودی زیربرنامه به ترتیب نام سیال، دما و فشار و دبی جرمی سیال و قطر، طول و زبری نسبی لوله به زیربرنامه داده شده است. زیربرنامه نیز در بخش خروجی به ترتیب ضریب انتقال حرارت حالت دما ثابت (با فرض ثابت بودن دمای دیواره لوله)، ضریب انتقال حرارت شار ثابت (با فرض ثابت بودن شار دیواره لوله)، افت فشار، عدد بیبعد ناسلت و ضریب افت فشار و عدد بیبعد رینولدز را محاسبه نموده و باز خواهد گرداند. توجه نمایید که جداکننده این دو بخش علامت: است.
با توجه به استفاده از روش تکرار در ایز، میتوان مجهولات را در ورودی نیز در نظر گرفت، اما این کار احتیاج به دانش و توجه در خصوص روش حل و معادلات بهکاررفته دارد. با توجه به این معادلات بسیاری از توابع و زیربرنامههای ایز قابلمشاهده است این کار قابلاجراست. برای مشاهده این معادلات کلید View در کنار کلید Info را فشار دهید تا معادلات نوشتهشده برای هر یک از توابع و زیربرنامههای انتخابی را مشاهده نمایید. در نوشتن این توابع و زیربرنامهها از بسیاری از دستورات پیشرفته ایز استفادهشده است و مطالعه آنها میتواند بسیار آموزنده باشد.
یکی از قدرتهای برنامه EES داشتن توابع ریاضی و ترمودینامیکی بسیار توانمند است. برای دستیابی به توابع موجود در EES از منو option و گزینه Function info یا کلید ترکیبی ctrl+alt+F استفاده میکنیم. همچنین میتوانید آیکون آن را بزنید. اگر همین حالا ctrl+alt+F را در برنامه EES فشار دهید، پنجره زیر نمایش داده خواهد شد. همه توابع موجود در ایز از این پنجره قابلدسترسی است.
فراگیری و کسب مهارت در استفاده از توابع کلید اصلی در آموختن و به دست گرفتن قدرت EES است. پرکاربردترین بخش در محاسبات مهندسی استفاده از خواص ترمودینامیکی سیالات است.
کتابخانههای خواص ترمودینامیکی مختلف و نحوه استفاده از آنها
در نرمافزار EES کتابخانههای خواص ترمودینامیکی مختلفی وجود دارد. در توابع خواص سیال، دو کتابخانه Real fluids و Ideal gasses بیشتر مورداستفاده قرار میگیرند. در همین بخش کتابخانههای AirH2O، Brines و NASA را نیز مشاهده میکنید.
کتابخانه Real fluids (سیالات واقعی) همانگونه که از اسمش نیز میتوان حدس زد، خواص ترمودینامیکی سیال را در شرایط واقعی محاسبه مینماید. کتابخانه Ideal gasses (گازهای ایدهآل) با فرض ایدهآل بودن گاز خواص را محاسبه میکند.
کتابخانه Ideal gasses، خواص ترمودینامیکی سیالات را با فرض گاز ایدهآل بودن آنها محاسبه مینماید و بایستی فقط در شرایطی که فرض گاز ایدهآل درست است مورداستفاده قرار گیرد و در سایر شرایط احتیاط لازم در خصوص خطای محاسبات را بایستی در نظر گرفت.
کتابخانه NASA، خواص سیالات مختلف را با فرض ایدهآل بودن آنها محاسبه مینماید. این کتابخانه ازنظر تعداد سیال از کتابخانه Ideal gasses بسیار کاملتر است و خواص بیش از 1260 گاز ایدهآل را در خود دارد، اما ازنظر تعداد خواص ترمودینامیکی محاسبهشده بسیار سادهتر از کتابخانه Ideal gasses است و برای همه گازهای داده شده فقط چند خاصیت ترمودینامیکی پرکاربرد را محاسبه مینماید. مبنای محاسبه خواص مشترک در این دو کتابخانه کاملاً مشابه است.
کتابخانه AirH2O برای محاسبه دقیق خواص ترمودینامیکی هوای مرطوب استفاده میگردد.
کتابخانه Brines برای محاسبه خواص ترمودینامیکی انواع نمکها و محلولهایی مورداستفاده در تهویه مطبوع یا … کاربرد دارد.
نکته: استفاده از خواص سیالات در حالت گاز ایدهآل در محدوده دمایی 200 تا 3500 کلوین مجاز است. برای سایر شرایط بایستی مستندات نرمافزار EES را مشاهده کنید.
خواص سیالات را میتوان بهصورت همزمان از چند کتابخانه محاسبه نمود. نحوه نوشتن نام سیال مشخص میکند که از کدام کتابخانه استفاده شود. برای مثال فرض کنید میخواهیم آنتالپی دیاکسید کربن را محاسبه نماییم. این ماده در هر سه کتابخانه Real fluids، Ideal gasses و NASA وجود دارد. با توجه به شرایط محاسبات و پاسخ این سؤال که “آیا شرایط گاز ایدهآل برقرار است؟“ و همچنین دقت موردنظر، میتوانیم از کتابخانه Real fluids یا Ideal gasses استفاده نماییم (نتیجه محاسبات در دو کتابخانه Ideal gasses و NASA یکسان است!).
برای استفاده از کتابخانه Real fluids نام سیال را بهصورت کامل مینویسیم:
h_CO2_1=Enthalpy(CarbonDioxide,T=T_1,P=P_1)
در این عبارت EES آنتالپی دیاکسید کربن را به شکل یک سیال واقعی محاسبه خواهد نمود. همانطور که در عبارت بالا مشاهده میکنید، برای محاسبه خواص سیال واقعی دو خاصیت بهعنوان ورودی موردنیاز است که نکته بسیار مهمی است و توجه به آن شما را از خطاهای زیادی نجات خواهد داد.
برای محاسبه آنتالپی با استفاده از کتابخانه Ideal gasses نام سیال را بهصورت اختصار شیمیایی آن مینویسیم:
h_CO2_2=Enthalpy(CO2,T=T_1)
عبارت بالا برای محاسبه آنتالپی دیاکسید کربن بهعنوان یک گاز ایدهآل به کار میرود. اغلب خواص ترمودینامیکی (بهجز چگالی و آنتروپی) در حالت گاز ایدهآل تابعی از یک خاصیت (دما) هستند. توجه به این نکته بسیار ضروری است.
برای درک مثال بعدی لازم است که قبلاً ترمودینامیک احتراق را مطالعه نموده باشید در غیر این صورت بهتر است مطالعه خود را از شروع درس 6: ادامه بدهید
مثال ) انجام محاسبات انرژی و انتروپی احتراق بهوسیله EES
برای انجام محاسبات احتراق لازم است خواص واکنشدهندهها و محصولات را داشته باشیم. برای اغلب محاسبات استفاده از فرض گاز ایدهآل دقت کافی را داراست. قبل از شروع محاسبه بهتر است که معیار سنجش مقدار ماده را به mol تنظیم نمایید تا محاسبات بر اساس موازنه انجامشده بسیار ساده باشد.
برای شروع مثال 10 فصل احتراق کتاب سنجل را در نظر بگیرید:
* گاز متان با دما 25°C و فشار 1atm وارد محفظه احتراق میشود و بهصورت بیدررو (آدیاباتیک Q=0) با 50% هوای اضافی با همان شرایط میسوزد. فشار خروجی از محفظه احتراق نیز 1atm است. فرض جریان پایدار و احتراق کامل را در نظر بگیرید. موارد زیر خواسته شده است:
دمای محصولات
تولید آنتروپی
برگشتناپذیری (دمای محیط T0=298K)
حل: اولین قدم در EES نوشتن مشخصات نویسنده و برنامه بهصورت توضیحات است.
قدم دوم، تنظیم واحد است. در این مسئله معیار سنجش مقدار ماده را مول قرار میدهیم.
$unitsystem SI K kPa mol
موازنه احتراق با 50% هوای اضافی را مینویسیم و آن را بهصورت توضیح در بالای صفحه قرار میدهیم.
از معادله بالا تعداد مولها را استخراج میکنیم، از این روابط در آینده استفاده خواهیم نمود:
n_CH4=1
n_O2_Air=3
n_N2_Air=3*3.76
n_Air= n_O2_Air+n_N2_Air
n_CO2=1
n_H2O=2
n_O2=1
n_N2=11.28
n_product=n_CO2+n_H2O+n_O2+n_N2
برای به دست آوردن دمای محصولات محاسبه آنتالپی واکنشدهندهها و محصولات لازم است (برای خواص از فرض گاز ایدهآل استفاده میکنیم):
“ENTHALPY CALCULATION”
T_R=298[K]
h_CH4=Enthalpy(CH4,T=T_R)
h_O2=Enthalpy(O2,T=T_R)
h_N2=Enthalpy(N2,T=T_R)
“T_P=?”
h_CO2_p=Enthalpy(CO2,T=T_P)
h_H2O_p=Enthalpy(H2O,T=T_P)
h_O2_p=Enthalpy(O2,T=T_P)
h_N2_p=Enthalpy(N2,T=T_P)
با توجه به آدیاباتیک بودن فرایند، انتقال حرارت نداریم و بنابراین انرژی ورودی مساوی انرژی خروجی است:
مسئله را به همین شکل حل کنید. نرمافزار به شما پنجره هشدار زیر را نمایش خواهد داد.
نکته جالبی که قبلاً هم ذکر شد محدوده دمایی محاسبه خواص کتابخانه گازهای ایدهآل است. اما محاسبات انجام شده است و با OK کردن این پنجره، نتیجه محاسبات به شکل زیر قابلمشاهده است:
نکته خیلی عجیب دمای محاسبهشده محصولات است (Tp=1.836)، این دما قطعاً اشتباه است، اما چرا؟ آیا میتوانید مشکل را حدس بزیند؟
مشکل خارج شدن از محدوده مجاز دما در محاسبه خواص است (پنجره هشدار هم همین مطلب را به ما نشان داد). یعنی توابع در نظر گرفته شده برای محاسبه آنتالپی در خارج از محدوده 200 تا 3500 کلوین شاید معتبر نباشد!! راهحل محدود کردن متغیر T_P به بالاتر از 200 کلوین است (شکل زیر)، لازم است مقدار حدس اولیه را نیز حداقل به 200 تنظیم نماییم.
دوباره مسئله را حل کنید و این بار پاسخ صحیح قسمت اول مسئله را خواهید دید. واحدهای پیشنهادشده برای متغیرهای مختلف (آنتالپیها) را بپذیرید و واحد سایر متغیرها را تنظیم نمایید.
بخش دوم مسئله از ما میخواهد آنتروپی تولید شده را محاسبه نماییم. با توجه به آدیاباتیک بودن محفظه احتراق، آنتروپی تولیدی را میتوان با محاسبه اختلاف آنتروپی ورودی و خروجی به دست آورد.
برای محاسبه آنتروپی، لازم است ابتدا فشار جزئی هر یک از اجزاء را در هوای ورودی و همچنین در محصولات محاسبه نمود. برای محاسبه فشار جزئی هر یک از اجزاء، از روابط زیر استفاده مینماییم:
“!Reactant”
“molar fraction”
y_O2_Air=n_O2_Air/n_Air
y_N2_Air=n_N2_Air/n_Air
“partial pressure”
P_CH4=1[atm]*convert(atm,kPa)
P_Air=1[atm]*convert(atm,kPa)
P_O2_R=y_O2_Air*P_Air
P_N2_R=y_N2_Air*P_Air
“!Product”
“molar fraction”
y_CO2=n_CO2/n_product
y_H2O=n_H2O/n_product
y_O2=n_O2/n_product
y_N2=n_N2/n_product
“partial pressure”
P_product=1[atm]*convert(atm,kPa)
P_CO2=y_CO2*P_product
P_H2O=y_H2O*P_product
P_O2=y_O2*P_product
P_N2=y_N2*P_product
با داشتن فشار جزئی و دمای هر یک از اجزاء در واکنشدهندهها و محصولات میتوان آنتروپی آنها را محاسبه نمود:
“ENTROPY CALCULATION”
s_CH4=Entropy(CH4,T=T_R,P=P_CH4)
s_O2_R=Entropy(O2,T=T_R,P=P_O2_R)
s_N2_R=Entropy(N2,T=T_R,P=P_N2_R)
s_CO2=Entropy(CO2,T=T_P,P=P_CO2)
s_H2O=Entropy(H2O,T=T_P,P=P_H2O)
s_O2=Entropy(O2,T=T_P,P=P_O2)
s_N2=Entropy(N2,T=T_P,P=P_N2)
اگر تا اینجا مسئله را درست وارد کرده باشید بایستی مسئله بدون هیچ مشکلی حل شود. مسئله را حل کنید و ابعاد پیشنهاد شده برای متغیرها را بپذیرید و واحدهای سایر متغیرها را در صورت نیاز وارد یا تصحیح نمایید.
حال رابطه آنتروپی ورودی، خروجی و تولیدی را مینویسیم. این رابطه با کپی کردن رابطه آنتالپی و تغییر آن بهراحتی قابلنوشتن است!
حلکنندههای تکراری که EES هم از این دسته است، دستگاه معادلات را تا رسیدن به اولین جواب حل مینمایند. ممکن است که معادلات شما چندین جواب داشته باشند، در این حالت جواب محاسبهشده به حدس اولیه بستگی دارد. نرمافزار EES از روش نیوتن برای حل دستگاه معادلات استفاده میکند. مانند هر روش محاسبات تکراری دیگر ممکن است حل معادلات به جواب نرسد یا جواب غیرواقعی بدهد، بهخصوص زمانی که تعداد معادلات زیاد باشد. بهعنوان یکراه حل، در این حالت میتوانید محدوده متغیرها را مشخص نمایید. برای مثال محدوده دما برحسب کلوین هیچگاه نمیتواند کمتر از صفر بشود. در بسیاری از مسائل ما حدود پاسخهای متغیرها را میدانیم، در این حالت مشخص نمودن محدوده واقعی متغیرها باعث جلوگیری از اتلاف وقت زیادی خواهد شد.
برای تعیین محدوده متغیرها از پنجره اطلاعات متغیرها استفاده میکنیم. این پنجره با میانبر F9 نمایش داده میشود. در این پنجره محدوده متغیرها با استفاده از ستون Lower و Upper به ترتیب برای کران پایین و کران بالا متغیر تعیین میگردد. توجه داشته باشید که حدس اولیه Guess باید در محدوده متغیر باشد.
نرمافزار EES بهصورت پیشفرض دارای ثابتهای مهندسی زیادی است. مقدار این ثابتها با توجه به واحدهای انتخاب شده برای محاسبات تنظیم خواهد شد. بنابراین زمانی که از ثابت فشار اتمسفر Po# استفاده مینماییم، درصورتیکه واحد فشار Pa باشد، مقدار 101325 Pa، درصورتیکه واحد bar باشد مقدار 1.01325 bar، درصورتیکه واحد اتمسفر باشد، مقدار 1atm جایگزین این ثابت خواهد شد.
استفاده از ثابتهای نرمافزار موجب افزایش خوانایی برنامه و سازگاری بیشتر برنامه در مقابل تغییر واحد خواهد شد. لیست این ثابتها که با علامت # پس از نامشان مشخص میگردند با استفاده از گزینه Constant در منو Option قابلمشاهده است.
فرمت و شکل صحیح معادلات در خوانایی مسئله و ارائه معادلات بسیار مهم است. در این درس با نوشتن حروف یونانی، واردکردن زیرنویس و نوشتن معادلات خوشفرم آشنا خواهیم شد.
یکی از تواناییهای قابلتوجه EES، نمایش معادلات فرمت شده است. این توانایی در پنجره معادلات فرمت شده، پنجره گزارش (Report Window) و در پنجره ترسیم (Diagram Window) دیده میشود. در EES ویرایش حرفهای میتوان معادلات فرمت شده را با فرمت برنامههای دیگر کپی کرد، مثلاً با فرمت MathType برای انتقال به برنامه Word.
برنامه EES نسبت به بزرگ و کوچک بودن متغیرها حساس نیست. برای مثال متغیرهای زیر همه با هم برابرند؛ XA، xA، Xa، xa
در نمایش متغیرها و ثابتها ازنظر حروف بزرگ یا حروف کوچک در معادلات فرمت شده، اولین شکل متغیر یا ثابت ملاک نمایش است اگر اولین نمایش آنها با حروف بزرگ باشد تا آخر برنامه با حروف بزرگ نمایش داده خواهند شد و بلعکس.
نوشتن زیرنویسها و توانها:
از underline برای نوشتن اندیسها و زیرنویسها استفاده میشود، برای مثال m_1 بهصورت m با اندیس 1 نمایش داده میشود. اگر از تعداد بیشتری underline استفاده کنیم، EES بین آنها کاما خواهد گذاشت. برای مثال m_c_1 بهصورت m با اندیس c,1 نمایش داده میشود. از علامت | نیز برای نوشتن در جایگاه توان استفاده میشود.
در برنامه EES چند زیرنویس خاص وجود دارد که در نوشتن معادلات فیزیکی بسیار کاربرد دارند:
نمایش فرمت شده خروجی:
ورودی:
نوشتن حروف یونانی:
برای نوشتن حروف یونانی در EES، همانگونه که آنها را میخوانیم، نوشته میشوند. اگر تمام حروف را با حروف بزرگ بنویسیم حروف یونانی بزرگ نمایش داده خواهد شد و در غیر این صورت حروف یونانی کوچک نمایش داده میشود.
نوشتن کاراکترهای خاص:
برای واردکردن کاراکترهای خاص از کلید ALT استفاده میشود، این کاراکترها فقط جنبه نمایشی دارند و خاصیت عملگر ندارند، یعنی فقط برای خوانایی بیشتر استفاده میشوند.
توضیحات:
برای اضافه کردن توضیحات در EES دو روش داریم، اول استفاده از ” ” در دو طرف نوشته موردنظر و دوم قرار دادن {} در دو طرف توضیحات. در حالت اول توضیحات با رنگ آبی (پیشفرض) در پنجره معادلات فرمت شده نمایش داده میشود و در حالت دوم توضیحات در معادلات فرمت شده نمایش داده نخواهد شد. همچنین میتوانید با اضافه نمودن علامت! در ابتدای توضیحات آنها را به رنگ قرمز داشته باشید. برای اضافه کردن توضیحات میتوانید خط توضیحات موردنظر را انتخاب کرده و روی آن کلیک راست کرده و نوع توضیحات را انتخاب کنید. رنگ آبی و قرمز توضیحات که در معادلات فرمت شده نمایش داده میشود، با استفاده از تنظیمات برنامه قابلتغییر است.
در بخش توضیحات فقط میتوانید از underline برای واردکردن کاراکترهای خاص استفاده کنید (فرمت نوشتن کاراکترهای خاص در بخش توضیحات نیز به همان صورت است) و سایر کاراکترهای خاص مانند حروف یونانی قابلنوشتن نیست!
مثال ) انتقال حرارت جابجایی و تشعشعی بین یک جسم گرم با محیط اطراف را بیابید، درصورتیکه دمای جسم 300 درجه سانتیگراد و سطح انتقال حرارت آن 1 مترمربع و دمای هوای اطراف 50 درجه فارنهایت و دمای تشعشعی محیط 16 درجه سانتیگراد باشد. ضریب انتقال حرارت جابجایی را برابر 50 در نظر بگیرید.
حل: معادلات زیر را وارد کرده نتیجه را در معادلات فرمت شده ببینید.