تخمین پارامتر برای مدل های راکتور غیر ایده آل
معرفی
راکتورهای واقعی را می توان به عنوان ترکیبی از راکتورهای ایده آل مدل کرد. در این مثال از “مدل منطقه مرده” استفاده شده است. دو CSTR ایده آل با تبادل برای مدل سازی یک راکتور واقعی استفاده می شود. یک CSTR نشان دهنده منطقه بسیار آشفته و دیگری منطقه کمتر آشفته است. دو پارامتر مربوط به حجم و نرخ ارز دو منطقه برای این مورد نیاز است. پارامترها با مقایسه نتایج مدل با دادههای ردیاب تجربی پیدا میشوند. استفاده از ویژگی برآورد پارامتر در رابط مهندسی واکنش، این کار را آسان می کند.
شرح مشکل مشابه مدل ارائه شده در اینجا در Ref آورده شده است. 1 .
توجه: این برنامه به ماژول بهینه سازی و ماژول مهندسی واکنش شیمیایی نیاز دارد.
تعریف مدل
دو CSTR ایدهآل با تبادل رفتار ضروری یک سیستم راکتور واقعی را به تصویر میکشند.

شکل 1: یک راکتور واقعی را می توان با دو CSTR ایده آل با تبادل مدل کرد.
حجم بسیار هم زده با V 1 و ناحیه کمتر هم زده با V 2 نشان داده می شود . کل حجم واقعی راکتور به صورت زیر تعریف می شود:
(1)

و پارامتر α کسری از حجم کل متعلق به V 1 را نشان می دهد :

سیال بین حجم ها با سرعت v 1 مبادله می شود (واحد SI: m3 / s) و پارامتر β این نرخ را به دبی ورودی مرتبط می کند:

با فرض ثابت بودن حجم راکتور، فضای زمان، τ (واحد SI: s)، برابر است با:

توازن جرم
برای ارزیابی پارامترهای α و β ، یک ترکیب ردیاب از طریق جریان ورودی راکتور اضافه میشود، پس از آن یک منحنی پاسخ در خروجی اندازهگیری میشود. توازن جرم بیش از دو CSTR مدلی را ارائه می دهد که داده های تجربی را می توان با آن مقایسه کرد. توازن جرم عبارتند از:


که در آن c T1 غلظت ردیاب (واحد SI: mol / m 3 ) در ناحیه داده شده توسط V 1 است و c T2 غلظت ردیاب در V2 است . c T0 مقدار ردیاب در راکتور واقعی است. گفته می شود که ترکیب ردیاب در آب رقیق می شود.
این مجموعه جفت شده از ODE ها را می توان به راحتی با ترکیب دو واسط مهندسی واکنش که در آن نوع راکتور روی جرم ثابت/عمومی CSTR تنظیم شده است، راه اندازی کرد .
داده های تجربی
آزمایشی انجام می شود که در آن یک محلول ردیاب 1000 mol/m3 در جریان ورودی خوراک راکتور اضافه می شود. سپس غلظت ردیاب در جریان خروجی راکتور به عنوان تابعی از زمان ثبت می شود. داده ها در جدول 1 در زیر ارائه شده است.
بار) | غلظت (MOL/M3) |
600 | 242 |
1200 | 446 |
1800 | 585 |
2400 | 668 |
3600 | 795 |
6000 | 909 |
9000 | 953 |
18000 | 991 |
24000 | 994 |
ویژگی تخمین پارامتر فایلهای مقدار جدا شده با کاما (فایلهای csv ) را برای وارد کردن دادههای آزمایشی به نرمافزار میپذیرد. پس از وارد کردن، ستون های فایل داده نشان داده شده و به متغیرهای مدل نگاشت می شوند.
نتایج و بحث
شکل 2 نتایج مدل را هم در هنگام استفاده از حدس اولیه و هم هنگام استفاده از تخمین پارامتر نشان می دهد. شکل همچنین داده های تجربی را نشان می دهد. نتایج حاصل از تخمین پارامتر به خوبی با داده های تجربی مطابقت دارد.

شکل 2: نتایج مدل و داده های تجربی غلظت ردیاب در خروجی راکتور واقعی.
مقادیر تخمینی α و β به ترتیب 83/0 و 11/0 است.
ارجاع
1. HS Fogler، Elements in Chemical Reaction Engineering ، ویرایش چهارم، Prentice Hall، صفحات 985-987، 2005.
مسیر کتابخانه برنامه: Chemical_Reaction_Engineering_Module/Tutorials/nonideal_cstr
دستورالعمل های مدل سازی
از منوی File ، New را انتخاب کنید .
جدید
در پنجره جدید ، روی
Model Wizard کلیک کنید .

مدل جادوگر
1 | در پنجره Model Wizard روی ![]() |
2 | در درخت Select Physics ، Chemical Species Transport>Reaction Engineering (re) را انتخاب کنید . |
3 | روی افزودن کلیک کنید . |
4 | ![]() |
5 | در درخت انتخاب مطالعه ، General Studies>Time Dependent را انتخاب کنید . |
6 | ![]() |
تعاریف جهانی
مجموعه ای از پارامترهای مدل را با وارد کردن تعاریف آنها از یک فایل متنی داده ارائه شده با کتابخانه برنامه ها اضافه کنید .
پارامترهای 1
1 | در پنجره Model Builder ، در قسمت Global Definitions روی Parameters 1 کلیک کنید . |
2 | در پنجره تنظیمات برای پارامترها ، بخش پارامترها را پیدا کنید . |
3 | ![]() |
4 | به پوشه Application Libraries مدل بروید و روی فایل nonideal_cstr_parameters.txt دوبار کلیک کنید . |
شروع به تعریف اولین CSTR کنید که منطقه بسیار آشفته را نشان می دهد.
مهندسی واکنش – CSTR 1
1 | در پنجره Model Builder ، در قسمت Component 1 (comp1) روی Reaction Engineering (re) کلیک کنید . |
2 | در پنجره تنظیمات برای مهندسی واکنش ، Reaction Engineering – CSTR 1 را در قسمت نوشتار Label تایپ کنید . |
3 | در قسمت متن نام ، re1 را تایپ کنید . |
4 | بخش Reactor را پیدا کنید . از لیست نوع راکتور ، CSTR، جرم ثابت /عمومی را انتخاب کنید . |
5 | قسمت Mixture Properties را پیدا کنید . از لیست فاز ، مایع را انتخاب کنید . |
6 | بخش Reactor را پیدا کنید . زیربخش توازن جرم را پیدا کنید . از لیست نرخ حجمی ، Generic را انتخاب کنید . |
دو جریان برای خروج از CSTR اول فرض می شود: v0 و v0 *بتا.
7 | در قسمت متن v ، (1+بتا)*v0 را تایپ کنید . |
گونه 1
1 | در نوار ابزار Reaction Engineering ، روی ![]() |
2 | در پنجره تنظیمات برای گونه ها ، قسمت نام را بیابید . |
3 | در قسمت متن، T را تایپ کنید . |
4 | در نوار ابزار Reaction Engineering ، روی ![]() |
گونه 1
1 | در پنجره تنظیمات برای گونه ها ، قسمت نام را بیابید . |
2 | در قسمت متن، H2O را تایپ کنید . |
3 | قسمت Type را پیدا کنید . از لیست، حلال را انتخاب کنید . |
گونه: T
1 | در پنجره Model Builder ، روی Species: T کلیک کنید . |
2 | در پنجره تنظیمات برای گونه ها ، بخش فرمول شیمیایی را پیدا کنید . |
3 | در قسمت متن M ، Mn_T را تایپ کنید . |
گونه: H2O
1 | در پنجره Model Builder ، روی Species: H2O کلیک کنید . |
2 | در پنجره تنظیمات برای گونه ها ، بخش فرمول شیمیایی را پیدا کنید . |
3 | در قسمت متن ρ ، rho_w را تایپ کنید . |
مقادیر اولیه 1
اولین CSTR حجم اولیه آلفا برابر کل حجم واقعی راکتور دارد.
1 | در پنجره Model Builder ، روی مقادیر اولیه 1 کلیک کنید . |
2 | در پنجره تنظیمات برای مقادیر اولیه ، قسمت پارامترهای عمومی را پیدا کنید . |
3 | در قسمت متن V r0 ، alpha*Vtot را تایپ کنید . |
4 | قسمت مقادیر اولیه گونه های حجمی را پیدا کنید . در جدول تنظیمات زیر را وارد کنید: |
گونه ها | غلظت (MOL/M^3) |
H2O | c_w |
دو جریان ورودی خوراک را به اولین CSTR اضافه کنید. یکی نشان دهنده جریان ورودی به راکتور واقعی، v0، و دیگری نشان دهنده جریان از CSTR دوم، v0 *بتا.
ورودی خوراک 1
1 | در نوار ابزار Reaction Engineering ، روی ![]() |
2 | در پنجره تنظیمات مربوط به ورودی خوراک ، قسمت ویژگی های ورودی خوراک را پیدا کنید . |
3 | در قسمت متن v f ، v0 را تایپ کنید . |
4 | قسمت Feed Inlet Concentration را پیدا کنید . در جدول غلظت ورودی خوراک ، تنظیمات زیر را وارد کنید: |
گونه ها | غلظت (MOL/M^3) |
H2O | c_w |
تی | c_T0 |
ورودی خوراک 2
1 | در نوار ابزار Reaction Engineering ، روی ![]() |
2 | در پنجره تنظیمات مربوط به ورودی خوراک ، قسمت ویژگی های ورودی خوراک را پیدا کنید . |
3 | در قسمت متن v f ، v0*beta را تایپ کنید . |
4 | قسمت Feed Inlet Concentration را پیدا کنید . در جدول غلظت ورودی خوراک ، تنظیمات زیر را وارد کنید: |
گونه ها | غلظت (MOL/M^3) |
H2O | c_w |
تی | re2.c_T |
به تعریف دومین CSTR که نشان دهنده منطقه مرده است ادامه دهید. برای این کار اولین رابط را کپی کنید.
5 | در پنجره Model Builder ، روی Reaction Engineering – CSTR 1 (re1) کلیک راست کرده و Copy را انتخاب کنید . |
مهندسی واکنش – CSTR 2
1 | در پنجره Model Builder ، روی Component 1 (comp1) کلیک راست کرده و Paste Reaction Engineering را انتخاب کنید . |
2 | در کادر محاورهای Messages from Paste ، روی OK کلیک کنید . |
3 | در پنجره تنظیمات برای مهندسی واکنش ، Reaction Engineering – CSTR 2 را در قسمت نوشتار Label تایپ کنید . |
فقط یک جریان از CSTR دوم خارج می شود: v0 *بتا.
4 | بخش Reactor را پیدا کنید . زیربخش توازن جرم را پیدا کنید . در قسمت متن v ، v0*beta را تایپ کنید . |
مقادیر اولیه 1
CSTR دوم دارای حجم اولیه (1-آلفا) برابر کل حجم واقعی راکتور است.
1 | در پنجره Model Builder ، گره Component 1 (comp1)>Reaction Engineering – CSTR 2 (re2) را گسترش دهید ، سپس روی مقادیر اولیه 1 کلیک کنید . |
2 | در پنجره تنظیمات برای مقادیر اولیه ، قسمت پارامترهای عمومی را پیدا کنید . |
3 | در قسمت متنی V r0 ، (1-alpha)*Vtot را تایپ کنید . |
4 | قسمت مقادیر اولیه گونه های حجمی را پیدا کنید . در جدول تنظیمات زیر را وارد کنید: |
گونه ها | غلظت (MOL/M^3) |
H2O | c_w |
ورودی خوراک 1
1 | در پنجره Model Builder ، روی Feed Inlet 1 کلیک کنید . |
2 | در پنجره تنظیمات مربوط به ورودی خوراک ، قسمت ویژگی های ورودی خوراک را پیدا کنید . |
3 | در قسمت متن v f ، v0*beta را تایپ کنید . |
4 | قسمت Feed Inlet Concentration را پیدا کنید . در جدول غلظت ورودی خوراک ، تنظیمات زیر را وارد کنید: |
گونه ها | غلظت (MOL/M^3) |
تی | re1.c_T |
دومین جریان ورودی خوراک را بردارید.
ورودی خوراک 2
در پنجره Model Builder ، در قسمت Component 1 (comp1)>Reaction Engineering – CSTR 2 (re2) روی Feed Inlet 2 کلیک راست کرده و Delete را انتخاب کنید .
مهندسی واکنش – CSTR 1 (RE1)
اکنون یک ویژگی Parameter Estimation را اضافه کنید تا در بهینه سازی استفاده شود.
1 | در پنجره Model Builder ، در قسمت Component 1 (comp1) روی Reaction Engineering – CSTR 1 (re1) کلیک کنید . |
تخمین پارامتر 1
1 | در نوار ابزار Reaction Engineering ، روی برآورد ![]() |
2 | در پنجره تنظیمات برای تخمین پارامتر ، قسمت تخمین پارامترها را پیدا کنید . |
3 | در جدول Parameter تنظیمات زیر را وارد کنید: |
پارامتر | مقدار اولیه | مقیاس | کران پایین | کران بالا |
آلفا | 0.5 | 1 |
4 | ![]() |
5 | در جدول Parameter تنظیمات زیر را وارد کنید: |
پارامتر | مقدار اولیه | مقیاس | کران پایین | کران بالا |
بتا | 0.1 | 1 |
آزمایش 1
1 | در نوار ابزار Reaction Engineering ، روی ![]() |
فایل csv را با داده های تجربی بخوانید و ستون های داده را با متغیرهای مدل ترسیم کنید.
2 | در پنجره تنظیمات برای آزمایش ، بخش دادههای آزمایشی را پیدا کنید . |
3 | ![]() |
4 | به پوشه Application Libraries مدل بروید و روی فایل nonideal_cstr_data.csv دوبار کلیک کنید . |
5 | ![]() |
6 | در جدول تنظیمات زیر را وارد کنید: |
ستون داده | استفاده کنید | متغیرهای مدل | واحد | وزن |
ردیاب (mol/m3) | √ | c_T | 1 | 1 |
مدل را با استفاده از مقادیر اولیه پارامترهای آلفا و بتا حل کنید.
مطالعه 1: حدس اولیه
1 | در پنجره Model Builder ، روی Study 1 کلیک کنید . |
2 | در پنجره تنظیمات برای مطالعه ، مطالعه 1: حدس اولیه را در قسمت نوشتار برچسب تایپ کنید . |
مرحله 1: وابسته به زمان
1 | در پنجره Model Builder ، در مطالعه 1: حدس اولیه ، روی مرحله 1: وابسته به زمان کلیک کنید . |
2 | در پنجره تنظیمات مربوط به زمان وابسته ، قسمت تنظیمات مطالعه را پیدا کنید . |
3 | در فیلد متنی زمان خروجی ، 24000 را تایپ کنید . |
ویژگی تخمین پارامتر را برای این مرحله مطالعه غیرفعال کنید .
4 | قسمت Physics and Variables Selection را پیدا کنید . تیک Modify model configuration for study step را انتخاب کنید . |
5 | در درخت، Component 1 (comp1)> Reaction Engineering – CSTR 1 (re1)> Parameter Estimation 1 را انتخاب کنید . |
6 | ![]() |
7 | در نوار ابزار صفحه اصلی ، ![]() |
دستورالعمل های زیر شکل 2 را ایجاد می کنند .
نتایج
غلظت در راکتور واقعی
1 | در پنجره Model Builder ، در بخش Results روی Experiment 1 Group کلیک کنید . |
2 | در پنجره تنظیمات برای گروه طرح 1 بعدی ، Concentration in Real Reactor را در قسمت نوشتار Label تایپ کنید . |
3 | برای گسترش بخش عنوان کلیک کنید . از لیست نوع عنوان ، هیچکدام را انتخاب کنید . |
4 | قسمت Plot Settings را پیدا کنید . |
5 | چک باکس x-axis label را انتخاب کنید . در قسمت متن مرتبط، Time(s) را تایپ کنید . |
6 | کادر بررسی برچسب محور y را انتخاب کنید . در قسمت متن مرتبط، غلظت Tracer در خروجی راکتور (mol/m<sup>3</sup>) را تایپ کنید . |
7 | قسمت Legend را پیدا کنید . از لیست موقعیت ، سمت راست میانی را انتخاب کنید . |
آزمایش کنید
1 | در پنجره Model Builder ، گره Concentration in Real Reactor را گسترش دهید ، سپس روی Experiment 1 Data کلیک کنید . |
2 | در پنجره تنظیمات نمودار جدول ، Experiment را در قسمت نوشتار Label تایپ کنید . |
3 | برای گسترش بخش Legends کلیک کنید . از فهرست Legends ، Manual را انتخاب کنید . |
4 | در جدول تنظیمات زیر را وارد کنید: |
افسانه ها |
آزمایش کنید |
شبیه سازی، حدس اولیه
1 | در پنجره Model Builder ، روی Concentration in Real Reactor کلیک راست کرده و Global را انتخاب کنید . |
2 | در پنجره تنظیمات برای جهانی ، بخش داده را پیدا کنید . |
3 | از فهرست مجموعه داده ، مطالعه 1: حدس اولیه /راه حل 1 (sol1) را انتخاب کنید . |
4 | قسمت y-Axis Data را پیدا کنید . در جدول تنظیمات زیر را وارد کنید: |
اصطلاح | واحد | شرح |
5 | در قسمت Label text Simulation، Initial Guess را تایپ کنید . |
6 | برای گسترش بخش Coloring and Style کلیک کنید . از لیست Width ، 2 را انتخاب کنید . |
7 | برای گسترش بخش Legends کلیک کنید . از فهرست Legends ، Manual را انتخاب کنید . |
8 | در جدول تنظیمات زیر را وارد کنید: |
افسانه ها |
شبیه سازی، حدس اولیه |
9 | در نوار ابزار Concentration in Real Reactor ، روی ![]() |
دستورالعمل های زیر یک شکل با غلظت ردیاب در دو CSTR ایجاد می کند.
غلظت در CSTR ها
1 | در پنجره Model Builder ، در قسمت Results روی Concentration (re1) کلیک کنید . |
2 | در پنجره تنظیمات برای گروه طرح 1 بعدی ، Concentrations in CSTRs را در قسمت نوشتار Label تایپ کنید . |
3 | قسمت Plot Settings را پیدا کنید . |
4 | کادر بررسی برچسب محور y را انتخاب کنید . در قسمت متن مرتبط، غلظت Tracer (mol/m<sup>3</sup>) را تایپ کنید . |
5 | قسمت Legend را پیدا کنید . از لیست موقعیت ، سمت راست میانی را انتخاب کنید . |
جهانی 1
1 | در پنجره Model Builder ، گره Concentrations in CSTRs را گسترش دهید ، سپس روی Global 1 کلیک کنید . |
2 | در پنجره تنظیمات برای جهانی ، روی Add Expression در گوشه سمت راست بالای بخش y-Axis Data کلیک کنید . از منو، Component 1 (comp1)>Reaction Engineering – CSTR 2>re2.c_T – Concentration – mol/m³ را انتخاب کنید . |
3 | قسمت Coloring and Style را پیدا کنید . از لیست Width ، 2 را انتخاب کنید . |
4 | قسمت Legends را پیدا کنید . از فهرست Legends ، Manual را انتخاب کنید . |
5 | در جدول تنظیمات زیر را وارد کنید: |
افسانه ها |
مخزن ایده آل 1 |
مخزن ایده آل 2 |
6 | در نوار ابزار Concentrations in CSTRs ، روی ![]() |
گروه طرح سوم استفاده نخواهد شد و قابل حذف است.
تمرکز (re2)
در پنجره Model Builder ، در قسمت Results روی Concentration (re2) کلیک راست کرده و Delete را انتخاب کنید .
یک گره مطالعه جدید برای محاسبات بهینه سازی اضافه کنید.
اضافه کردن مطالعه
1 | در نوار ابزار Home ، روی ![]() |
2 | به پنجره Add Study بروید . |
3 | زیربخش مطالعات را پیدا کنید . در درخت انتخاب مطالعه ، General Studies>Time Dependent را انتخاب کنید . |
4 | روی Add Study در نوار ابزار پنجره کلیک کنید . |
5 | در نوار ابزار Home ، روی ![]() |
مطالعه 2
مرحله 1: وابسته به زمان
1 | در پنجره تنظیمات مربوط به زمان وابسته ، قسمت تنظیمات مطالعه را پیدا کنید . |
2 | در فیلد متنی زمان خروجی ، 24000 را تایپ کنید . |
برای انجام محاسبات تخمین پارامتر یک مرحله مطالعه Optimization اضافه کنید.
3 | در پنجره Model Builder ، روی Study 2 کلیک کنید . |
4 | در پنجره تنظیمات برای مطالعه ، عبارت Study 2: Parameter estimation را در قسمت نوشتار Label تایپ کنید . |
بهينه سازي
1 | در نوار ابزار مطالعه ، روی ![]() |
برای استفاده از روش بهینه سازی لونبرگ-مارکوارت انتخاب کنید. این روش برای این نوع بهینه سازی بسیار کارآمد است. زمانی که هیچ مش ایجاد نمی شود و هیچ محدودیت اضافی وجود ندارد.
2 | در پنجره تنظیمات برای بهینه سازی ، بخش Optimization Solver را پیدا کنید . |
3 | از لیست روش ، Levenberg-Marquardt را انتخاب کنید . |
از قطعات موجود مجددا استفاده خواهد شد. تولید نمودارهای پیش فرض را غیرفعال کنید.
4 | در پنجره Model Builder ، روی Study 2: Parameter estimation کلیک کنید . |
5 | در پنجره تنظیمات برای مطالعه ، قسمت تنظیمات مطالعه را پیدا کنید . |
6 | تیک Generate defaults defaults را پاک کنید . |
راه حل 2 (sol2)
1 | در نوار ابزار مطالعه ، روی ![]() |
2 | در پنجره تنظیمات برای راه حل ، روی ![]() |
نتایج
شبیه سازی، تخمین پارامتر
1 | در پنجره Model Builder ، روی Simulation، Initial Guess کلیک راست کرده و Duplicate را انتخاب کنید . |
2 | در پنجره تنظیمات برای جهانی ، Simulation, Parameter estimation را در قسمت نوشتار Label تایپ کنید. |
3 | قسمت Data را پیدا کنید . از لیست مجموعه داده ، مطالعه 2: تخمین پارامتر /راه حل 2 (sol2) را انتخاب کنید . |
4 | قسمت Legends را پیدا کنید . در جدول تنظیمات زیر را وارد کنید: |
افسانه ها |
شبیه سازی، تخمین پارامتر |
5 | در نوار ابزار Concentration in Real Reactor ، روی ![]() |
غلظت در CSTR ها
1 | در پنجره Model Builder ، در بخش Results روی Concentrations in CSTR کلیک کنید . |
2 | در پنجره Settings for 1D Plot Group ، بخش Data را پیدا کنید . |
3 | از لیست مجموعه داده ، مطالعه 2: تخمین پارامتر /راه حل 2 (sol2) را انتخاب کنید . |
4 | در نوار ابزار Concentrations in CSTRs ، روی ![]() |
پارامترهای تخمین زده شده را در جدول نمایش دهید.
ارزیابی جهانی 1
1 | در نوار ابزار نتایج ، روی ارزیابی ![]() |
2 | در پنجره تنظیمات برای ارزیابی جهانی ، بخش داده را پیدا کنید . |
3 | از لیست مجموعه داده ، مطالعه 2: تخمین پارامتر /راه حل 2 (sol2) را انتخاب کنید . |
4 | از لیست انتخاب زمان ، آخرین را انتخاب کنید . |
5 | روی Replace Expression در گوشه سمت راست بالای بخش Expressions کلیک کنید . از منو، Component 1 (comp1)>Reaction Engineering – CSTR 1>alpha – Global control variable alpha را انتخاب کنید . |
6 | روی Add Expression در گوشه سمت راست بالای بخش Expressions کلیک کنید . از منو، Component 1 (comp1)>Reaction Engineering – CSTR 1>beta – Global control variable beta را انتخاب کنید . |
7 | ![]() |