آکس
← بازگشت به مقالاتبرنامه‌نویسی

پایتون برای مهندسی شیمی؛ مسیر شروع با یک پروژه محاسباتی

5 دقیقه مطالعهتحریریه آکس
لپ‌تاپ با نمودارهای محاسباتی کنار مدل تجهیزات فرایندی و دفتر یادداشت

برای شروع پایتون برای مهندسی شیمی لازم نیست سراغ شبیه‌سازی یک واحد کامل بروید. یک محاسبه آشنا که بتوانید جوابش را دستی بررسی کنید، پروژه اول مناسب‌تری است. در این راهنما از محاسبه تعداد مول شروع می‌کنیم و به برنامه اختلاط دو جریان می‌رسیم. مثال‌ها با پایتون ۳ و بدون نصب کتابخانه اضافی قابل اجرا هستند.

محیط اجرا را آماده کنید

پایتون ۳ را از وب‌سایت رسمی Python دریافت کنید یا از محیط آموزشی پایتون ۳ که در دسترس دارید استفاده کنید. یک فایل با پسوند .py بسازید و کدهای این مقاله را در آن اجرا کنید. نام فرمان اجرا بسته به نصب سیستم می‌تواند python، python3 یا در ویندوز py باشد.

در شروع، یادگیری متغیر، عملیات حسابی، شرط و تابع کافی است. آموزش رسمی مقدماتی پایتون نمونه‌های کوتاهی برای استفاده از مفسر به‌عنوان ماشین‌حساب و کار با متغیرها دارد. لازم نیست همه امکانات زبان را پیش از ساخت اولین پروژه یاد بگیرید.

اولین محاسبه: تبدیل جرم به تعداد مول

فرض کنید ۳۶ گرم آب داریم و جرم مولی تقریبی آن ۱۸ گرم بر مول است. کد زیر مقدار ماده را محاسبه می‌کند:

mass_g = 36.0
molar_mass_g_per_mol = 18.0
amount_mol = mass_g / molar_mass_g_per_mol
print(amount_mol)

خروجی 2.0 و واحد آن مول است. درج واحد در نام متغیرها کمک می‌کند ورودی‌ها را اشتباه نگیرید، اما پایتون از روی این نام‌ها سازگاری واحد را کنترل نمی‌کند. مسئولیت تبدیل واحد و انتخاب رابطه همچنان با شماست.

مسئله مهندسی را قبل از کدنویسی تعریف کنید

دو محلول بدون واکنش و اتلاف در یک سیستم پایا مخلوط می‌شوند. دبی جرمی ورودی‌ها و کسر جرمی حل‌شونده معلوم است. می‌خواهیم دبی کل و کسر جرمی خروجی را محاسبه کنیم. فرض می‌کنیم فقط یک جریان خروجی وجود دارد و جزء موردنظر رسوب یا تبخیر نمی‌شود.

دبی خروجی، جمع دبی‌های ورودی است. دبی حل‌شونده، حاصل جمع ضرب دبی هر ورودی در کسر جرمی آن است. تقسیم دبی حل‌شونده بر دبی کل، ترکیب خروجی را می‌دهد. اگر این مرحله برای شما تازه است، ابتدا مثال حل‌شده موازنه جرم را بخوانید.

پروژه اول: تابع اختلاط دو جریان

def mix_streams(flow1, fraction1, flow2, fraction2):
    if flow1 < 0 or flow2 < 0:
        raise ValueError("Mass flows must be non-negative")
    if not (0 <= fraction1 <= 1 and 0 <= fraction2 <= 1):
        raise ValueError("Mass fractions must be between 0 and 1")
    total_flow = flow1 + flow2
    if total_flow == 0:
        raise ValueError("At least one inlet flow must be positive")
    solute_flow = flow1 * fraction1 + flow2 * fraction2
    return total_flow, solute_flow / total_flow

flow, fraction = mix_streams(100.0, 0.10, 50.0, 0.20)
print(f"Outlet mass flow: {flow:.1f} kg/h")
print(f"Solute mass percentage: {100 * fraction:.2f}%")

خروجی مورد انتظار، دبی 150.0 kg/h و درصد جرمی 13.33% است. هر دو دبی ورودی در این مثال کیلوگرم بر ساعت هستند. اگر واحد دیگری انتخاب کنید، باید برای هر دو جریان یکسان باشد و برچسب خروجی نیز تغییر کند.

بخش‌های شرطی جلوی دبی منفی، کسر جرمی خارج از بازه صفر تا یک و تقسیم بر صفر را می‌گیرند. عدد ۱۰ درصد را به شکل 0.10 وارد کنید. این تابع آموزشی برای ورودی‌های عددی متناهی نوشته شده است؛ در نرم‌افزار واقعی، نوع داده و مقدارهای نامعتبر فایل یا فرم نیز باید کنترل شوند.

چگونه مطمئن شویم برنامه درست کار می‌کند؟

فقط اجراشدن بدون خطا کافی نیست. جواب مثال را دستی محاسبه و با خروجی مقایسه کنید. سپس چند حالت ساده را امتحان کنید: اگر جریان دوم صفر باشد، ترکیب خروجی باید همان جریان اول باشد؛ اگر دو غلظت برابر باشند، خروجی نیز همان غلظت را دارد؛ اگر هر دو دبی صفر باشند، تابع باید خطا بدهد.

برای تمرین، ورودی‌ها را به 80, 0.05, 20, 0.15 تغییر دهید. دبی خروجی باید ۱۰۰ و درصد جرمی ۷ باشد. سپس عمداً درصد را به شکل ۱۵ وارد کنید و پیام خطا را ببینید؛ این بررسی نشان می‌دهد کنترل ورودی چه کمکی می‌کند.

بعد از مبانی، کدام ابزارها را یاد بگیریم؟

پس از کار با توابع، فهرست‌ها و حلقه‌ها، می‌توانید سراغ NumPy برای محاسبات آرایه‌ای، pandas برای داده‌های جدولی و Matplotlib برای رسم نمودار بروید. یک پروژه بعدی مناسب، خواندن داده دما و زمان از فایل و رسم نمودار با عنوان و واحد محورهای مشخص است.

مسیر تمرین را با مسئله‌های کوچک پیش ببرید: تبدیل واحد، محاسبه چند جریان، خواندن فایل و سپس نمودار. در هر پروژه، ورودی‌ها، فرض‌های فیزیکی و یک نمونه جواب معتبر را ثبت کنید. برای آموزش همراه با تمرین می‌توانید دوره پایتون آکس را بررسی کنید.

سوالات متداول

برای شروع پایتون در مهندسی شیمی باید برنامه‌نویسی بلد باشم؟

خیر. می‌توانید با متغیرها و عملیات حسابی شروع کنید، سپس شرط، حلقه و تابع را یاد بگیرید. پروژه‌ای انتخاب کنید که مبنای مهندسی آن را می‌دانید و پاسخ آن قابل بررسی دستی است.

کدهای این مقاله به کتابخانه اضافی نیاز دارند؟

خیر. مثال‌های تبدیل جرم به مول و تابع اختلاط فقط از امکانات پایه پایتون ۳ استفاده می‌کنند.

آیا پایتون واحدهای مهندسی را خودکار کنترل می‌کند؟

در کدهای ساده این مقاله خیر. واحدها باید پیش از محاسبه یکسان شوند. نوشتن واحد در نام متغیر فقط خوانایی را بهتر می‌کند و کنترل خودکار ابعادی نیست.

چرا در برنامه به‌جای ۱۰ از ۰٫۱۰ استفاده می‌کنیم؟

تابع، کسر جرمی می‌گیرد. ۱۰ درصد برابر ۰٫۱۰ است. برای نمایش نتیجه به‌صورت درصد، کسر جرمی خروجی را در ۱۰۰ ضرب می‌کنیم.

اول NumPy یاد بگیرم یا مبانی پایتون؟

ابتدا متغیر، شرط، حلقه، تابع و فهرست را در چند تمرین کوچک به کار ببرید. پس از آن NumPy برای محاسبه روی مجموعه‌ای از داده‌ها قابل فهم‌تر می‌شود.