Gas Transfer

Introduction

Exchange of gases between aqueous and gaseous phases is an essential element of many environmental processes. Wastewater treatment plants require enhanced transfer of oxygen into activated sludge tanks to maintain aerobic degradation. Water treatment plants require gas transfer to dissolve chlorine gas or ozone. Gas transfer can also be used to remove unwanted volatile chemicals such as carbon tetrachloride, tetrachloroethylene, trichloroethylene, chloroform, bromodichloromethane, and bromoform from water (Zander et al., 1989). Exchange of a dissolved compound with the atmosphere is controlled by the extent of mixing in the aqueous and gaseous phase, the surface area of the interface, the concentration of the compound in the two phases, and the equilibrium distribution of the compound. Technologies that have been developed to enhance gas transfer include: aeration diffusers, packed-tower air stripping, and membrane stripping. Each of these technologies creates a high interface surface area to enhance gas transfer.

Theory

Oxygen transfer is important in many environmental systems. Oxygen transfer is controlled by the partial pressure of oxygen in the atmosphere (0.21 atm) and the corresponding equilibrium concentration in water (approximately 10 mg/L). According to Henry’s Law, the equilibrium concentration of oxygen in water is proportional to the partial pressure of oxygen in the atmosphere.

from aguaclara.core.units import unit_registry as u
import aguaclara as ac
import matplotlib.pyplot as plt
import numpy as np

P_air = 101.3*u.kPa
temp = np.linspace(0,40)*u.degC
C_Oxygen = ac.O2_sat(P_air,temp)

fig, ax = plt.subplots()
ax.plot(temp,C_Oxygen)
ax.set(xlabel='Temperature (degrees Celsius)', ylabel='Oxygen concentration (mg/L)')
#fig.savefig('Gas_Transfer/Images/Oxygen_vs_T')
plt.show()
oxygen vs T

Fig. 20 Dissolved oxygen concentrations in equilibrium with the atmosphere.

Natural bodies of water may be either supersaturated or undersaturated with oxygen depending on the relative magnitude of the sources and sinks of oxygen. Algae can be a significant source of oxygen during active photosynthesis and can produce supersaturation. Algae also deplete oxygen levels during the night.

At high levels of supersaturation dissolved gas will form microbubbles that eventually coalesce, rise, and burst at the water surface. The bubbles provide a very efficient transfer of supersaturated dissolved gas to the gaseous phase, a process that can be observed when the partial pressure of carbon dioxide is decreased by opening a carbonated beverage. Bubble formation by supersaturated gasses also occurs in the environment when cold water in equilibrium with the atmosphere is warmed rapidly. The equilibrium dissolved oxygen concentration decreases as the water is warmed (Fig. 20).

Supersaturation of dissolved gases can also occur when water carrying gas bubbles from a waterfall or spillway plunges into a deep pool. The pressure increases with depth in the pool and gasses carried deep into the pool dissolve in the water. When the water eventually approaches the surface the pressure decreases and the dissolved gases come out of solution and form bubbles. Bubble formation by supersaturated gases can kill fish (similar to the bends in humans) as the bubbles form in the bloodstream.

Gas Transfer Coefficient

The gas transfer rate can be modeled as the product of a driving force (the difference between the equilibrium concentration and the actual concentration) and an overall volumetric gas transfer coefficient (a function of the geometry, mixing levels of the system and the solubility of the compound). In equation form

(99)\[ \frac{dC}{dt} =\hat{k}_{v,l} \left(C^{*} -C\right)\]

where C is the dissolved gas concentration, C* is the equilibrium dissolved gas concentration, and \(\hat{k}_{v,l}\) is the overall volumetric gas transfer coefficient . Although \(\hat{k}_{v,l}\) has dimensions of 1/T, it is a function of the interface surface area (A), the liquid volume (V), the oxygen diffusion coefficient in water (D), and the thickness of the laminar boundary layer (?) through which the gas must diffuse before the much faster turbulent mixing process can disperse the dissolved gas throughout the reactor.

(100)\[\hat{k}_{v,l} =f(D,\delta ,A,V)\]
internal figure

Fig. 21 Single film model of interphase mass transfer of oxygen.

The overall volumetric gas transfer coefficient is system specific and thus must be evaluated separately for each system of interest (Weber and Digiano, 1996).

A schematic of the gas transfer process is shown in Fig. 21. Fickian diffusion controls the gas transfer in the laminar boundary layer. The oxygen concentration in the bulk of the fluid is assumed to be homogeneous due to mixing and the oxygen concentration above the liquid is assumed to be that of the atmosphere.

The gas transfer coefficient will increase with the interface area and the diffusion coefficient and will decrease with the reactor volume and the thickness of the boundary layer. The functional form of the relationship is given by

(101)\[\hat{k}_{v,l} =\frac{AD}{V\delta }\]

Equation (99) can be integrated with appropriate initial conditions to obtain the concentration of oxygen as a function of time. However, care must be taken to ensure that the overall volumetric gas transfer coefficient is not a function of the dissolved oxygen concentration. This dependency can occur where air is pumped through diffusers on the bottom of activated sludge tanks. Rising air bubbles are significantly depleted of oxygen as they rise through the activated sludge tank and the extent of oxygen depletion is a function of the concentration of oxygen in the activated sludge. Integrating equation (99) with initial conditions of C = C0 at t = t0

(102)\[\int _{C_{0} }^{C}\frac{dC}{C^{*} -C} =\int _{t_{0} }^{t}\hat{k}_{v,l} dt\]
(103)\[ \ln \frac{C^{*} -C}{C^{*} -C_{0} } =-\hat{k}_{v,l} (t-t_{0} )\]

Equation (103) can be evaluated using linear regression so that \(\hat{k}_{v,l}\) is the slope of the line.

The simple gas transfer model given in equation (103) is appropriate when the gas transfer coefficient is independent of the dissolved gas concentration. This requirement can be met in systems where the gas bubbles do not change concentration significantly as they rise through the water column. This condition is met when the water column is shallow, the bubbles have large diameters, or the difference between the concentration of dissolved gas and the equilibrium concentration is small.

Oxygen Transfer Efficiency

An important parameter in the design of aeration systems for the activated sludge process is the energy cost of compressing air to be pumped though diffusers. The pumping costs are a function of the pressure and the airflow rate. The pressure is a function of the hydrostatic pressure (based on the depth of submergence of the diffusers) and the head loss in the pipes and through the diffuser. The required airflow rate is a function of the BOD of the wastewater and the efficiency with which oxygen is transferred from the gas phase to the liquid phase. This oxygen transfer efficiency (OTE) is a function of the type of diffuser, the diffuser depth of submergence, as well as temperature and ionic strength of the activated sludge. Oxygen transfer is a remarkably inefficient process; only a small fraction of the oxygen carried by the rising bubbles diffuses into the activated sludge. The most efficient systems use membrane diffusers and achieve an OTE of approximately 10%.

The manufacturer typically provides oxygen transfer efficiency for a specific diffuser. In this laboratory we will measure oxygen transfer efficiency for the aeration stone that we will be using in an activated sludge tank. The molar transfer rate of oxygen through the diffuser is

(104)\[ \dot{n}_{gas\; o_{2} } =\frac{Q_{air} P_{air} f_{O_{2} } }{RT}\]
where
\(f_{O_2}\) is the molar fraction of air that is oxygen (0.21),
\(Q_{air}\) is the volumetric flow rate of air into the diffuser,
\(P_{air}\) is the air pressure immediately upstream from the diffuser,
\(R\) is the universal gas constant and
\(T\) is absolute temperature.

If the airflow rate is already given with units of moles/s then the molar transfer rate of oxygen can be obtained by multiplying by the molar fraction of air that is oxygen.

The molar rate of dissolution into the aqueous phase is

(105)\[\dot{n}_{aq\; o_{2} } =\frac{\rlap{-} V}{MW_{O_{2} } } \frac{dC}{dt}\]
where
\(MW_{O_2}\) is the molecular weight of oxygen,
\(\rlap{-} V\) is the reactor volume, and
\(\frac{dC}{dt}\) is the change in aqueous oxygen concentration with time.

The rate of change of oxygen concentration is a function of the dissolved oxygen concentration and is a maximum when the dissolved oxygen concentration is zero. Oxygen transfer efficiency could be measured for any dissolved oxygen concentration. A better method of analysis is to substitute the right side of equation (99) for \(\frac{dC}{dt}\) .

(106)\[ \dot{n}_{aq\; o_{2} } =\frac{V\hat{k}_{v,l} \left(C^{*} -C\right)}{MW_{O_{2} } }\]

The oxygen transfer efficiency is the ratio of equation (106) to equation (104).

(107)\[ OTE=\frac{\hat{k}_{v,l} \left(C^{*} -C\right)VRT}{MW_{O_{2} } Q_{air} P_{air} f_{O_{2} } }\]

Measurement of OTE using equation (107) requires that the gas transfer coefficient, air flow rate, air pressure, and the air temperature be measured. (\(P_{air}\) and \(Q_{air}\) have to correlate and in this experiment the best combination is atmospheric pressure and the flow rate given by the pump.)

If the molar airflow rate is controlled then OTE is based on the ratio of equation (106) to the molar transfer rate of supplied oxygen.

(108)\[OTE=\frac{\dot{n}_{aq\; o_{2} } }{f_{O_{2} } \dot{n}_{air} } =\frac{V\hat{k}_{v,l} \left(C^{*} -C\right)}{f_{O_{2} } \dot{n}_{air} MW_{O_{2} } }\]

Deoxygenation

To measure the reaeration rate it is necessary to first remove the oxygen from the reactor. This can be accomplished by bubbling the solution with a gas that contains no oxygen. Nitrogen gas is typically used to remove oxygen from laboratory reactors. Alternately, a reductant can be used. Sulfite is a strong reductant that will reduce dissolved oxygen in the presence of a catalyst.

(109)\[{O}_{{2}} +{2SO}_{{3}}^{-{2}} \stackrel{{cobalt}}{\longrightarrow}{2SO}_{{4}}^{-{2}}\]

The mass of sodium sulfite required to deoxygenate 1 mg of oxygen is calculated from the stoichiometry of equation (99).

(110)\[\frac{{mole\; O}_{{2}} }{{32000\; mg\; O}_{{2}} } \cdot \frac{{2\; mole\; Na}_{{2}} {SO}_{{3}} }{{mole\; O}_{{2}} } \cdot \frac{{126,000\; mg\; Na}_{{2}} {SO}_{{3}} }{{mole\; Na}_{{2}} {SO}_{{3}} } =\frac{{\; 7.875\; mg\; Na}_{{2}} {SO}_{{3}} }{{mg\; O}_{{2}} }\]

If complete deoxygenation is desired a 10% excess of sulfite can be added. The sulfite will continue to react with oxygen as oxygen is transferred into the solution. The oxygen concentration can be measured with a dissolved oxygen probe or can be estimated if the temperature is known and equilibrium with the atmosphere assumed (Fig. 20).

""" importing """
from aguaclara.core.units import unit_registry as u
import aguaclara as ac
import matplotlib.pyplot as plt
import numpy as np

O2_C = np.linspace(0,10,10) * u.mg/u.L
Sample_V = 750 * u.mL
SulfiteperO2 = 7.875
Sulfite_Stock_C = 100 * u.mg/u.mL
def Sulfite_V(O2_C):
  return (Sample_V*O2_C*SulfiteperO2/Sulfite_Stock_C).to(u.mL)
fig, ax = plt.subplots()
ax.plot(O2_C,Sulfite_V(O2_C))
ax.set(xlabel='Oxygen concentration (mg/L)', ylabel='Sulfite stock volume (mL)')
ax.grid(color='b', linestyle='-', linewidth=0.5)
#fig.savefig('Gas_Transfer/Images/Sulfite')
plt.show()
internal figure

Fig. 22 Volume of 100 mg/mL sodium sulfite stock required to deoxygenate a 750 mL sample of water.

Experimental Objectives

The objectives of this lab are to:

  1. Illustrate the dependence of gas transfer on gas flow rate.
  2. Develop a functional relationship between gas flow rate and gas transfer.
  3. Measure the oxygen transfer efficiency of a course bubble diffuser.
  4. Explain the theory and use of dissolved oxygen probes.

A small reactor that meets the conditions of a constant gas transfer coefficient will be used to characterize the dependence of the gas transfer coefficient on the gas flow rate through a simple diffuser. The gas transfer coefficient is a function of the gas flow rate because the interface surface area i.e., the surface area of the air bubbles) increases as the gas flow rate increases.

Dissolved Oxygen Probes

Theory

The dissolved oxygen probes make use of the fact that an applied potential of 0.8 V can reduce \(O_2\) to \(H_2O\):

(111)\[4 e^- + 4 H^+ + O_2 \mathrm{\to} 2 H_2O\]

The cell is separated from solution by a gas permeable membrane that allows \(O_2\) to pass through. The concentration of \(O_2\) in the cell is kept very low by reduction to \(H_2O\). The rate at which oxygen diffuses through the gas permeable membrane is proportional to the difference in oxygen concentration across the membrane. The concentration of oxygen in the cell is \(\mathrm{\approx}0\) and thus the rate at which oxygen diffuses through the membrane is proportional to the oxygen concentration in the solution.

Oxygen is reduced to water at a silver (Ag) cathode of the probe. Oxygen reduction produces a current that is converted to a voltage that is measured by ProCoDA.

Experimental Methods

The reactors are 1 L beakers that will be filled with 750 mL of water (Fig. 23). The DO probe should be placed in a location so as to minimize the risk of air bubbles lodging on the membrane on the bottom of the probe. Groups from previous years have recommended keeping the DO probe close to the bottom of the reactor so that no air bubbles cover the DO probe. The aeration stone is connected to a source of regulated air flow. A 200-kPa pressure sensor is used to measure the air pressure in the accumulator.

internal figure

Fig. 23 Apparatus used to measure reaeration rate.

A 3-D model created by Shania Fang and Emily Wood (2020) provides more detail of the completed reactor assembly.

internal figure

Fig. 24 3-D model of aeration apparatus created by Shania Fang and Emily Wood (2020).

The ProCoDA II software will be used to control the air flow rate for the aeration experiment. The software will use external code to calculate the calibration constant for the flow restriction, to control valve 1 (the air supply valve), and to regulate the flow of air into the accumulator. The calibration uses the ideal gas law to determine the flow rate as a function of the difference in pressure between the source and the accumulator. Once this calibration is obtained a separate code will set the fraction of time that valve 1 needs to be open to obtain the desired flow rate of air into the accumulator.

Initial Setup

Follow these steps to set up the experiment.

  1. Assemble the apparatus.
  2. Make sure that you push hard and twist to insert tubing into quick connect fittings.
  3. Install the accumulator pressure sensor Accumulator_pressure_sensor so that the positive side of the sensor is connected to the accumulator. The positive side of the pressure sensor is the longer side or the side that is farthest from where the cable is attached to the sensor.
  4. Use the Open_method on the ProCoDA configuration tab (select the left open folder icon) to load the method file containing the configuration necessary to control airflow.
  5. Plug the pressure sensor that is monitoring the flow accumulator into sensor port 0.
  6. Plug the dissolved oxygen probe into sensor port 1.
  7. Plug the air source valve that is connected to the flow restriction into the port labeled 2 24 V.
  8. Plug the aeration valve that is upstream from the needle valve into the port labeled 3 24 V.
  9. Open the accumulator bottle cap to ensure that it is at atmospheric pressure.
  10. Zero the accumulator pressure sensor by selecting config_sensors, select the accumulator pressure sensor and then select sensor_set_to_zero.
  11. Close the accumulator bottle cap.
  12. Open the air valve that provides laboratory air to your apparatus and fix any air leaks that you observe.
  13. Close the needle valve (\(N_2\) in Fig. 23) that is closest to the beaker by turning it clockwise.
  14. Navigate to the ProCoDA Process Operation tab.
  15. Set the operator selected state to toggle. The solenoid valves should click rhythmically if they are working properly. You can hold a solenoid valve in your hand to fill it actuating. If it isn’t actuating you can test the connection where it is plugged into ProCoDA.
  16. Open the needle valve, \(N_2\), so that air pulses gently in your reactor and doesn’t spill any water.

Connect to the shared source pressure sensor

  1. Navigate to the ProCoDA configuration tab and click on share data share_data.
  2. Browse to the shared S drive (right below the Local Disk C), select the folder “Shared data”.
  3. A shared variable called “Source pressure” should be in the tab of “Shared data from other instances of ProCoDA”. Select that variable by clicking on it. It will highlight.
  4. Click on OK.
  5. Select the ProCoDA Graph tab.

Check for air leaks

  1. Fill the accumulator with air by selecting the “calibrate” state. (You may need to open needle valve \(N_1\).)
  2. After the accumulator is at high pressure (approximately 50 kPa or greater), then close all solenoid valves by selecting the “Off” state.
  3. Check your system for air leaks by monitoring the accumulator pressure. If it drops over time, then check each tubing connection and if necessary push hard and twist to properly insert tubing into the quick connect tube fittings. If the pressure increases then the solenoid valve, \(S_1\), is leaking and should be replaced.
  4. If the leaking persists then check for other leaks. Possible leak sources include pipe thread connections, rough tubing ends at the instant tube fitting o-ring seal, accumulator cap, or leaking solenoid valves.

Calibrate the air flow controller

The purpose of this calibration step is to measure the characteristics of the flow resistor so that the rate of flow from the air supply to the flow accumulator can be predicted and controlled. The flow rate from the air source to the flow accumulator is dependent on the air source pressure, the accumulator pressure, and the flow resistance between them. The flow rate decreases as the difference in pressure decreases.

The calibration uses 3 states. The first state is “prepare to calibrate”. In this state the aeration valve opens and the accumulator pressure drops until it reaches the “Min calibration pressure (Pa)” which is set at 5,000 Pa. The second state is “calibrate”. In this state the aeration valve closes and the air source valve opens. This causes the flow accumulator to rapidly fill. The “calibrate” state ends when the pressure in the accumulator reaches 60% of the source pressure. The next state is a 5 second pause in which both valves are closed. Finally the system switches to aerate and uses the flow rate entered as a variable in config_edit_rules. The calibration sequence creates a graph as shown in Fig. 25. The data from the “calibrate” state is used to find the unknown term in equation (127).

internal figure

Fig. 25 Graph of the airflow calibration. The initial accumulator pressure decrease is during the “prepare to calibrate” state. The accumulator fills rapidly during the “calibrate” state.

Complete the following steps.

  1. Gently close the needle valve that is close to the air supply (\(N_1\)). Then open the valve about 1/8th of a turn.
  2. Set up the graph in the ProCoDA Graphs tab to look similar to Fig. 25. Note that you can select multiple data source for plotting by holding down the control key while clicking on the data to plot.
  3. Set both the Accumulator pressure and the Source Pressure plots to use the same left y axis select_y_axis_scale. Select the y axis by clicking on the plot of interest in the legend. This will make it easy to observe how the accumulator is behaving relative to the source pressure.
  4. Set the mode of operation Mode_of_operation to automatic operation and the operator selected state to “prepare to calibrate”. The software should quickly cycle through the calibration step and then begin attempting to control the air flow rate to the target value. Note: the purpose of the prepare to calibrate state is to vent excess pressure from the accumulator. The state will not change to calibrate until the pressure drops below a predefined threshold. To speed this up, you may open the needle valve.
  5. The air slope should have a value of approximately 2 E7. To increase the air slope close the \(N_1\) needle valve slightly and repeat the “Calibrate” step.
  6. Repeat the “Calibrate” step several times to make sure you understand what ProCoDA is doing and to confirm that the air slope air_slope displayed on the ProCoDA “Process Operation” tab is repeatable (within about 5%). Hint: You can tell ProCoDA to go back to “prepare to calibrate” state by right clicking on that state.
  7. Lock the air slope by changing it from a variable to a constant. This will prevent you from accidently losing the air slope by clicking on the calibrate state. Browse to the ProCoDA “Configuration” tab, select config_edit_rules, select the variable “air slope”, and change it to a constant. Change_air_slope_to_constant
  8. Don’t adjust the \(N_1\) needle valve now that the air flow is calibrated.

Test the air flow controller

In the following test, the air flow controller should provide a constant flow of air into the accumulator. You can assess how well the air flow controller is working based on the slope of the pressure as a function of time. The equation for the expected change in pressure vs time can be derived from the ideal gas law.

(112)\[ \begin{align}\begin{aligned}PV = nRT\\P = \frac{nRT}{V}\\\Delta P = \frac{\dot{n}RT}{V}\Delta t\\P = P_{0} + \Delta P = P_{0} +\frac{\dot{n}RT}{V}\Delta t\end{aligned}\end{align} \]

This equation has been programming in ProCoDA as the “air fill model”. Thus you can compare the measured pressure in the accumulator and the “air fill model” to see if the flow controller is working properly.

  1. Add the “air fill model” to the ProCoDA graph and make sure that it is using the left axis.
  2. Set the air flow rate based on our calibration be navigating to the Configuration tab and selecting config_edit_rules. We want to control the air flow rate, so select air flow rate from the set points and variables list. Set the air flow rate to a value of 400u (400 \(\mu M/s\)).
  3. Begin logging data at a 1 s interval using the config_Logging_data_short_exp datalog button on the configuration tab. Data is being logged when the icon is green.
  4. Set the operator selected state to “Prepare to test fill”
  5. Watch the graph to see the accumulator pressure and air fill model increase at the same rate (hopefully).
  6. End logging data when the fill cycle ends.
  7. The resulting graph should look like the figure below.
  8. The measured value for the final pressure at the end of the “Fill accumulator” state should be within 20% of the predicted value. You can find these values in the data log.
ProCoDA graph of the accumulator filling

Fig. 26 Graph of the accumulator filling at a flow rate of 100 \(\mu M/s\). The measured values and the model are in reasonable agreement.

Install the Membrane Cap on the Dissolved Oxygen Probe

  1. Make sure to wear gloves for these steps!
  2. Use a pipette or dropper to fill the membrane cap with 0.05 N NaOH solution. Take care not to dispense air bubbles into the membrane cap. Fill the cap to within 5 mm of the top.
  3. Place a beaker on the bench top below the membrane cap to catch any spilled NaOH solution.
  4. Hold the cap so that it doesn’t spill and screw the probe into the cap. Some NaOH will leak out as you tighten the cap. Catch these drips in the beaker.
  5. Rinse the probe with deionized water.
  6. Inspect the probe carefully to see if there are any air bubbles inside the membrane. If there are any bubbles, repeat starting at step 2.

Calibrate the Dissolved Oxygen Probe

  1. Add 750 mL of tap water to the reactor.
  2. The instructor or TA will add \(10\frac{ \mu g}{L}\) of \(CoCl_2 \cdot 6H_2O\) (note this only needs to be added once because it is the catalyst). A stock solution of \(100 \mu g/mL\) of \(CoCl_2 \cdot 6H_2O\) (thus add 75 \(\mu L\) per 750 mL) has been prepared to facilitate measurement of small cobalt doses. (Use gloves when handling cobalt!)
  3. Calibrate the DO probe. Use \(22^{\circ}C\) as the temperature.

Measure the Gas Transfer

Table 7 provides the air flow rates for each team. The data will be consolidated

Table 7 Suggested flow rates.
Group Flows (\(mu M/s\))
Group 1 100, 400, 700
Group 2 125, 425, 725
Group 3 150, 450, 750
Group 4 175, 475, 775
Group 5 200, 500, 800
Group 6 225, 525, 825
Group 7 250, 550, 850
Group 8 275, 575, 875
Group 9 300, 600, 900
Group 10 325, 625, 925
Group 11 350, 650, 950
Group 12 375, 675, 975
Set the stirrer speed to mix the tank but not to cause a vortex that sucks bubbles into the stirrer. Then repeat the following steps for each flow rate.
  1. Set the air flow rate in config_edit_rules to the desired flow rate.
  2. Set the operator selected state to aerate.
  3. Set the needle valve that is close to the beaker, \(N_2\), so the pressure in the accumulator is between 20 and 50 kPa.
  4. Wait until the accumulator pressure reaches steady state.
  5. Turn the air off by changing the operator selected state to OFF.
  6. Add enough sodium sulfite to deoxygenate the solution. It is okay if the sample doesn’t completely deoxygenate. The goal is to have less than 1.5 mg/L of oxygen at the beginning of the aeration. A stock solution of sodium sulfite (100 mg/mL) has been prepared to facilitate measurement of small sulfite doses. Calculate this dose based on the measured dissolved oxygen concentration. (see Fig. 22)
  7. Prepare to record the dissolved oxygen concentration using ProCoDA software. Use 5-second data intervals and log the data to S:\Courses\4530\Group #\gastran\x where x is the flow rate in \(\mu M/s\) for later analysis. Include the actual flow rate in the file name.
  8. Turn the air on by changing the operator selected state to Aerate.
  9. Monitor the dissolved oxygen concentration until it reaches 50% of saturation value or 10 minutes (whichever is shorter).
  10. Repeat steps 1-9 to collect data from at least two additional flow rates which are assigned to your group in Table 8.
  11. Email your data files (correctly named!) to the course email account. Warning*: Do not edit your data files collected from ProCODA. This will cause issues when it comes time to analyze the data.
  12. Answer the questions in the section on Lab Explorations.

Lab Explorations

This lab exercise introduces the use of computer control as well as some interesting hydraulics. These questions are designed to help you think through everything that is happening in this lab. Include a discussion of these questions in the laboratory report.

The ProCoDA method that you used in this lab has two programs that cause ProCoDA to switch between states and change what it is doing. Explore the rule editor, config_edit_rules, to figure out answers to the following questions.

  1. Under what condition does ProCoDA switch from the “prepare to calibrate” state to the “calibrate” state?
  2. Under what condition does ProCoDA switch from the “calibrate” state to the “Pause” state?
  3. How does the “Pause” state know which state to go to next?
  4. What is the equation that is used to calculate the maximum calibration pressure and why is this equation better than using a constant for the maximum calibration pressure?
  5. Explain how ProCoDA calculates the predicted pressure in the accumulator when it is filled at a constant mass flow rate.
  6. What are the inputs to the “air valve control”?
  7. What does “air valve control” control and which two states use it?
  8. Write a ProCoDA program that cycles between two states that aerate for 15 s and then pause for 10 s. Show the TA!

Prelab Questions

  1. Calculate the mass of sodium sulfite needed to reduce all the dissolved oxygen in 750 mL of pure water in equilibrium with the atmosphere and at \(22^\circ C\).
  2. Describe your expectations for dissolved oxygen concentration as a function of time during a reaeration experiment. Assume you have added enough sodium sulfite to consume all of the oxygen at the start of the experiment. What would the shape of the curve look like?
  3. Why is \(\hat{k}_{v,l}\) not zero when the gas flow rate is zero? How can oxygen transfer into the reactor even when no air is pumped into the diffuser?
  4. Describe your expectations for \(\hat{k}_{v,l}\) as a function of gas flow rate. Do you expect a straight line? Why?
  5. A dissolved oxygen probe was placed in a small vial in such a way that the vial was sealed. The water in the vial was sterile. Over a period of several hours the dissolved oxygen concentration gradually decreased to zero. Why? (You need to know how dissolved oxygen probes work!)

Data Analysis

This lab will use the power of python to streamline repetitive data analysis. Use the data from the entire class for the analysis. You can use for loops to cycle through all of the data sets.

  1. Eliminate the data from each data set when the dissolved oxygen concentration was less than 2 mg/L. This will ensure that all of the sulfite has reacted. Also remove the data when the dissolved oxygen concentration was greater than 6 mg/L to reduce the effect of measurement errors when the oxygen deficit is small.
  2. Plot a representative subset of the data showing dissolved oxygen vs. time. Perhaps show 5 plots on one graph.
  3. Calculate \(C^{\star}\) based on the average water temperature, barometric pressure, and the equation from environmental processes analysis called O2_sat. \(C^{\star} =P_{O_{2}} {\mathop{e}\nolimits^{\left(\frac{1727}{T} -2.105\right)}}\) where T is in Kelvin, \(P_{O_{2} }\) is the partial pressure of oxygen in atmospheres, and \(C^{\star}\) is in mg/L.
  4. Estimate \(\hat{k}_{v,l}\) using linear regression and equation (103) for each data set.
  5. Create a graph with a representative plot showing the model curve (as a smooth curve) and the data from one experiment. You will need to derive the equation for the concentration of oxygen as a function of time based on equation (103).
  6. Plot \(\hat{k}_{v,l}\) as a function of airflow rate (\(\mu mole/s\)).
  7. Plot OTE as a function of airflow rate (?mole/s) with the oxygen deficit (\(C^{\star} -C\)) set at 6 mg/L.
  8. Comment on the oxygen transfer efficiency and the trend or trends that you observe.
  9. Propose a change to the experimental apparatus that would increase the efficiency.
  10. Verify that your report and graphs meet the requirements.

References

Weber, W. J. J. and F. A. Digiano. 1996. Process Dynamics in Environmental Systems. New York, John Wiley & Sons, Inc.Zander, A. K.; M. J. Semmens and R. M. Narbaitz. 1989. Removing VOCs by membrane stripping American Water Works Association Journal 81: 76-81.

Lab Prep Notes

Table 8 Reagent list.
Description Supplier Catalog number Concentration
\(Na_2SO_3\) Fisher Scientific S430-500 100 g/L
\(CoCl_2 \cdot 6H_2O\) Fisher Scientific C371-100 100 mg/L
\(NaOH\) VWR pending 0.05 N = 2 g/L

Setup

  1. Prepare the sodium sulfite immediately before class and distribute to groups in 15 mL PP bottles to minimize oxygen dissolution and reaction with the sulfite.
  2. The cobalt solution can be prepared anytime and stored long term.
  3. Install the membranes on the DO probes and confirm that all probes are operational.
  4. Provide clamps to mount DO probes on magnetic stirrers.
  5. Determine maximum airflow rate that is reasonable given small reactor volume.
  6. Configure the TA workstation to be measuring the source air pressure and sharing it using this ProCoDA method.
  7. Verify that the source air pressure is between 10 and 20 kPa. The regulator is in the lab and can be adjusted.

Clean up

  1. DO Probe: unscrew the cap from the probe and wash the electrodes core (cathode: platinum, anode: lead) and the cap with deionized water. Dry all the components with tissue. Screw the cap back to the probe without adding any filling solution to prevent the anode from being consumed. Put all the components back into the package.
  2. Pore water used for aeration into container designated by the TA. We collect this water because of the cobalt contamination.
  3. Do not disassemble the aeration system. Rinse it, dry it and keep it as one unit and place in storage at your workstation.

Airflow Control

The ProCoDA software can be configured to control the flow of air into the reactor. The hardware required is shown in Fig. 23. The control algorithm is based on the theoretical relationship between head loss and flow rate for the air flowing into the accumulator. We can empirically measure the head loss coefficient and then use the theoretical relationship to determine what fraction of time the influent valve should be open to obtain the desired flow rate. We can use the change in pressure in the accumulator when the influent valve is open to determine how fast air was flowing into the accumulator. In order to develop an appropriate head loss model we need to know if the flow into the accumulator is laminar or turbulent.

(113)\[ {Re}=\frac{\rho VD}{\mu }\]
(114)\[{Re}=\frac{4\rho Q}{\pi d\mu }\]

If we hold pressure and temperature constant and then take the derivative of the ideal gas law we obtain.

(115)\[P\rlap{--}\dot{V}=\dot{n}RT\]

and since change in volume with respect to time is a flow rate we have

(116)\[ Q=\frac{\dot{n}RT}{P}\]

Density of an ideal gas is given by

(117)\[ \rho =\frac{PM_{gas} }{RT}\]

Substituting these relationships into equation (113) for Reynolds number we obtain

(118)\[{Re}=\frac{4\dot{n}M_{gas} }{\pi d\mu }\]

For the air flow controller used in the lab the following values are obtained

\(\dot{n}\) max flow is about 10,000 \(\mu M/s\) \(M_{gas}\) is 0.029 kg/M, and \(\mu\) is \(1.8 x 10^{-5} Ns/m^2\).
(119)\[{Re}=\frac{4\left(10000\times 10^{-6} \frac{M}{s} \right)\left(0.029\frac{kg}{M} \right)}{\pi \left(1\times 10^{-3} m\right)\left(1.8\times 10^{-5} \frac{N\cdot s}{m^{2} } \right)} =20,500\]

The flow into the air accumulator will almost certainly be turbulent. In any case, we can use the turbulent flow equations for minor losses to describe head loss. The equation for minor losses is:

(120)\[ h_{minor} =K\frac{8Q^{2} }{g\pi ^{2} D^{4} }\]

To use equation (120) for air we substitute pressure change for \(h_{minor}\), equation (116) for flow rate, and equation (117) for density.

(121)\[ \Delta p=K\frac{8M_{gas} RT\dot{n}^{2} }{\pi ^{2} D^{4} P}\]

This change of pressure is occurring between the air supply and the accumulator. The pressure, P, in equation (121) helps determine the velocity of the air and thus head loss is a function of the pressure. The pressure varies between the pressure of the lab air supply, \(P_s\), and the pressure in the air accumulator, \(P_a\). As a reasonable first approximation we use the average pressure of the supply and the accumulator for P, the difference in pressure for \(\Delta p\), and solve equation (121) for the molar flow rate.

(122)\[ \dot{n}=\frac{\pi D^{2} }{4\sqrt{KM_{gas} RT} } \sqrt{\left(P_{s} -P_{a} \right)\left(P_{s} +P_{a} \right)}\]

where \(\dot{n}\) is the molar flow rate.

Multiplying terms and noting that the supply pressure is relatively constant, but that the accumulator pressure varies as it charges according to the ideal gas law we obtain.

(123)\[\frac{dn}{dt} =\frac{\pi D^{2} }{4\sqrt{KM_{gas} RT} } \sqrt{P_{s}^{2} -\frac{n^{2} R^{2} T^{2} }{V^{2} } }\]

Separating terms and integrating from an initial condition with \(n_0\) moles to a final condition with \(n\) moles in the accumulator.

(124)\[\frac{\rlap{--}V}{RT} \int _{n_{0} }^{n }\frac{dn}{\sqrt{\frac{P_{s}^{2} V^{2} }{R^{2} T^{2} } -n^{2} } } =\int _{0}^{t}\frac{\pi D^{2} }{4\sqrt{KM_{gas} RT} } dt\]

After integrating we obtain the following equation.

(125)\[\frac{\rlap{--}V}{RT} \left(\sin ^{-1} \frac{n RT}{P_{s} V} -\sin ^{-1} \frac{n_{0} RT}{P_{s} V} \right)=\frac{\pi D^{2} t}{4\sqrt{KM_{gas} RT} }\]
(126)\[t=\frac{4\sqrt{KM_{gas} RT} }{\pi D^{2} } \left(\sin ^{-1} \frac{n RT}{P_{s} V} -\sin ^{-1} \frac{n_{0} RT}{P_{s} V} \right)\frac{\rlap{--}V}{RT}\]

Since we will be measuring the pressure in the accumulator we can now substitute that pressure for the terms containing moles of air to obtain an equation that is in a linear form such that a single term containing K and D can be obtained by linear regression.

(127)\[ t=\frac{4\sqrt{KM_{gas} RT} }{\pi D^{2} } \left(\sin ^{-1} \frac{P_{a } }{P_{s} } -\sin ^{-1} \frac{P_{a_{0} } }{P_{s} } \right)\frac{\rlap{--}V}{RT}\]

Taking a data set obtained by filling the accumulator, finding the unknown term \(\frac{4\sqrt{KM_{gas} RT} }{\pi D^{2} }\) by linear regression and then plotting the resulting model next to the data we obtain Fig. 27.

airflow controller calibration

Fig. 27 The model describing the filling of the accumulator fits the data very well.

The final step is to calculate the fraction of time that the valve must be open in order to obtain a desired flow rate into the accumulator. Take the target air flow rate \(\dot{n}_{target}\) and divide by the molar flow rate given by equation (122) to get the fraction of time the valve must be open to get the desired average flow rate.

(128)\[ f_{valve} =\frac{\dot{n}_{t\arg et} }{\dot{n}} =\frac{\dot{n}_{t\arg et} }{\frac{\pi D^{2} }{4\sqrt{KM_{gas} RT} } \sqrt{P_{s}^{2} -P_{a}^{2} } }\]

Equation (128) assumes that inertial effects during flow startup are not significant. Application of equation (128) results in slightly more air being delivered than requested. The reason for this error is that when the valve is closed the volume between the location of the head loss and the valve fills to the pressure of the source. This volume of air quickly discharges through the valve as soon as the valve is opened. This error can be minimized by using small valves and by keeping the head loss orifice as close to the valve as possible.

Equation (128) is used by the air flow control.vi to calculate the fraction of time that the valve should be open. The ability of the control algorithm to create a desired flow rate can be measured by setting the flow rate and closing the effluent valves from the accumulator. The result is that the accumulator will gradually fill and as it fills \(f_{valve}\) will gradually increase so the flow rate into the accumulator remains constant. The slope of the pressure vs. time line is proportional to the flow rate.