PDF

Crystallization of Benzoic Acid in a Mixed Suspension, Mixed Product Removal Crystallizer
Introduction
Crystallization is a key separation process in chemical engineering. Hundreds of millions of tons of materials are produced by crystallization yearly. Some examples of materials produced by crystallization include sodium chloride, sodium sulphates and sucrose. A main motivation for using crystallization is that separating a product from a solution by crystallizing it out of solution usually requires less energy than evaporating the solvent.
Crystallization takes place in two steps. First, a crystal nuclei must form (nucleation). Second, the nuclei grows by deposition of more crystal material (growth). The driving force for crystallization is the degree of supersaturation. Supersaturation can be achieved for example by cooling the solution. Upon cooling, the solution becomes supersaturated, and crystallization can begin. The key objective in designing and operating a crystallizer is to control the crystal size distribution. For example, in the crystallization of a pharmaceutical product, the size of the crystals formed will determine the time the product will take to dissolve in the stomach of a patient.
In this example, the crystallization of benzoic acid is modeled in an idealized continuous crystallizer known as a “mixed suspension, mixed product removal reactor”. A 0D model is defined, and a population balance equation is solved to calculate the crystal size distribution and the mean particle size under different conditions. The model is based on a paper by Morris and others (Ref. 1). Figure 1 shows a sketch of the crystallizer setup.
Figure 1: Sketch of the MSMPR setup. The crystallizer is kept at a temperature below that of the feed to create supersaturation.
Model Definition
The crystallization of benzoic acid is modeled in 0D. The crystallizer and the feed vessel are both assumed to be perfectly mixed and operated in steady state. Kinetic parameters fitted to experimental data in Ref. 1 are used.
For an ideal MSMPR crystallizer, the analytical solution to the population balance equation is
(1)
where n is the population density, n0 is the nuclei population density, L is the crystal size, G is the crystal growth rate, and τ is the mean residence time. The mass-based mean crystal size distribution is found by taking the ratio of the fourth and third moments of n as defined by Equation 1. The nuclei population density is obtained from
(2)
where B0 is the nucleation rate. The nucleation rate is given by
(3)
where kb is a nucleation rate coefficient, MT is the MSMPR suspension crystal weight fraction, ΔC is the driving force for crystallization, and j and b are dimensionless parameters. The driving force for crystallization is given by
(4)
where C is the benzoic acid mass fraction (g benzoic acid/kg solvent) in the MSMPR crystallizer, and C*(T) is the saturation mass fraction.
The saturation mass fraction is obtained from a polynomial expression determined experimentally for a mixture of benzoic acid in 1.5:1 (w/w) water/ethanol:
(5)
A graphical representation of C* is found in Figure 2.
Figure 2: The saturation mass fraction of benzoic acid as a function of temperature.
The growth rate is obtained from
(6)
where kg is the crystal growth rate coefficient and g is a fitted kinetic parameter. In turn, the crystal growth rate coefficient is obtained from
(7)
where kg0 is the Arrhenius expression pre-exponential factor, and Eg is the activation energy for crystal growth.
Solving for the crystal concentration allows the population density to be determined. A mass balance on the crystallizer gives the equation
(8)
Here, C0 is the concentration of benzoic acid in the feed. Furthermore, the suspension crystal weight fraction is related to the nuclei population density and the growth rate through
(9)
where kv and ρc are the volumetric shape factor and density of the crystals, respectively.
The crystal concentration is obtained by solving for the difference of these two definitions of MT, that is
(10)
Equation 10 is solved for in a Global Equations node.
The steady-state mass-weighted mean crystal size, L4,3, is calculated from the ratio of the fourth and third moments of the crystal size distribution, using the following expression:
(11)
Results and Discussion
Crystal size distributions are determined for the experimental setup giving the largest and smallest crystal sizes, and for sweeps from low to high reactor temperature, and low to high residence time. Finally, the effect on the mean particle size of both reactor temperature, and of residence time, is examined.
Crystal size distributions
Figure 3: Crystal size distributions for the experimental conditions where the smallest and largest particles are produced.
Figure 3 shows the crystal size distributions for the combinations of temperature and residence time that results in production of the smallest and the largest particles. These results agree well with those from Ref. 1.
Figure 4: Crystal size distributions for increasing crystallizer temperatures.
Figure 2 shows that the saturation mass fraction of benzoic acid increases with temperature. This reduces the driving force for crystallization, ΔC. At the same time, the growth rate of the crystals increases with increasing temperature, according to Equation 6. The effect on the crystal size distribution is that the crystals that do form, grow to larger average sizes. Increasing the residence time also has a similar effect, as seen in Figure 5.
Figure 5: The effect of residence time on the crystal size distribution.
Mean particle size
Figure 6 and Figure 7 show the average crystal size for different temperatures and residence times, respectively.
Figure 6: The effect of temperature on the average particle size. The residence time is 45 min.
Figure 7: The effect of residence time on the average particle size. The crystallizer temperature is 30°C.
Notes About the COMSOL Implementation
The original paper (Ref. 1) defined crystal concentrations in both g/mL solvent and g/g solvent, but for simplicity, this model defines concentrations only in g/kg solvent. This does not affect the resulting crystal size distributions.
References
1. G. Morris, G. Power, S. Ferguson, M. Barrett, G.Hou, and B. Glennon, “Estimation of Nucleation and Growth Kinetics of Benzoic Acid by Population Balance Modeling of a Continuous Cooling Mixed Suspension, Mixed Product Removal Crystallizer,” Org. Process Res. Dev., vol. 19, pp. 1891–1902, 2015.
2. J.F. Richardson, J.H. Harker, and J.R. Backhurst, Coulson & Richardson’s Chemical Engineering, vol. 2, 5th edition, Elsevier, 2002.
Application Library path: Chemical_Reaction_Engineering_Module/Mixing_and_Separation/benzoic_acid_crystallization
Modeling Instructions
A 0D model using a Global Equations interface will be used to describe the crystallization process.
From the File menu, choose New.
New
In the New window, click  Model Wizard.
Model Wizard
1
In the Model Wizard window, click  0D.
2
In the Select Physics tree, select Mathematics>ODE and DAE Interfaces>Global ODEs and DAEs (ge).
3
Click Add.
4
Click  Study.
5
In the Select Study tree, select General Studies>Stationary.
6
Import the parameters for the model.
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
5
In the Home toolbar, click  Parameter Case.
Define two parameter cases to simulate the conditions that give rise to the smallest and the largest crystals.
6
In the Settings window for Case, type Experiment Giving Largest Crystals in the Label text field.
7
In the Home toolbar, click  Parameter Case.
8
In the Settings window for Case, type Experiment Giving Smallest Crystals in the Label text field.
9
Locate the Parameters section. In the table, enter the following settings:
Define a Function representing the saturation mass fraction.
Saturation Mass Fraction
1
In the Home toolbar, click  Functions and choose Global>Analytic.
2
In the Settings window for Analytic, type Saturation Mass Fraction in the Label text field.
3
In the Function name text field, type C_star.
4
Locate the Definition section. In the Expression text field, type 2.03e-5*T^4 + 2.97e-4*T^3 + 4.70e-2*T^2 + 1.43*T + 24.71.
5
In the Arguments text field, type T.
6
Locate the Units section. In the Function text field, type g/kg.
7
8
Locate the Plot Parameters section. In the table, enter the following settings:
9
The saturation mass fraction increases with temperature. Decreasing the temperature is a key driving force for crystallization.
To simplify the model setup, import the required variable expressions from a separate file.
Definitions
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
Define the global equation that will be solved to obtain the benzoic acid mass fraction.
Global ODEs and DAEs (ge)
Global Equations 1
1
In the Model Builder window, under Component 1 (comp1)>Global ODEs and DAEs (ge) click Global Equations 1.
2
In the Settings window for Global Equations, locate the Global Equations section.
3
4
Locate the Units section. Click  Define Dependent Variable Unit.
5
In the Dependent variable quantity table, enter the following settings:
6
Click  Define Source Term Unit.
7
In the Source term quantity table, enter the following settings:
Study 1: Extreme Cases
1
In the Model Builder window, click Study 1.
2
In the Settings window for Study, type Study 1: Extreme Cases in the Label text field.
Parametric Sweep
1
In the Study toolbar, click  Parametric Sweep.
2
In the Settings window for Parametric Sweep, locate the Study Settings section.
3
From the Sweep type list, choose Parameter switch.
4
5
In the Study toolbar, click  Compute.
Plot the crystal size distributions for the experiments giving the smallest and the largest crystals .
Results
Grid 1D: Extreme Cases
1
In the Results toolbar, click  More Datasets and choose Grid>Grid 1D.
2
In the Settings window for Grid 1D, type Grid 1D: Extreme Cases in the Label text field.
3
Locate the Parameter Bounds section. In the Name text field, type L.
4
Locate the Data section. From the Dataset list, choose Study 1: Extreme Cases/Parametric Solutions 1 (sol2).
5
Locate the Parameter Bounds section. In the Maximum text field, type L_max.
CSD for Extreme Cases
1
In the Results toolbar, click  1D Plot Group.
2
In the Settings window for 1D Plot Group, type CSD for Extreme Cases in the Label text field.
3
Locate the Data section. From the Dataset list, choose Grid 1D: Extreme Cases.
4
Click to expand the Title section. From the Title type list, choose Manual.
5
In the Title text area, type Volume-based Mean Crystal Size Distribution.
6
Locate the Plot Settings section.
7
Select the y-axis label check box. In the associated text field, type Crystal Size Distribution (%).
8
Locate the Axis section. Select the x-axis log scale check box.
9
Locate the Legend section. From the Position list, choose Upper left.
Line Graph 1
1
In the CSD for Extreme Cases toolbar, click  Line Graph.
2
In the Settings window for Line Graph, locate the y-Axis Data section.
3
In the Expression text field, type (n0 * exp(- L / (G*tau))*L^4)/ integrate((n0 * exp(- L / (G*tau)))*L^3, L, 0, L_max).
4
From the Unit list, choose %.
5
Locate the x-Axis Data section. From the Parameter list, choose Expression.
6
In the Expression text field, type L.
7
From the Unit list, choose µm.
8
Select the Description check box. In the associated text field, type Crystal size.
9
Click to expand the Legends section. Select the Show legends check box.
10
From the Legends list, choose Manual.
11
12
In the CSD for Extreme Cases toolbar, click  Plot.
CSD for Extreme Cases
1
In the Model Builder window, click CSD for Extreme Cases.
2
In the Settings window for 1D Plot Group, locate the Axis section.
3
Select the Manual axis limits check box.
4
In the x minimum text field, type 10.
5
In the CSD for Extreme Cases toolbar, click  Plot.
Next, we’ll set up a study to calculate the effect of temperature on the crystal size. For this study, the longest residence time will be used.
Add Study
1
In the Home toolbar, click  Add Study to open the Add Study window.
2
Go to the Add Study window.
3
Find the Studies subsection. In the Select Study tree, select General Studies>Stationary.
4
Click Add Study in the window toolbar.
5
In the Home toolbar, click  Add Study to close the Add Study window.
Study 2: Temperature Sweep
1
In the Model Builder window, click Study 2.
2
In the Settings window for Study, type Study 2: Temperature Sweep in the Label text field.
Step 1: Stationary
1
In the Model Builder window, under Study 2: Temperature Sweep click Step 1: Stationary.
2
In the Settings window for Stationary, click to expand the Study Extensions section.
3
Select the Auxiliary sweep check box.
4
5
Solution 5 (sol5)
1
In the Study toolbar, click  Show Default Solver.
2
In the Model Builder window, expand the Solution 5 (sol5) node, then click Stationary Solver 1.
3
In the Settings window for Stationary Solver, locate the General section.
4
In the Relative tolerance text field, type 0.0001.
Reduce the solver tolerance to avoid numerical noise in the temperature sweep results.
5
In the Study toolbar, click  Compute.
Results
Grid 1D: Temperature Sweep
1
In the Model Builder window, right-click Grid 1D: Extreme Cases and choose Duplicate.
2
In the Settings window for Grid 1D, type Grid 1D: Temperature Sweep in the Label text field.
3
Locate the Data section. From the Dataset list, choose Study 2: Temperature Sweep/Solution 5 (sol5).
CSD for Temperature Sweep
1
In the Model Builder window, right-click CSD for Extreme Cases and choose Duplicate.
2
In the Settings window for 1D Plot Group, type CSD for Temperature Sweep in the Label text field.
3
Locate the Data section. From the Dataset list, choose Grid 1D: Temperature Sweep.
4
From the Parameter selection (T) list, choose From list.
5
In the Parameter values (T (degC)) list, choose 0, 15, and 30.
Line Graph 1
1
In the Model Builder window, expand the CSD for Temperature Sweep node, then click Line Graph 1.
2
In the Settings window for Line Graph, locate the Legends section.
3
From the Legends list, choose Automatic.
CSD for Temperature Sweep
1
In the Model Builder window, click CSD for Temperature Sweep.
2
In the CSD for Temperature Sweep toolbar, click  Plot.
Next, we’ll set up a study to calculate the effect of residence time on the crystal size. For this study, the highest temperature will be used.
Add Study
1
In the Home toolbar, click  Add Study to open the Add Study window.
2
Go to the Add Study window.
3
Find the Studies subsection. In the Select Study tree, select General Studies>Stationary.
4
Click Add Study in the window toolbar.
5
In the Home toolbar, click  Add Study to close the Add Study window.
Study 3: Residence Time Sweep
1
In the Model Builder window, click Study 3.
2
In the Settings window for Study, type Study 3: Residence Time Sweep in the Label text field.
Step 1: Stationary
1
In the Model Builder window, under Study 3: Residence Time Sweep click Step 1: Stationary.
2
In the Settings window for Stationary, locate the Study Extensions section.
3
Select the Auxiliary sweep check box.
4
5
6
In the Home toolbar, click  Compute.
Results
Grid 1D: Residence Time Sweep
1
In the Model Builder window, right-click Grid 1D: Temperature Sweep and choose Duplicate.
2
In the Settings window for Grid 1D, type Grid 1D: Residence Time Sweep in the Label text field.
3
Locate the Data section. From the Dataset list, choose Study 3: Residence Time Sweep/Solution 6 (sol6).
CSD for Residence Time Sweep
1
In the Model Builder window, right-click CSD for Temperature Sweep and choose Duplicate.
2
In the Settings window for 1D Plot Group, type CSD for Residence Time Sweep in the Label text field.
3
Locate the Data section. From the Dataset list, choose Grid 1D: Residence Time Sweep.
4
In the CSD for Residence Time Sweep toolbar, click  Plot.
Mean Particle Size for Different Operating Temperatures
1
In the Home toolbar, click  Add Plot Group and choose 1D Plot Group.
Finally, create two plots showing the effect on average particle size of temperature, and residence time, respectively.
2
In the Settings window for 1D Plot Group, type Mean Particle Size for Different Operating Temperatures in the Label text field.
3
Locate the Data section. From the Dataset list, choose Study 2: Temperature Sweep/Solution 5 (sol5).
4
Locate the Legend section. From the Position list, choose Upper left.
Global 1
1
In the Mean Particle Size for Different Operating Temperatures toolbar, click  Global.
The mean particle size plots do not use a Grid dataset. For this reason, L is not defined. We will instead use the formal integration constant parameter L_int.
2
In the Settings window for Global, locate the y-Axis Data section.
3
4
Locate the x-Axis Data section. From the Parameter list, choose Expression.
5
In the Expression text field, type T.
6
From the Unit list, choose degC.
7
In the Mean Particle Size for Different Operating Temperatures toolbar, click  Plot.
Mean Particle Size for Different Residence Times
1
In the Model Builder window, right-click Mean Particle Size for Different Operating Temperatures and choose Duplicate.
2
In the Settings window for 1D Plot Group, type Mean Particle Size for Different Residence Times in the Label text field.
3
Locate the Data section. From the Dataset list, choose Study 3: Residence Time Sweep/Solution 6 (sol6).
Global 1
1
In the Model Builder window, expand the Mean Particle Size for Different Residence Times node, then click Global 1.
2
In the Settings window for Global, locate the x-Axis Data section.
3
In the Expression text field, type tau.
4
From the Unit list, choose min.
5
In the Mean Particle Size for Different Residence Times toolbar, click  Plot.