از پارسکدرز بیشترین بهره را ببرید و رویای کاری خود را زندگی کنید.
بیست و هفت روز پیش منتشر شده
تعداد بازدید: 142
کد پروژه: 608272
شرح پروژه
سلام
پروژه متلب شیمی میخواستم کارگاه نرم افزار
تا فردا غروب اگه امکانش باشه آماده شه
در مورد مهندسی شیمی یا پلیمر و حل معادلات pde باشه،
function fixed_bed_reactor()
% تعریف پارامترها
L = 1; Dax = 1e-4; v = 0.05; k = 0.01; C0 = 1;
% ... (بقیه کد)
sol = pdepe(m, @pdefun, @icfun, @bcfun, x, t);
% ... (رسم نمودارها)
end
function [c, f, s] = pdefun(x, t, u, DuDx)
c = 1;
f = Dax * DuDx;
s = -v * DuDx - k * u;
end
function u0 = icfun(x)
u0 = 0;
end
function [pl, ql, pr, qr] = bcfun(xl, ul, xr, ur, t)
pl = ul - C0; ql = 0; % شرط ورودی
pr = 0; qr = 1; % شرط خروجی (شار صفر)
end
۱. عنوان پروژه:
شبیهسازی دینامیک راکتور لولهای بستر ثابت (Fixed-Bed Reactor) با در نظر گرفتن پخش محوری، جابهجایی و واکنش شیمیایی درجه یک.
۲. معادله دیفرانسیل جزئی (PDE) حاکم:
معادله، یک معادله سهموی (Parabolic) یکبعدی در راستای طول راکتور (x) و وابسته به زمان (t) است:
\frac{\partial C}{\partial t} = D_{ax} \frac{\partial^2 C}{\partial x^2} - v \frac{\partial C}{\partial x} - k C
· C = غلظت واکنشدهنده (متغیر وابسته) بر حسب mol/m^3
· t = زمان (ثانیه)
· x = فاصله از ورودی راکتور (متر)
۳. شرایط اولیه (Initial Condition - IC):
در لحظهی شروع (t = 0)، راکتور کاملاً خالی از واکنشدهنده است:
C(x, 0) = 0 \quad \text{برای تمام } x \text{ در بازه } [0, L]
۴. شرایط مرزی (Boundary Conditions - BC):
· در ورودی راکتور (x = 0): غلظت ورودی ثابت است (شرط دیریکله):
C(0, t) = C_0 = 1 \quad (mol/m^3)
· در خروجی راکتور (x = L): شیب غلظت صفر است (شرط نیومن یا شار صفر، نشاندهنده خروج آزادانه ماده):
\frac{\partial C}{\partial x} = 0
۵. مقادیر عددی پارامترها (اعداد را دقیقاً با همین واحدها استفاده کند):
پارامتر نماد مقدار عددی واحد
طول راکتور L 1 متر
ضریب پخش محوری D_{ax} 1 \times 10^{-4} متر مربع بر ثانیه
سرعت سطحی سیال v 0.05 متر بر ثانیه
ثابت سرعت واکنش درجه یک k 0.01 بر ثانیه (s^{-1})
غلظت خوراک ورودی C_0 1 مول بر متر مکعب
۶. ابزار حل در متلب:
برای حل از دستور داخلی pdepe استفاده کند. (هندسه تخت یا صفحهای با پارامتر m = 0).
۷. مشخصات گامهای حل عددی (مشبندی):
· گام طولی: بردار طول (x) شامل ۵۰ نقطه با فاصله مساوی بین ۰ تا ۱ متر.
· گام زمانی: بردار زمان (t) شامل ۱۰۰ نقطه با فاصله لگاریتمی یا خطی بین ۰ تا ۲۰۰۰ ثانیه (زمان کافی برای پر شدن کامل راکتور). مثال: t = linspace(0, 2000, 100).
۸. خروجیهای مورد نیاز (چیزی که باید تحویل دهد):
۱. یک فایل کد اصلی .m که با زدن دکمه Run، تمام خروجیهای زیر را ترسیم کند:
· نمودار شماره ۱ (پروفیل غلظت در طول راکتور): یک نمودار ۲ بعدی که در آن محور x (طول) و محور y (غلظت) باشد و ۴ منحنی برای زمانهای t = 0، t = 500، t = 1000 و t = 2000 ثانیه روی آن رسم شود (با رنگها و راهنما/افسانه (Legend) مشخص باشد).
· نمودار شماره ۲ (تاریخچه غلظت خروجی): یک نمودار ۲ بعدی که در آن محور x زمان (t) و محور y غلظت در انتهای راکتور (C_{out}(t)) رسم شود تا منحنی شکست (Breakthrough Curve) را نشان دهد.
· نمودار شماره ۳ (نمایش ۳ بعدی): یک نمودار آبشاری (Surface plot) با دستور surf(x, t, C) که تغییرات غلظت را بر حسب طول و زمان به صورت یک صفحهی سهبعدی نشان دهد.
۲. کامنتگذاری کامل کد: تمام خطوط کد به زبان فارسی یا انگلیسی ساده توضیح داده شوند (مثلاً مشخص کند که هر بخش مربوط به تعریف معادله، شرایط مرزی، یا رسم نمودار است).
۳. بررسی صحت فیزیکی (مهم): در انتهای کد، مقدار غلظت خروجی در زمان t=2000 را به صورت یک عدد در نوار فرمان (Command Window) چاپ کند (پرینت کند). انتظار میرود این عدد حدوداً برابر با 0.82 باشد (چون واکنش ۱٪ از ماده را در طول مسیر مصرف میکند).
---
۹. نکته تکمیلی برای برنامهنویس (اختیاری ولی پیشنهادی):
اگر زمان اضافه آورد، یک حلقه (Loop) بنویسد که با تغییر عدد k (ثابت واکنش) به ترتیب ۰، ۰.۰۱ و ۰.۰۵، سه منحنی شکست خروجی را روی یک نمودار مقایسه کند تا تاثیر واکنش روی غلظت خروجی مشخص شود.
---
خلاصهی ساختار تابعی که باید در کد استفاده شود:
برنامهنویس باید تابع اصلی را با فرمت زیر بنویسد تا pdepe به درستی اجرا شود:
`matlab
function fixed_bed_reactor()
% تعریف پارامترها
L = 1; Dax = 1e-4; v = 0.05; k = 0.01; C0 = 1;
% ... (بقیه کد)
sol = pdepe(m, @pdefun, @icfun, @bcfun, x, t);
% ... (رسم نمودارها)
end
function [c, f, s] = pdefun(x, t, u, DuDx)
c = 1;
f = Dax * DuDx;
s = -v * DuDx - k * u;
end
function u0 = icfun(x)
u0 = 0;
end
function [pl, ql, pr, qr] = bcfun(xl, ul, xr, ur, t)
pl = ul - C0; ql = 0; % شرط ورودی
pr = 0; qr = 1; % شرط خروجی (شار صفر)
end
مهارت ها و تخصص های مورد نیاز
مهلت برای انجام
3روز
وضعیت مناقصه
بسته
درباره کارفرما
عضویت سه سال پیش
نیاز به استخدام فریلنسر یا سفارش پروژه مشابه دارید؟
قادر به انجام این پروژه هستید؟
متأسفانه مهلت ارسال پیشنهاد این پروژه به پایان رسیده و پروژه بسته شده است؛ اما فرصتهای متعددی در سایت موجود میباشد.
به رایگان یک حساب کاربری بسازید
مهارتها و تخصصهای خود را ثبت کنید، رزومه و نمونهکارهای خود را نشان دهید و سوابق کاری خود را شرح دهید.
به شیوهای که دوست دارید کار کنید
برای پروژههای دلخواه در زمان دلخواه پیشنهاد قیمت خود را ثبت کنید و به فرصتهای شغلی منحصر به فرد دسترسی پیدا کنید.
با اطمینان دستمزد دریافت کنید
از زمان شروع کار تا انتهای کار به امنیت مالی شما کمک خواهیم کرد. وجه پروژه را از ابتدای کار به امانت در سایت نگه خواهیم داشت تا تضمین شودکه بعد از تحویل کار دستمزد شما پرداخت خواهد شد.
میخواهید شروع به کار کنید؟
یک حساب کاربری بسازید
بهترین مشاغل فریلنسری را پیدا کنید
رشد شغلی شما به راحتی ایجاد یک حساب کاربری رایگان و یافتن کار (پروژه) متناسب با مهارتهای شما
است.
پیدا کردن کار (پروژه)
تماشای دمو روش کار