PDF

Tubular Reactor with Nonisothermal Cooling Jacket
Introduction
In this simple example, study an elementary, exothermic, and irreversible reaction in a tubular reactor (in a liquid phase and laminar flow regime). The reactor keeps its temperature down via a cooling jacket. In this model, you investigate the reactor’s steady-state behavior.
The Model Definition section provides a general description of the complete reactor model, whereas the Modeling Instructions detail how to set up and solve a nonisothermal reactor model that accounts for the cooling jacket.
This model is based on the example in Ref. 1.
Model Definition
Reaction
The reaction is a conversion of species A, B, and C in liquid.
(1)
A is the notation for propylene oxide, B is water, and C is propylene glycol. The reaction kinetics are first order in regard to the concentration of A.
Geometry
Figure 1 illustrates the model geometry. We assume that the variations in angular direction around the central axis are negligible, and therefore the model can be axisymmetric.
Figure 1: Geometry for the two-dimensional rotationally symmetric model.
The system is described by a set of differential equations on a 2D surface that represents a cross section of the tubular reactor in the rz-plane. The borders of the surface represent the inlet, outlet, reactor wall, and centerline. Assuming that the diffusivity for the three species is of the same magnitude, you can model the reactor using three differential equations: one mass balance for one of the species (as noted in the next section, mass balances are not necessary for the other two species); one heat balance for the reactor core; and one heat balance for the heating jacket. Due to rotational symmetry, the software only needs to solve these equations for half of the domain shown in Figure 1.
Model Equations
You describe the mass balances and heat balances in the reactors with partial differential equations (PDEs) as given in the Transport of Diluted Species and Heat Transfer in Fluids interfaces, while one ordinary differential equation (ODE) is required for the heat balance in the cooling jacket. The latter equation is set up with a Coefficient Form Boundary PDE. The equations are defined as follows.
Mass Balance for Species A
(2)
where Dp denotes the diffusion coefficient, CA is the concentration of species A, U is the flow velocity, R gives the radius of the reactor, and rA is the reaction rate.
In this example, we assume that the species A, B, and C have the same diffusivity, which implies that we must solve only one material balance. We know the other species’ concentrations through stoichiometry.
Mass Balance Boundary Conditions
Inlet (z = 0)
The boundary condition selected for the outlet states that convection dominates transport out of the reactor. Thus, this condition keeps the outlet boundary open and does not set any restrictions on the concentration.
Outlet (z = L)
where L denotes the length of the reactor.
Energy Balance Inside the Reactor
(3)
where k denotes the thermal conductivity, T is temperature, ρ is density, CP equals the heat capacity, and ΔHRx is the reaction enthalpy.
Energy Balance Boundary Conditions
Inlet (z = 0)
where Ta denotes the constant temperature in the cooling jacket.
As for the mass balance, choose the boundary condition at the outlet for the energy balance such that it keeps the outlet boundary open. This condition sets only one restriction: the heat transport out of the reactor is purely convective.
Outlet (z = L)
Energy Balance of the Coolant in the Cooling Jacket
Here, we assume that only axial temperature variations are present in the cooling jacket. This assumption gives a single ODE for the heat balance:
where Tj is the coolant temperature, mc is the mass flow rate of the coolant, CPc represents its heat capacity, and Uk gives the heat transfer coefficient between the reactor and the cooling jacket. You can neglect the contribution of heat conduction in the cooling jacket and thus assume that heat transport takes place only through convection.
Boundary Condition for the Cooling Jacket
You can describe the cooling jacket with a 1D line. Therefore, you need only an inlet boundary condition.
Inlet (z = 0)
Model Parameters
You can define the model’s input data either as constants or as logical expressions. To define the constant’s name, use the left-hand side of the equality in the following list (for example, Diff, for the diffusivity of all species). To define the expression, use the value on the right-hand side of the equality (for example, 1E-9, for Diff).
Activation energy, E = 75362 J/mol
Frequency factor, A = 16.96E12 1/h
Heat of reaction, ΔHRx, dHrx = -84666 J/mol
Total flow rate, v0 = 0.1 m3/s
Concentration B at inlet, cB0 = 43210 mol/m3
Heat capacity at inlet, Cp0 = (146.54*cA0_po+75.36*cB0+81.095*cMe0)/rho0 J/(kg·K) (here, the numerical factors are the molar specific heat values in the unit J/(mol·K))
Density at inlet, rho0 = cA0_po*M_po+cB0_po*M_w+cMe0_po*M_po kg/m3
Density, propylene oxide, rho_po_p = 830 kg/m3
Density, methanol, rho_m_p = 791.3 kg/m3
Density, water, rho_w_p = 1000 kg/m3
The following section lists the definitions for the model expressions. Again, to put each expression in COMSOL Multiphysics form, use the left-hand side of the equality (for instance, u0) for the variable’s Name. Use the right-hand side of the equality (for instance, v0/(pi*Ra^2)) for its Expression.
which you define in COMSOL Multiphysics as u0 = v0/(pi*Ra^2).
becomes uz = 2*u0*(1-(r/Ra)^2).
which in COMSOL Multiphysics form is xA = (cA0-cA)/cA0.
which in COMSOL Multiphysics form becomes cB = cB0-cA0*xA.
which becomes cC = cA0*xA.
which in COMSOL Multiphysics form is rA = -A*exp(-E/R_const/T)*cA.
which in COMSOL Multiphysics form is Q = -rA*dHrx.
Results
The following figures collect the results as shown in Ref. 1.
Surface plots for the surface temperature and conversion are shown in Figure 2 and Figure 4. These show that where the temperature is low, little conversion takes place and vice versa. This is because the rate of the reaction is temperature dependent. The low temperature closest to the wall is due to the coolant.
Figure 3 and Figure 5 show the temperature and conversion surface profiles at three locations along the length of the reactor. The further along the reactor the reactants travel, the more reaction takes place and the higher the temperature becomes. The impact of the coolant is shown in these figures as well.
Figure 2: Temperature surface.
Figure 3: Radial temperature surface profiles.
Figure 4: Conversion surface.
Figure 5: Radial conversion surface profiles.
Exercises
Try these example exercises with the model to better understand the system:
1
2
3
Reference
1. S. Fogler, Elements of Chemical Reaction Engineering 4th ed., p. 557, Example 8–12 Radial Effects in Tubular Reactor, Prentice Hall, 2005.
Application Library path: COMSOL_Multiphysics/Chemical_Engineering/tubular_reactor
Modeling Instructions
When you start COMSOL Multiphysics, you are greeted by the Model Wizard. Here, you choose the dimension of your model geometry as well as the physics interfaces required. You can return to the Model Wizard later in the modeling process if you want to expand your model to include additional physics interfaces.
From the File menu, choose New.
New
In the New window, click  Model Wizard.
Model Wizard
1
In the Model Wizard window, click  2D Axisymmetric.
2
In the Select Physics tree, select Chemical Species Transport>Transport of Diluted Species (tds).
This sets up the required mass balance equation for species A.
3
Click Add.
4
In the Concentration text field, type cA.
cA is the dependent variable name.
5
In the Select Physics tree, select Heat Transfer>Heat Transfer in Fluids (ht).
6
Click Add.
Selecting this physics interface adds an energy balance to the model.
Finally, select the Coefficient Form Boundary PDE to model the cooling jacket. Tc is the temperature of the coolant.
7
In the Select Physics tree, select Mathematics>PDE Interfaces>Lower Dimensions>Coefficient Form Boundary PDE (cb).
8
Click Add.
9
In the Dependent variables table, enter the following settings:
10
Click  Select Dependent Variable Quantity.
11
In the Physical Quantity dialog box, type temperature in the text field.
12
Click  Filter.
13
In the tree, select General>Temperature (K).
14
15
In the Model Wizard window, In the Source term quantity table, enter the following settings:
16
click  Study.
17
In the Select Study tree, select General Studies>Stationary.
The Stationary analysis type lets you investigate the steady-state behavior of the reactor.
18
Geometry 1
Start by defining the reactor geometry. In 2D axisymmetry, the representation of the tubular reactor is reduced to a simple rectangle.
Rectangle 1 (r1)
1
In the Geometry toolbar, click  Rectangle.
The geometry is automatically drawn as you leave the Geometry node. You can also click the Build All button in the Settings toolbar.
2
In the Settings window for Rectangle, locate the Size and Shape section.
3
In the Width text field, type 0.1.
4
Click  Build All Objects.
5
Click the  Zoom Extents button in the Graphics toolbar.
Root
Now, move on to define model-specific constants and expressions. You can type in constant names and their values in the Parameters section. Note that you can enter units enclosed in brackets after the constant values. This can be very useful, as the software is able to keep track of unit consistency throughout the model setup procedure.
In this case, the model parameters are available in a text file that is imported.
Global Definitions
Parameters 1
1
In the Model Builder window, under Global Definitions click Parameters 1.
2
In the Settings window for Parameters, locate the Parameters section.
3
Click  Load from File.
4
Just as with the model constants, you will find it convenient to group user-defined expressions in a list. You can type in expressions that contain constants from the Parameters list as well as dependent variables that you solve for; for example, cA.
Definitions
In this case, the model variables are available in a text file that is imported.
Variables 1
1
In the Home toolbar, click  Variables and choose Local Variables.
2
In the Settings window for Variables, locate the Variables section.
3
Click  Load from File.
4
Transport of Diluted Species (tds)
In the next step of the model setup, you will specify the parameters and source terms needed for the mass balance equation defined for species A. As you click the Transport of Diluted Species node, the Equations section of the Settings window will tell you which equations are being solved for. The Domains section shows a list of the geometry domains to which the equations apply. Note that you can change the mass transport mechanisms included in the mass balance equation through selections in the Transport Mechanism section. This can be done at any time in the modeling process.
Moving on to the Transport Properties node, you are expected to provide input defining the velocity field of the reacting mixture as well as the diffusivity of species A. In this model the velocity field is given by an expression describing a parabolic laminar flow profile. The variable names you type in have previously been defined in the Variables section and the Parameters section. The velocity field could also be calculated by COMSOL Multiphysics using a Fluid Flow interface.
Transport Properties 1
1
In the Model Builder window, under Component 1 (comp1)>Transport of Diluted Species (tds) click Transport Properties 1.
2
In the Settings window for Transport Properties, locate the Convection section.
3
Specify the u vector as
4
Locate the Diffusion section. In the DcA text field, type Diff.
Initial Values 1
1
In the Model Builder window, click Initial Values 1.
2
In the Settings window for Initial Values, locate the Initial Values section.
3
In the cA text field, type cA0.
At this point, right-click the Transport of Diluted Species node, select a Reactions feature and associate it with the reactor domain. Click the reactor domain to highlight it in red. Right-clicking the same domain changes the color to blue, meaning the domain is selected. The number of selected domains appears in the Selection list of the Reactions node. This adds a sink term to the mass balance equations that takes the depletion of species A through chemical reaction into account.
Reactions 1
1
In the Physics toolbar, click  Domains and choose Reactions.
2
3
In the Settings window for Reactions, locate the Reaction Rates section.
4
In the RcA text field, type rA.
Now that the domain equations have been defined for the model, it is time to set the boundary conditions. First, you will select a concentration inflow condition at the inlet boundary.
Concentration 1
1
In the Physics toolbar, click  Boundaries and choose Concentration.
2
3
In the Settings window for Concentration, locate the Concentration section.
4
Select the Species cA check box.
5
In the c0,cA text field, type cA0.
Outflow 1
1
In the Physics toolbar, click  Boundaries and choose Outflow.
2
Assigning the Outflow condition to the outlet boundary imposes n·Dc = 0, that is, the transport of mass across the boundary is dominated by convection. Note that the mathematical representation of the boundary conditions is displayed in the Equations section of the Settings window. The boundary conditions for the axis of symmetry as well as the no flux condition for the reactor wall are set by default.
This concludes the definition of the mass balance for species A. Next, set up the Heat Transfer interface.
Heat Transfer in Fluids (ht)
Fluid 1
1
In the Model Builder window, under Component 1 (comp1)>Heat Transfer in Fluids (ht) click Fluid 1.
2
In the Settings window for Fluid, locate the Heat Convection section.
3
Specify the u vector as
In addition to the velocity field, the Heat Transfer in Fluids feature asks for the thermal conductivity, density, and heat capacity of the fluid.
4
Locate the Heat Conduction, Fluid section. From the k list, choose User defined. In the associated text field, type ke.
5
Locate the Thermodynamics, Fluid section. From the Fluid type list, choose Gas/Liquid.
6
From the ρ list, choose User defined. In the associated text field, type rho0.
7
From the Cp list, choose User defined. In the associated text field, type cpm.
8
From the γ list, choose User defined.
Initial Values 1
1
In the Model Builder window, click Initial Values 1.
2
In the Settings window for Initial Values, locate the Initial Values section.
3
In the T text field, type T0.
Heat Source 1
1
In the Physics toolbar, click  Domains and choose Heat Source.
Add a Heat Source feature to include the effect of the exothermic reactions to the heat balance.
2
3
In the Settings window for Heat Source, locate the Heat Source section.
4
In the Q0 text field, type Q.
Next, add the boundary conditions specifying a temperature at the inlet, the heat flux between the reactor and cooling jacket, and an outflow condition at the outlet.
Temperature 1
1
In the Physics toolbar, click  Boundaries and choose Temperature.
2
3
In the Settings window for Temperature, locate the Temperature section.
4
In the T0 text field, type T0.
Heat Flux 1
1
In the Physics toolbar, click  Boundaries and choose Heat Flux.
2
3
In the Settings window for Heat Flux, locate the Heat Flux section.
4
In the q0 text field, type -Uk*(T-Tj).
Outflow 1
1
In the Physics toolbar, click  Boundaries and choose Outflow.
2
Finally, add an energy balance describing the temperature distribution in the cooling jacket.
Coefficient Form Boundary PDE (cb)
1
In the Model Builder window, under Component 1 (comp1) click Coefficient Form Boundary PDE (cb).
2
In the Settings window for Coefficient Form Boundary PDE, locate the Boundary Selection section.
3
4
Click  Remove from Selection.
5
Coefficient Form PDE 1
1
In the Model Builder window, under Component 1 (comp1)>Coefficient Form Boundary PDE (cb) click Coefficient Form PDE 1.
2
In the Settings window for Coefficient Form PDE, locate the Diffusion Coefficient section.
3
In the c text field, type 0.
4
Locate the Source Term section. In the f text field, type 2*pi*Ra*Uk*(T-Tj).
5
Click to expand the Convection Coefficient section. Specify the β vector as
Dirichlet Boundary Condition 1
1
In the Physics toolbar, click  Points and choose Dirichlet Boundary Condition.
The only required boundary condition is the temperature at the inlet of the jacket, Ta0.
2
3
In the Settings window for Dirichlet Boundary Condition, locate the Dirichlet Boundary Condition section.
4
In the r text field, type Ta0.
This completes the setup of the physics interfaces. The next step of the modeling process involves meshing.
Mesh 1
Following the steps below, you will discretize the geometry with a mesh. The software uses the mesh when applying the finite element method to numerically solve the differential equations. In this particular model, you will create a mapped mesh. This meshing technique is often a good choice for simple geometries as it allows detailed control over the mesh distribution. The mesh is dense near the reactor inlet and reactor outer wall. This is needed to resolve the sharp concentration and temperature gradients expected when the reactor is run under nonisothermal conditions.
Mapped 1
In the Mesh toolbar, click  Mapped.
Distribution 1
1
Right-click Mapped 1 and choose Distribution.
First set up 50 vertical mesh lines by selecting the inlet and outlet boundaries and using predefined distribution settings. Then, in the same fashion, set up the horizontal lines to complete the mapped mesh.
2
3
In the Settings window for Distribution, locate the Distribution section.
4
From the Distribution type list, choose Predefined.
5
In the Number of elements text field, type 50.
6
In the Element ratio text field, type 0.01.
7
From the Growth rate list, choose Exponential.
8
Select the Reverse direction check box.
Distribution 2
1
In the Model Builder window, right-click Mapped 1 and choose Distribution.
2
3
In the Settings window for Distribution, locate the Distribution section.
4
From the Distribution type list, choose Predefined.
5
In the Number of elements text field, type 200.
6
In the Element ratio text field, type 0.01.
7
From the Growth rate list, choose Exponential.
8
Select the Reverse direction check box.
9
In the Model Builder window, right-click Mesh 1 and choose Build All.
The figure below shows the created mesh, containing 10,000 elements.
Study 1
The model will be solved using two study steps. First, the software solves for the mass balance with the temperature kept constant. The computed solution is then used as an initial guess when solving the coupled mass and energy balance equations. This step-wise approach is often useful for tightly coupled equation systems, as a good initial guess helps to improve numerical convergence. It is straightforward to set up the mentioned solver sequence by defining two separate study steps under the Study 1 node.
The Study 1 node has a single Stationary step set up as a subnode. This study was generated as a consequence of selections in the Model Wizard, initiating the model building process. To set up a two-step solution process, add a second Stationary step to the Study 1 node.
Stationary 2
1
In the Study toolbar, click  Study Steps and choose Stationary>Stationary.
Keep the default settings for this study step, which implies solving for all dependent variables; the automatically generated solver settings are defined so as to solve for all dependent variables in each step.
To solve only for the concentration of A in the first step, follow the instructions below.
Step 1: Stationary
1
In the Model Builder window, click Step 1: Stationary.
2
In the Settings window for Stationary, locate the Physics and Variables Selection section.
3
In the table, clear the Solve for check box for Heat Transfer in Fluids (ht).
4
In the Study toolbar, click  Compute.
The following instructions produce Figure 1 through Figure 4.
The default plot does not show the results as in Ref. 1. These plots instead require setting up two kinds of datasets: Cut Line 2D and Mirror 2D datasets.
Results
Cut Line 2D 1
1
In the Results toolbar, click  Cut Line 2D.
2
In the Settings window for Cut Line 2D, locate the Line Data section.
3
In row Point 2, set R to Ra.
4
Select the Additional parallel lines check box.
5
In the Distances text field, type 0.5*L 1*L.
Mirror 2D 1
In the Results toolbar, click  More Datasets and choose Mirror 2D.
Start by making the Mirror 2D plots. Start with the Temperature Mirror 2D plot, Figure 1.
Temperature (Mirrored)
1
In the Results toolbar, click  2D Plot Group.
2
In the Settings window for 2D Plot Group, type Temperature (Mirrored) in the Label text field.
3
Locate the Data section. From the Dataset list, choose Mirror 2D 1.
4
Click to expand the Title section. From the Title type list, choose Manual.
5
In the Title text area, type Temperature Surface.
6
Locate the Plot Settings section.
7
Select the x-axis label check box. In the associated text field, type Radial location (m).
8
Select the y-axis label check box. In the associated text field, type Axial location (m).
Surface 1
1
Right-click Temperature (Mirrored) and choose Surface.
2
In the Settings window for Surface, click Replace Expression in the upper-right corner of the Expression section. From the menu, choose Component 1 (comp1)>Heat Transfer in Fluids>Temperature>T - Temperature - K.
3
Click the  Zoom Extents button in the Graphics toolbar.
4
In the Temperature (Mirrored) toolbar, click  Plot.
Duplicate the Temperature Mirror 2D plot to make the Conversion Mirror 2D plot, Figure 3.
Conversion
1
In the Model Builder window, right-click Temperature (Mirrored) and choose Duplicate.
2
In the Settings window for 2D Plot Group, type Conversion in the Label text field.
3
Locate the Title section. In the Title text area, type Conversion Surface.
Surface 1
1
In the Model Builder window, expand the Conversion node, then click Surface 1.
2
In the Settings window for Surface, click Replace Expression in the upper-right corner of the Expression section. From the menu, choose Component 1 (comp1)>Definitions>Variables>xA - Conversion species A.
3
Click the  Zoom Extents button in the Graphics toolbar.
4
In the Conversion toolbar, click  Plot.
Continue with the 2D Cut Line plots. First, create the Temperature plot with a 1D Plot Group with a Line Graph, Figure 2.
Temperature, 1D
1
In the Home toolbar, click  Add Plot Group and choose 1D Plot Group.
2
In the Settings window for 1D Plot Group, type Temperature, 1D in the Label text field.
3
Locate the Data section. From the Dataset list, choose Cut Line 2D 1.
4
Click to expand the Title section. From the Title type list, choose Manual.
5
In the Title text area, type Radial Temperature Profiles.
6
Locate the Plot Settings section.
7
Select the x-axis label check box. In the associated text field, type Radial location (m).
8
Select the y-axis label check box. In the associated text field, type Temperature (K).
Line Graph 1
1
Right-click Temperature, 1D and choose Line Graph.
2
In the Settings window for Line Graph, click Replace Expression in the upper-right corner of the y-Axis Data section. From the menu, choose Component 1 (comp1)>Heat Transfer in Fluids>Temperature>T - Temperature - K.
3
Click to expand the Coloring and Style section. Find the Line style subsection. From the Line list, choose Cycle.
4
From the Color list, choose Black.
5
Click to expand the Legends section. Select the Show legends check box.
6
From the Legends list, choose Manual.
7
Temperature, 1D
1
In the Model Builder window, click Temperature, 1D.
2
In the Settings window for 1D Plot Group, locate the Legend section.
3
From the Position list, choose Lower left.
4
In the Temperature, 1D toolbar, click  Plot.
Duplicate the Temperature 2D Cut Line plot to make a Conversion 2D Cut Line plot, Figure 4.
Conversion, 1D
1
Right-click Temperature, 1D and choose Duplicate.
2
In the Settings window for 1D Plot Group, type Conversion, 1D in the Label text field.
3
Locate the Plot Settings section. In the y-axis label text field, type Conversion.
Line Graph 1
1
In the Model Builder window, expand the Conversion, 1D node, then click Line Graph 1.
2
In the Settings window for Line Graph, click Replace Expression in the upper-right corner of the y-Axis Data section. From the menu, choose Component 1 (comp1)>Definitions>Variables>xA - Conversion species A.
Conversion, 1D
1
In the Model Builder window, click Conversion, 1D.
2
In the Settings window for 1D Plot Group, locate the Legend section.
3
From the Position list, choose Upper left.
4
In the Conversion, 1D toolbar, click  Plot.
Fix the naming of Plot Group 5, which shows the temperature in the cooling jacket.
Temperature cooling jacket
1
In the Model Builder window, under Results click 2D Plot Group 5.
2
In the Settings window for 2D Plot Group, type Temperature cooling jacket in the Label text field.
Line 1
1
In the Model Builder window, expand the Temperature cooling jacket node, then click Line 1.
2
In the Settings window for Line, locate the Coloring and Style section.
3
From the Line type list, choose Tube.
4
In the Tube radius expression text field, type 3.
5
In the Temperature cooling jacket toolbar, click  Plot.
Last, you can select a model thumbnail by following these steps.
Concentration, 3D (tds)
1
In the Model Builder window, under Results click Concentration, 3D (tds).
2
In the Concentration, 3D (tds) toolbar, click  Plot.
Root
1
In the Model Builder window, click the root node.
2
In the root node’s Settings window, locate the Presentation section.
3
Find the Thumbnail subsection. Click Set from Graphics Window.