-
Notifications
You must be signed in to change notification settings - Fork 0
/
Tank_BiomassSubstrateProblem.asv
88 lines (64 loc) · 2.41 KB
/
Tank_BiomassSubstrateProblem.asv
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
%% Heun's Method, Biomass and Substrate Concetration in Bulk Liquid
clear; clc
% Inputs
%Array Initial Conditions
xo=10; %initial biomass concentration in bulk liquid
So=25; %initial substrate concentration in bulk liquid
%Tank Parameters + Geometry
L=0.5; %[m]
W=0.5; %[m]
H=0.4; %[m]
V=L*W*H; %tank volume [m^3]
SA=(V/H)+2*((V/L)+(V/W)); %tank surface area [m^2]
Qdot=1; %[flow rate in/out, m^3]
Sin=25; %Inflow of substrates to tank, [g/m^3]
%Biofilm Parameters
mumax=20; %max specific growth rate
Km=3; %Monod half-saturation coefficient(growth transitions from sat. to linear)
Yxs=0.5; %ratio of substrate consumed to biomass produced
Daq=2e-5; %diffusion coefficient of water(assumed at boundary) [m/s^2]
Lfo=4.00E-4; %biofilm thickness [m]
LL=Lfo/100; %thickness of boundary layer [m]
Lf_old=Lfo;
Co=So; %substrate concentration
Xb=20000; %g m^-3 biomass density in biofilm
De=5.00E-05; %m2 d^-1 effective diffusion coefficient of substrate in biofilm
Kdet=100/3600; % [1/ms] coefficient of detachment for biofilm
%Time Constraints
tFin=2; %[s]
dt=1e-3; %Interval
N=tFin/dt; %Number of steps
%Preallocation
t = zeros(1,N); %Time
x = zeros(1,N); %Biomass Concentration in bulk liquid
S = zeros(1,N); %Substrate in bulk liquid
%Initial Conditions
t(1)=0;
x(1)=xo;
S(1)=So;
Lf=Lfo;
for i = 1:N-1
% Insert loop over spacial coordinate zeta for substrate diffusion,
% particulates, biomass growth within biofilm, etc
%Call on Biofilm Surface Substrate Concentration from 'Diffusion'
[Sb,bflux,dz]=Diffusion(Lf,LL,S(i),mumax,Xb,Yxs,De);
Cs=Sb(end);
%Call on Biofilm Thickness and Vdet/Vg from 'BiofilmThickness_Fn'
[Lf,Vdet,Vg]= BiofilmThickness_Fn(Sb,Lf_old,muSb,Kdet,mumax,Km,dt,dz);
t(i+1) = t(i) + dt;
xstar = x(i) + dt*dxdt(x(i),t(i),S(i),Cs,mu(S(i)),Vdet);
Sstar = S(i) + dt*dsdt(x(i),t(i),S(i),Cs,mu(S(i)));
x(i+1) = x(i) + dt/2*(dxdt(x(i),t(i),S(i),Cs,mu(S(i)),Vdet)+dxdt(xstar,t(i+1),Sstar,Cs,mu(S(i)),Vdet));
S(i+1) = S(i) + dt/2*(dsdt(x(i),t(i),S(i),Cs,mu(S(i)))+dsdt(xstar,t(i+1),Sstar,Cs,mu(S(i))));
Lf_old=Lf;
end
%% plot
figure(2); clf(2)
plot(t,x)
hold on
plot(t,S)
title('Biomass and Substrate Concentrations For Filling/Draining Tank')
xlabel('Time')
ylabel('Amount of Biomass/Substrate in Tank')
legend('Biomass','Substrate')
% []=outputs(t,x,S);