Question: Background Ultrafiltration is a process used for the concentration and purification of macromolecular solutions, particularly in the bioprocessing industries. It is a type of membrane

Background
Ultrafiltration is a process used for the concentration and purification of macromolecular solutions, particularly in the bioprocessing industries. It is a type of membrane filtration that separates particles based on their size and shape. In the feed and bleed configuration, a portion of the product stream (retentate) is recycled back into the feed, which increases the mass transfer coefficient in the module, leading to higher permeate (filtrate) flowrates, shown in Figure 1. Typically, the flowrate through the module greatly exceeds the inlet flowrate, and thus the system can reasonably be assumed to be well mixed, i.e., the retentate concentration is taken to be the same as the mean concentration in the module itself.For this assignment, we look at the continuous concentration of a protein solution. Here c is the concentration of protein. It was found that no protein passes through the membrane at any time, i.e. permeates protein concentration (c_Per) is equal to zero. The system can be assumed to be well mixed, which leads to the retentate concentration is equal to the mean module concentration.For this assignment, we assume that the gel polarisation model applies, i.e. the permeate flux across the membrane (j) is j = k ln(c_g/c_ret).where k is the mass transfer coefficient (assumed constant), c_g is the limiting or gel concentration (constant), and c_ret is the retentate concentration.
The solute balance for the system, assuming no proteins go through the membrane. where V_dot_in is the feed volumetric flowrate, c_in is the feed concentration, c_ret is the retentate concentration and V_dot_ret is the retentate flowratewhere A is the membrane area. Substituting V_dot_ret from the solute balance (Equation 2) into solvent balance (Equation 3) leads to the flux function j = V_dot_in/A *(1-c_in/c_ret)The intercept of the two fluxes (Equation 1 and 4) represents the concentration leaving the module, Task 1:
A protein solution with a concentration of c_in 8 g L-1 is fed into a single-stage continuous feed and bleed ultrafiltration system at a rate of V_dot_in =3.3e-5. The gel concentration, c_g, is 350 g L^-1. The system has a mass transfer coefficient of k=5x10-6 m s^-1 and an area of A=3.1 m^2. Use the Newton method to compute the retentate concentration.
Arrange Equation 1 and 4 as a single equation in a form suitable for the Newtons method with c_ret as the unknown variable. Task 3
Two additional modules have been discovered, and the goal is to determine the theoretical retentate concentration when the three modules are connected in series. The retentate flow exiting from one module becomes the feed for the next module. The concentration c_g and mass transfer coefficient, k are the same as in module 1(Task 1), but the membrane areas, A for modules 2 and 3 are 1.0 m^2 and 0.9 m^2, respectively. Use the inlet conditions given in Task 1. SOLVE THIS USING PYTHON CODE. AND THE my_fsolve function below to solve for solutions V_dot_2_in, V_dot_3_in, c_ret(3 modules in series). Given that V_dot_in for module 1 is given #my f_solve
def my_fsolve(fun,fun_prime,x0,args=(),detailed_output=False):
"""
find the root of a single variable non linear function
inputs
fun...function that takes at least one argument, i.e. f(x,a,b)
fun_prime...first derivative of fun
x0...starting estimate of the root
args: tuple optional,any extra arguments to fun and fun_prime
detailed_output: bool, optional, if true displays Newton steps
returns
x_new... the solution (result of the last iteration)
exitflag...0 or 1(0...no solution)(1...solution
msg........message on success
"""
# termination conditions
n_max=100 # maximum iterations
xTol=1e-3 # elative error between two consecutive iterates
fTol=1e-6 # function value
exitflag=0
# Loop through Newton Method
for i in range(0,n_max):
# get function values for fun and fun_prime
fun_x0=fun(x0,*args)
fun_prime_x0=fun_prime(x0,*args)
# Newton iteration
x_new = x0- fun_x0/ fun_prime_x0
# display iteration results
if detailed_output:
# create header
if i==0:
print(f'iteration \t x0\t\t f(x0)')
print('----------------------------------------------')
else:
print(f'{i:2d}\t\t {x0:.3f}\t\t {fun_x0:.4e}')
# check if accuracy is reached and new x becomes old
return x_new, exitflag,msg

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Chemical Engineering Questions!