هموژنیزاسیون در یک راکتور شیمیایی

View Categories

هموژنیزاسیون در یک راکتور شیمیایی

10 min read

PDF

هموژنیزاسیون در یک راکتور شیمیایی
معرفی
این مثال نحوه شبیه‌سازی فرآیند همگن‌سازی دوره‌ای را در یک مدل راکتور شیمیایی وابسته به فضا نشان می‌دهد. این همگن سازی شیب غلظت را در راکتور در یک بازه زمانی تعیین شده حذف می کند.
مثال تکنیکی را نشان می‌دهد که با آن می‌توانید توقف حل‌کننده وابسته به زمان را پیاده‌سازی کنید، سپس آن را با مقدار اولیه به‌دست‌آمده بر اساس راه‌حل، دوباره راه‌اندازی کنید.
تعریف مدل
این مثال غلظت یک گونه رقیق شده را در یک راکتور مطالعه می کند. واکنش شیمیایی با سرعت واکنش kc تعریف می شود . فقط انتقال نفوذ در مثال در نظر گرفته شده است، هیچ عبارت همرفتی گنجانده نشده است.
غلظت اولیه گونه در راکتور 0 است و غلظت ثابت 1 mol/m3 در مرز پایین اعمال می شود.
همگن سازی هر 30 دقیقه انجام می شود و ایده آل فرض می شود. بنابراین، غلظت همگن به عنوان غلظت متوسط ​​در راکتور در هر بار توقف محلول محاسبه می شود. سپس هر بار که محلول دوباره راه اندازی می شود، این غلظت به عنوان شرایط اولیه اعمال می شود.
نتایج و بحث
شکل 1 توزیع غلظت را در راکتور پس از 30 دقیقه نشان می دهد. بالاترین غلظت نزدیک به مرز منبع ظاهر می شود، در حالی که کمترین غلظت در دورترین گوشه از آن است.
شکل 1: توزیع غلظت بعد از 30 دقیقه.
شکل 2 غلظت را در مرکز سطح بالایی نشان می دهد که با مختصات (0.25 متر؛ 0.25 متر؛ 0.25 متر) تعریف شده است. خط جامد غلظت را با فرآیند همگن نشان می دهد. خط قرمز نقطه چین نشان دهنده غلظت هنگام حل بدون همگن کردن است.
شکل 2: تکامل غلظت گونه در (0.25 متر، 0.25 متر، 0.25 متر)
پس از 30 دقیقه غلظت در این نقطه بسیار کمتر از مقدار متوسط ​​در راکتور است. این را می توان با جهش در غلظت با راه اندازی مجدد حل کننده مشاهده کرد.
همانطور که از شکل مشخص است، هنگام اعمال مراحل همگن سازی، می توان به مقدار حالت پایدار برای غلظت سریعتر رسید.
نکاتی درباره پیاده سازی COMSOL
کارآمدترین رویکرد برای این شبیه‌سازی، شروع با تنظیم مشکل انتشار در رابط کاربری گرافیکی COMSOL Desktop® است . سپس می توانید فایل مدل .mph را ذخیره کنید، که می توانید به راحتی آن را در MATLAB ® بارگذاری کنید، جایی که به پیاده سازی اسکریپت برای حل مشکل، از جمله مراحل همگن سازی ادامه می دهید.
توابع Wrapper استفاده شده توسط اسکریپت:
mphopen برای بارگذاری فایل مدل .mph.
mphmean برای ارزیابی میانگین غلظت در راکتور.
mphinterp برای ارزیابی غلظت در مکان های خاص.
mphglobal برای ارزیابی مقادیر جهانی در مدل.
mphplot برای نمایش نمودارها.
مسیر کتابخانه برنامه: LiveLink_for_MATLAB/Tutorials/homogenization_llmatlab
دستورالعمل های مدل سازی – MATLAB®
در این بخش توضیح دقیقی از دستوراتی که باید در خط فرمان متلب وارد کنید تا شبیه سازی را اجرا کنید، پیدا می کنید.
1
COMSOL را با MATLAB شروع کنید .
اکنون دو امکان برای ادامه دارید:
هر دستور را از مرحله 2 زیر در خط فرمان MATLAB وارد کنید.
اسکریپت مدل کامل موجود در بخش Model M-File را در یک ویرایشگر متن قرار دهید، سپس فایل را با پسوند “.m” ذخیره کنید و در نهایت این فایل را در MATLAB اجرا کنید.
2
به عنوان اولین مرحله، مدل حاوی مسئله انتشار گذرا را بارگذاری کنید:
model = mphopen(‘homogenization_llmatlab’);
توجه: برای آموزش مدل‌سازی فایل .mph homogenization_llmatlab.mph به بخش دستورالعمل‌های مدل‌سازی — COMSOL Desktop مراجعه کنید .
3
برای تعریف یک حلقه for که برای پنج تکرار اجرا می شود، نوع:
برای i = 1:5
4
اولین عملیات در حلقه for شامل محاسبه راه حل است، این کار را با دستور انجام دهید:
model.study(‘std1’).run;
برای اولین تکرار حلقه for، حل کننده پس از 30 دقیقه با توجه به پارامترهای t0 و T مشخص شده در مدل متوقف می شود. برای هر تکرار بعدی، راه حل برای 30 دقیقه دیگر اجرا می شود، زیرا شما در حال تغییر مقدار زمان شروع t0 در مراحل 7 و 8 زیر هستید.
5
برای به دست آوردن داده ها برای نمودار نشان داده شده در شکل 2 ، مقدار غلظت را در محل مشخص شده استخراج کنید. مطابق شکل زیر از تابع mphinterp استفاده کنید:
[t,c] = mphinterp(model,{‘t’,’c’},…
   ‘هماهنگ’، [25e-2;25e-2;25e-2]،…
   ‘واحد’،{‘h’، ‘mol/m^3’});
اکنون می توانید میانگین غلظت همگن شده را که مقدار کل ماده است، با ادغام غلظت روی حجم محاسبه کرده و آن را بر حجم راکتور تقسیم کنید.
6
غلظت متوسط ​​را با تایپ دستورات زیر ارزیابی کنید:
c_av = mphmean(model,’c’,’volume’,’solnum’,’end’);
7
برای بازیابی زمان توقف فعلی از راه حل، از دستور mphglobal مطابق با زیر استفاده کنید:
t0 = mphglobal(model,’t’,’solnum’,’end’);
با متغیرهای MATLAB c_av و t0 یک غلظت اولیه و زمان شروع جدید برای شروع مجدد بعدی حلگر، در تکرار بعدی حلقه for تعریف کنید.
8
این کار را با تایپ کردن انجام دهید:
model.physics(‘tds’).feature(‘init1’).set(‘initc’, 1, c_av);
model.param.set(‘t0’,t0);
9
دنباله زیر را تایپ کنید تا نمودار غلظت نسبت به زمان به روز شود و پیامی نمایش داده شود که عدد تکرار را نشان می دهد:
نمودار (t,c)
صبر کن
disp(sprintf(‘پایان تکرار شماره%d’,i));
10
برای بستن نوع حلقه for:
پایان
11
با تایپ دستور زیر می‌توانید تنظیمات نمودار، مانند عنوان و برچسب‌ها را برای محور x و محور y اضافه کنید:
عنوان (‘تمرکز در (25e-2;25e-2;25e-2) در مقابل زمان’)
xlabel(‘[h]’);
ylabel(‘[mol/m^3]’);
12
برای مقایسه نتیجه با شبیه سازی بدون مرحله همگن سازی، اکنون می توانید زمان شروع و توقف و غلظت اولیه شبیه سازی را با دستورات تغییر دهید:
model.param.set(‘t0’,0);
model.param.set(‘tf’,’2.5[h]’);
model.physics(‘tds’).feature(‘init1’).set(‘initc’, 1, 0);
13
برای حل دوباره تایپ کنید:
model.study(‘std1’).run;
14
اکنون غلظت را ارزیابی کرده و نتیجه را بر روی شکل فعلی رسم کنید:
[t,c] = mphinterp(model,{‘t’,’c’},…
   ‘هماهنگ’، [25e-2;25e-2;25e-2]،…
   ‘واحد’،{‘h’، ‘mol/m^3’});
نمودار (t,c,’r-.’)
15
برای بازتولید نمودار در شکل 1 ، همچنین می توانید یک گروه نمودار را در مدل تعریف کنید:
model.result.create(‘pg1’, ‘PlotGroup3D’);
model.result(‘pg1’).feature.create(‘surf1’, ‘Surface’);
model.result(‘pg1’).set(‘solnum’, ’11’);
16
در نهایت نمودار را در شکل جدید متلب نمایش دهید:
شکل
mphplot (model,’pg1′,’rangenum’,1)
مدل M-FILE
در زیر اسکریپت کامل مدل را مشاهده می کنید. می توانید آن را کپی کرده و در یک ویرایشگر متن جایگذاری کنید و با پسوند “.m” ذخیره کنید. برای اجرای اسکریپت در MATLAB مطمئن شوید که مسیر پوشه حاوی اسکریپت در متلب تنظیم شده است، سپس نام فایل را بدون پسوند “.m” در اعلان MATLAB تایپ کنید.
model = mphopen(‘homogenization_llmatlab’);
برای i = 1:5
   model.study(‘std1’).run;
   [t,c] = mphinterp(model,{‘t’,’c’},…
      ‘هماهنگ’، [25e-2;25e-2;25e-2]،…
      ‘واحد’،{‘h’، ‘mol/m^3’});
   c_av = mphmean(model,’c’,’volume’,’solnum’,’end’);
   t0 = mphglobal(model,’t’,’solnum’,’end’);
   model.physics(‘tds’).feature(‘init1’).set(‘initc’, 1, c_av);
   model.param.set(‘t0’,t0);
   نمودار (t,c)
   صبر کن
   disp(sprintf(‘پایان تکرار شماره%d’,i));
پایان
عنوان (‘تمرکز در (25e-2;25e-2;25e-2) در مقابل زمان’)
xlabel(‘[h]’);
ylabel(‘[mol/m^3]’)
model.param.set(‘t0’,0);
model.param.set(‘tf’,’2.5[h]’);
model.physics(‘tds’).feature(‘init1’).set(‘initc’, 1, 0);
model.study(‘std1’).run;
[t,c] = mphinterp(model,{‘t’,’c’},…
   ‘هماهنگ’، [25e-2;25e-2;25e-2]،…
   ‘واحد’،{‘h’، ‘mol/m^3’});
نمودار (t,c,’r-.’)
model.result.create(‘pg1’, ‘PlotGroup3D’);
model.result(‘pg1’).feature.create(‘surf1’, ‘Surface’);
model.result(‘pg1’).set(‘solnum’, ’11’);
شکل
mphplot (model,’pg1′,’rangenum’,1)
دستورالعمل های مدل سازی – COMSOL Desktop
از COMSOL Desktop برای تنظیم شبیه سازی راکتور شیمیایی استفاده کنید. بعداً می توانید این مثال را با استفاده از LiveLink™ در MATLAB بارگذاری کنید تا پیاده سازی مدل را ادامه دهید.
از منوی File ، New را انتخاب کنید .
جدید
در پنجره جدید ، روی  Model  Wizard کلیک کنید .
مدل جادوگر
1
در پنجره Model  Wizard ، روی  3D کلیک کنید .
2
در درخت Select  Physics ، Chemical  Species  Transport>Transport  of  Diluted  Species  (tds) را انتخاب کنید .
3
روی افزودن کلیک کنید .
4
 روی مطالعه کلیک کنید .
5
در درخت انتخاب  مطالعه ، General  Studies>Time  Dependent را انتخاب کنید .
6
 روی Done کلیک کنید .
تعاریف جهانی
پارامترهای 1
1
در پنجره Model  Builder ، در قسمت Global  Definitions روی Parameters  1 کلیک کنید .
2
در پنجره تنظیمات برای پارامترها ، بخش پارامترها را پیدا کنید .
3
در جدول تنظیمات زیر را وارد کنید:
 
نام
اصطلاح
ارزش
شرح
L
50[cm]
0.5 متر
طول هندسه
D
2e-5[m^2/s]
2E-5 متر مربع در ثانیه
ضریب انتشار
c0
1[mol/m^3]
1 mol/m³
غلظت کاربردی
ک
5e-11[1/s]
5E-11 1/s
سرعت واکنش
t0
0
0
زمان اولیه
dt
3 [دقیقه]
180 s
مرحله زمانی خروجی
تی
30 دقیقه]
1800 s
دوره همگن شدن
tf
t0 + T
1800 s
زمان محاسباتی نهایی
هندسه 1
بلوک 1 (blk1)
1
در نوار ابزار Geometry ، روی  Block کلیک کنید .
2
در پنجره تنظیمات برای Block ، قسمت Size  and  Shape را پیدا کنید .
3
در قسمت متن Width ، L را تایپ کنید .
4
در قسمت Depth text، L را تایپ کنید .
5
در قسمت متن ارتفاع ، L/2 را تایپ کنید .
صفحه کار 1 (wp1)
1
در نوار ابزار هندسه ، روی صفحه  کار  کلیک کنید .
2
در پنجره تنظیمات برای صفحه کار  ، روی نمایش صفحه کار کلیک کنید .
صفحه کار 1 (wp1)> هندسه صفحه
در پنجره Model  Builder ، روی صفحه  هندسه کلیک کنید .
صفحه کار 1 (wp1)> قوس دایره ای 1 (ca1)
1
در نوار ابزار Work Plane ، روی  More  Primitives کلیک کنید و Circular  Arc را انتخاب کنید .
2
در پنجره تنظیمات برای قوس دایره ای  ، قسمت Properties را پیدا کنید .
3
از لیست Specify ، Endpoints  و  زاویه شروع  را انتخاب کنید .
4
قسمت Starting  Point را پیدا کنید . در قسمت نوشتار xw ، 4/5*L را تایپ کنید .
5
قسمت Endpoint را پیدا کنید . در قسمت متن yw ، 4/5*L را تایپ کنید .
فرم اتحادیه (فین)
در پنجره Model  Builder ، در قسمت Component   (comp1)>Geometry  1 روی Form  Union  (fin) کلیک راست کرده و Build  Selected را انتخاب کنید .
حمل و نقل گونه های رقیق شده (TDS)
ویژگی های حمل و نقل 1
1
در پنجره Model  Builder ، در قسمت Component   (comp1)>Transport  of  Diluted  Species  (tds) روی Transport  Properties  1 کلیک کنید .
2
در پنجره تنظیمات برای ویژگی های حمل و نقل  ، بخش Diffusion را پیدا کنید .
3
در قسمت متن c ، D را تایپ کنید .
واکنش ها 1
1
در نوار ابزار Physics ، روی  Domains کلیک کنید و Reactions را انتخاب کنید .
2
فقط دامنه 1 را انتخاب کنید.
3
در پنجره تنظیمات برای واکنش‌ها ، بخش نرخ‌های واکنش  را پیدا کنید .
4
در قسمت متن Rc ، k*c را تایپ کنید .
تمرکز 1
1
در نوار ابزار Physics ، روی  Boundaries کلیک کنید و Concentration را انتخاب کنید .
2
فقط مرز 3 را انتخاب کنید.
3
در پنجره تنظیمات برای تمرکز ، بخش تمرکز را پیدا کنید .
4
تیک گزینه Species  را انتخاب کنید .
5
در قسمت متنی 0,c ، c0 را تایپ کنید .
مش 1
چهار وجهی رایگان 1
در نوار ابزار Mesh ، روی  Free  Tetrahedral کلیک کنید .
سایز 1
1
روی Free  Tetrahedral  کلیک راست کرده و Size را انتخاب کنید .
2
در پنجره تنظیمات برای اندازه ، قسمت انتخاب موجودیت هندسی  را پیدا کنید .
3
از لیست سطح نهاد هندسی  ، Boundary را انتخاب کنید .
4
فقط مرز 3 را انتخاب کنید.
5
بخش اندازه عنصر  را پیدا کنید . از لیست از پیش تعریف شده ، Extra fine را انتخاب کنید .
6
 روی ساخت  همه کلیک کنید .
مطالعه 1
مرحله 1: وابسته به زمان
1
در پنجره Model  Builder ، در بخش مطالعه  1 ، روی Step  1:  Time  Dependent کلیک کنید .
2
در پنجره تنظیمات مربوط به زمان  وابسته ، قسمت تنظیمات مطالعه  را پیدا کنید .
3
در قسمت متن زمان خروجی ،  range(t0,dt,tf) را تایپ کنید .
مدل را ذخیره کنید
1
اکنون می توانید مدل را در قالب COMSOL ذخیره کنید، از منوی File گزینه Save را انتخاب کنید .
2
به دایرکتوری مراجعه کنید که کدام مسیر در MATLAB تنظیم شده است و domain_activation_llmatlab را در قسمت متن فایل نام وارد کنید .
3
روی ذخیره کلیک کنید .