summaryrefslogtreecommitdiff
path: root/Chemical_Reactor_Design_by_P_Harriott/6-Nonideal_Flow.ipynb
diff options
context:
space:
mode:
Diffstat (limited to 'Chemical_Reactor_Design_by_P_Harriott/6-Nonideal_Flow.ipynb')
-rw-r--r--Chemical_Reactor_Design_by_P_Harriott/6-Nonideal_Flow.ipynb330
1 files changed, 330 insertions, 0 deletions
diff --git a/Chemical_Reactor_Design_by_P_Harriott/6-Nonideal_Flow.ipynb b/Chemical_Reactor_Design_by_P_Harriott/6-Nonideal_Flow.ipynb
new file mode 100644
index 0000000..086ad45
--- /dev/null
+++ b/Chemical_Reactor_Design_by_P_Harriott/6-Nonideal_Flow.ipynb
@@ -0,0 +1,330 @@
+{
+"cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 6: Nonideal Flow"
+ ]
+ },
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 6.1: Power_Consumption_at_300_rpm_speed_of_stirrer_and_blending_time.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//Harriot P., 2003, Chemical Reactor Design (I-Edition), Marcel Dekker, Inc., USA, pp 436.\n",
+"//Chapter-6 Ex6.1 Pg No.236\n",
+"//Title:Power Consumption at 300 rpm,speed of stirrer and blending time\n",
+"//====================================================================================================================\n",
+"clear\n",
+"clc\n",
+"// COMMON INPUT\n",
+"D_a=0.1;\n",
+"D_t=0.3;\n",
+"H=0.3;\n",
+"N_P=5.5;\n",
+"rho=1000;\n",
+"n=5;\n",
+"S_f=6;//Scale up factor in diameter\n",
+"P_by_V_limit=10;//Pressure per unit volume (HP/1000gal)\n",
+"n1=5;\n",
+"Da_by_Dt1=D_a/D_t;\n",
+"Da_by_Dt2=0.5;\n",
+"\n",
+"//CALCULATION (Ex6.1.a)\n",
+"P_unit_vol=(N_P*n^3*D_a^5)/(%pi*(1/4)*D_t^2*H);\n",
+"P_thousand_gal=P_unit_vol*5.067;\n",
+"t=(4/n)*(D_t/D_a)^2*(H/D_t);\n",
+"P_unit_vol_new=S_f^2*P_thousand_gal;\n",
+"\n",
+"//CALCULATION (Ex6.1.b)\n",
+"n_limit=(P_by_V_limit/P_unit_vol_new)^(1/3) *n1;//Pressure per unit vol propotional to n3\n",
+"t_inc_factor=n1/n_limit;//t inversely propotional to n\n",
+"rotational_speed=n_limit*60;//Speed in rpm\n",
+"\n",
+"//CALCULATION (Ex6.1.c)\n",
+"n2=(Da_by_Dt1/Da_by_Dt2)^(5/3)*n_limit;\n",
+"rotaional_speed=n2*60;\n",
+"t1=4*(1/Da_by_Dt1)^2*(H/D_t)*(1/n_limit);\n",
+"t2=4*(1/Da_by_Dt2)^2*(H/D_t)*(1/n2);\n",
+"\n",
+"//OUTPUT (Ex6.1.a)\n",
+"mprintf('\n OUTPUT Ex6.1.a');\n",
+"mprintf('\n==========================================================');\n",
+"mprintf('\n The Power consumption per unit volume at 300rpm = %.2f HP/1000 gal',P_thousand_gal);\n",
+"mprintf('\n\ The Power consumption scaling up sixfold in diameter = %.0f HP/1000 gal',P_unit_vol_new); \n",
+"\n",
+"\n",
+"//OUTPUT (Ex6.1.b)\n",
+"mprintf('\n\n\n OUTPUT Ex6.1.b');\n",
+"mprintf('\n==========================================================');\n",
+"mprintf('\n The speed of the stirrer = %.2f sec-1 or %.0f rpm',n_limit,rotational_speed);\n",
+"mprintf('\n Blending time increases by factor of %.2f ',t_inc_factor); \n",
+"\n",
+"//OUTPUT(Ex6.1.c)\n",
+"mprintf('\n\n\n OUTPUT Ex6.1.c');\n",
+"mprintf('\n==========================================================');\n",
+"mprintf('\n The new stirrer speed = %.2f sec-1 or %.0f rpm',n2,rotaional_speed); \n",
+"mprintf('\n The new blending time for Da/Dt ratio of 0.5 = %.1f sec',t2); \n",
+"\n",
+"//FILE OUTPUT\n",
+"fid= mopen('.\Chapter6-Ex1-Output.txt','w');\n",
+"mfprintf(fid,'\n OUTPUT Ex6.1.a');\n",
+"mfprintf(fid,'\n==========================================================');\n",
+"mfprintf(fid,'\n The Power consumption per unit volume at 300rpm = %.2f HP/1000 gal',P_thousand_gal);\n",
+"mfprintf(fid,'\n\ The Power consumption scaling up sixfold in diameter = %.0f HP/1000 gal',P_unit_vol_new);\n",
+"mfprintf(fid,'\n\n\n OUTPUT Ex6.1.b');\n",
+"mfprintf(fid,'\n==========================================================');\n",
+"mfprintf(fid,'\n The speed of the stirrer = %.2f sec-1 or %.0f rpm',n_limit,rotational_speed);\n",
+"mfprintf(fid,'\n Blending time increases by factor of %.2f ',t_inc_factor); \n",
+"mfprintf(fid,'\n\n\n OUTPUT Ex6.1.c');\n",
+"mfprintf(fid,'\n==========================================================');\n",
+"mfprintf(fid,'\n The new stirrer speed = %.2f sec-1 or %.0f rpm',n2,rotaional_speed); \n",
+"mfprintf(fid,'\n The new blending time for Da/Dt ratio of 0.5 = %.1f sec',t2);\n",
+"mclose(fid);\n",
+"//======================================================END OF PROGRAM=================================================\n",
+"//Disclaimer: In Ex6.1.c there is an arithematic error in the value of D_a/D_t. The value of D_a/D_t should be 11.4 instead of the value reported in the textbook for D_a/D_t=11.1."
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 6.2: Effect_of_diffusion_on_conversion_for_laminar_flow.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//Harriot P., 2003, Chemical Reactor Design (I-Edition), Marcel Dekker, Inc., USA, pp 436.\n",
+"//Chapter-6 Ex6.2 Pg No. 239\n",
+"//Title:Effect of diffusion on conversion for laminar flow \n",
+"//============================================================================================================\n",
+"clear\n",
+"clc\n",
+"//INPUT\n",
+"D=1*10^(-2);//Diameter of pipeline (m)\n",
+"R=D/2;//Radius (m)\n",
+"D_m=10^(-4);//Diffusivity (m2/sec)\n",
+"k=1;//Reaction rate constant (sec-1)\n",
+"\n",
+"\n",
+"//CALCULATION\n",
+"alpha=D_m/(k*(R^2));//Refer topic ('Diffusion in laminar flow reactors') Pg No.239\n",
+"\n",
+"\n",
+"//OUTPUT\n",
+"if (alpha<=0.01) \n",
+" then\n",
+" mprintf('\n The effect of radial diffusion on conversion can be neglected as alpha = %.0f',alpha )\n",
+"else\n",
+" mprintf('\n The effect of radial diffusion makes conversion almost as same as plug flow as alpha = %.0f',alpha)\n",
+"end\n",
+"\n",
+"//FILE OUTPUT\n",
+"fid= mopen('.\Chapter6-Ex2-Output.txt','w');\n",
+"if (alpha<=0.01) \n",
+" then\n",
+" mfprintf(fid,'\n The effect of radial diffusion on conversion can be neglected as alpha = %.0f',alpha )\n",
+"else\n",
+" mfprintf(fid,'\n The effect of radial diffusion makes conversion almost as same as plug flow as alpha = %.0f',alpha)\n",
+"end\n",
+"mclose(fid);\n",
+"//================================================END OF PROGRAM======================================================== "
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 6.3: Effect_of_Axial_dispersion_and_length_on_conversion.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//Harriot P., 2003, Chemical Reactor Design (I-Edition), Marcel Dekker, Inc., USA, pp 436.\n",
+"//Chapter-6 Ex6.3 Pg No. 248\n",
+"//Title:Effect of Axial dispersion and length on conversion\n",
+"//====================================================================================================================\n",
+"clear\n",
+"clc\n",
+"// COMMON INPUT\n",
+"u=1;//Superficial velocity (cm/s)\n",
+"D=2*10^(-5)//Molecular Diffusivity(cm2/s)\n",
+"Re=30;//Reynolds No.\n",
+"Pe_a=0.25;//Peclet No. corresponding Re No. from Fig 6.10\n",
+"dp=3*(10^-1);//Particle Size (cm)\n",
+"L=48;//Length of the bed (cm)\n",
+"X_A=0.93;//Conversion\n",
+"L_old=48;// Old bed length (cm)\n",
+"L_new=L_old/2;//New bed length (cm)\n",
+"\n",
+"\n",
+"\n",
+"//CALCULATION (Ex6.3.a)\n",
+"Pe_dash=Pe_a*L/dp;//Refer Pg.No.247\n",
+"one_minus_X_A=(1-X_A);\n",
+"k_rho_L_by_u1=2.65;//From Fig6.12 for given Pe_dash\n",
+"X_A1=1-exp(-k_rho_L_by_u1);\n",
+"//To increase the conversion more catalyst is needed\n",
+"k_rho_L_by_u2=2.85;//From Fig6.12\n",
+"X_A2=1-exp(-k_rho_L_by_u2);\n",
+"Percentage_excess_cat_a=((k_rho_L_by_u2-k_rho_L_by_u1)/k_rho_L_by_u1)*100;\n",
+"\n",
+"//CALCULATION(Ex6.3.b)\n",
+"k_rho_L_by_u_new=k_rho_L_by_u1/2;\n",
+"X_A_cal=(1-exp(-k_rho_L_by_u_new));//Calculated conversion\n",
+"Pe_dash_new=Pe_dash/2;\n",
+"k_rho_L_by_u_graph=1.3992;//Value obtained from Figure6.12 for the calculated conversion\n",
+"Percentage_excess_cat_b=((k_rho_L_by_u_graph-k_rho_L_by_u_new)/k_rho_L_by_u_new)*100;\n",
+"\n",
+"//OUTPUT(Ex6.3.a)\n",
+"mprintf('\n OUTPUT Ex6.3.a');\n",
+"mprintf('\n==========================================================');\n",
+"mprintf('\n The effect of axial dispersion is significant and the percentage excess of catalyst = %.0f%%',Percentage_excess_cat_a );\n",
+"\n",
+"//OUTPUT (Ex6.3.b)\n",
+"mprintf('\n\n\n OUTPUT Ex6.3.b');\n",
+"mprintf('\n==========================================================');\n",
+"mprintf('\n The effect of axial dispersion is less on reducing the bed length \n The percentage excess of catalyst = %.0f%%',Percentage_excess_cat_b );\n",
+"\n",
+"//FILE OUTPUT\n",
+"fid= mopen('.\Chapter6-Ex3-Output.txt','w');\n",
+"mfprintf(fid,'\n OUTPUT Ex6.3.a');\n",
+"mfprintf(fid,'\n==========================================================');\n",
+"mfprintf(fid,'\n The effect of axial dispersion is significant and the percentage excess of catalyst = %.0f%%',Percentage_excess_cat_a );\n",
+"mfprintf(fid,'\n\n\n OUTPUT Ex6.3.b');\n",
+"mfprintf(fid,'\n==========================================================');\n",
+"mfprintf(fid,'\n The effect of axial dispersion is less on reducing the bed length \n The percentage excess of catalyst = %.0f%%',Percentage_excess_cat_b );\n",
+"mclose(fid);\n",
+"//==============================================END OF PROGRAM=========================================================\n",
+"\n",
+"\n",
+""
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 6.4: Conversion_in_packed_bed_for_same_superficial_velocity.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"// Harriot P., 2003, Chemical Reactor Design (I-Edition), Marcel Dekker, Inc., USA, pp 436.\n",
+"//Chapter-6 Ex6.4 Pg No.251\n",
+"//Title:Conversion in packed bed for same superficial velocity\n",
+"//====================================================================================================================\n",
+"clear\n",
+"clc\n",
+"//COMMON INPUT \n",
+"L=2.5;//Lendth of bed(ft)\n",
+"X_A=0.95;//Conversion\n",
+"L_a=3;//Length of section a (ft)\n",
+"L_b=2;//Length of section b (ft)\n",
+"u_oa_by_u0=0.88;//Refer equation 3.64\n",
+"u_ob_by_u0=1.12;\n",
+"L=2.5;//(ft)\n",
+"\n",
+"\n",
+"//CALCULATION (Ex6.4.a)\n",
+"k_rho_L_by_u=log(1/(1-X_A));//First Order reactions\n",
+"//For Section a\n",
+"k_rho_L_by_u_a=k_rho_L_by_u*(L_a/L);\n",
+"X_A_section_a=(1-exp(-k_rho_L_by_u_a));\n",
+"//For Section b\n",
+"k_rho_L_by_u_b=k_rho_L_by_u*(L_b/L);//Dimensionless Group based on ideal plug flow for first order reaction\n",
+"X_A_section_b=(1-exp(-k_rho_L_by_u_b));\n",
+"X_A_Ave=(X_A_section_b+X_A_section_a)/2;\n",
+"Percent_X_A_Ave=X_A_Ave*100\n",
+"\n",
+"//CALCULATION (Ex6.4.b)\n",
+"k_rho_L_by_u=log(1/(1-X_A));//First Order reaction\n",
+"//For Section a\n",
+"k_rho_L_by_u_a=k_rho_L_by_u*(L_a/L)*(1/u_oa_by_u0);\n",
+"X_A_section_a=(1-exp(-k_rho_L_by_u_a));\n",
+"delP_a_by_alpha_u0_pow=L_a*(u_oa_by_u0);//Refer equation 3.64\n",
+"\n",
+"//For Section b\n",
+"k_rho_L_by_u_b=k_rho_L_by_u*(L_b/L)*(1/u_ob_by_u0);//Dimensionless Group based on ideal plug flow for first order reaction\n",
+"delP_b_by_alpha_u0_pow=L_b*u_ob_by_u0;\n",
+"X_A_section_b=(1-exp(-k_rho_L_by_u_b));\n",
+"X_A_avg=(u_oa_by_u0*X_A_section_a+u_ob_by_u0*X_A_section_b)/2;\n",
+"Percent_X_A_avg=X_A_avg*100;\n",
+"\n",
+"//OUTPUT(Ex6.4.a)\n",
+"mprintf('\n OUTPUT Ex6.4.a');\n",
+"mprintf('\n==========================================================');\n",
+"mprintf('\nThe average converion when each section has same superficial velocity:%0.1f%%',Percent_X_A_Ave );\n",
+"\n",
+"//OUTPUT(Ex6.4.b)\n",
+"mprintf('\n\n\n OUTPUT Ex6.4.b');\n",
+"mprintf('\n==========================================================');\n",
+"mprintf('\nThe overall conversion for different velocities:%0.1f%% ',Percent_X_A_avg );\n",
+"\n",
+"//FILE OUTPUT\n",
+"fid= mopen('.\Chapter6-Ex4-Output.txt','w');\n",
+"mfprintf(fid,'\n OUTPUT Ex6.4.a');\n",
+"mfprintf(fid,'\n==========================================================');\n",
+"mfprintf(fid,'\nThe average converion when each section has same superficial velocity:%0.1f%%',Percent_X_A_Ave );\n",
+"mfprintf(fid,'\n\n\n OUTPUT Ex6.4.b');\n",
+"mfprintf(fid,'\n==========================================================');\n",
+"mfprintf(fid,'\nThe overall conversion for different velocities:%0.1f%% ',Percent_X_A_avg );\n",
+"mclose(fid);\n",
+"//=======================================================END OF PROGRAM================================================="
+ ]
+ }
+],
+"metadata": {
+ "kernelspec": {
+ "display_name": "Scilab",
+ "language": "scilab",
+ "name": "scilab"
+ },
+ "language_info": {
+ "file_extension": ".sce",
+ "help_links": [
+ {
+ "text": "MetaKernel Magics",
+ "url": "https://github.com/calysto/metakernel/blob/master/metakernel/magics/README.md"
+ }
+ ],
+ "mimetype": "text/x-octave",
+ "name": "scilab",
+ "version": "0.7.1"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}