phd_thesis/code/diffusion_mab.m

62 lines
2.1 KiB
Mathematica
Raw Normal View History

2021-08-03 19:01:31 -04:00
function diffusion_mab
% bulk properties
V_b = 1.075; % volume of bulk solution (cm^3)
n = 16000; % number of microcarriers in bulk volume
% ligand properties (IgG)
m_L0 = 4; % mass of ligand (ug)
MW_L = 150000; % molecular weight of ligand (g/mol)
D_LW = 4.8e-7; % ligand diffusion coefficient in water (cm^2/s)
a = 1; % rxn stoic coeff (L per R)
% fixed carrier properties
geometry = 0.190; % geometric diffusion factor of microcarriers
R = 0.01275; % microcarrier radius (cm)
C_R0 = 144; % receptor density in carriers (pM/cm^3, nM)
D_L_app = D_LW*geometry*60; % apparent ligand diffusion coeff. (cm^2/min)
% init
t_0 = 0; % initial time (min)
t_f = 90; % final time (min)
alpha = 0.999999999999; % fudge factor to prevent MATLAB implosion
r_i0 = R * alpha; % init interfatial radius in microcarriers (cm)
C_Lb0 = m_L0 / MW_L * 1e6 / V_b; % init conc. of ligand in bulk (pmol/cm^3, nM)
% y1 = r_i, y2 = C_Lb
dydt = @(t,y) [
((R * D_L_app * y(2) / a))/(C_R0 * y(1) * (y(1) - R));
(4 * pi * n * D_L_app * y(2) * R * y(1)) / (V_b * (y(1) - R))];
[t,Y] = ode45(dydt,[t_0 t_f],[r_i0 C_Lb0]);
r_i = Y(:,1); % interfacial radius (cm)
C_Lb = Y(:,2); % bulk ligand concentration (pmol/cm^3, nM)
% fluxes (pmol/cm^2/min)
N_L = (D_L_app*C_Lb.*r_i)./(R^2*(r_i/R+(-1)));
% NOTE: flow rates (pmol/min) will be the same at interface and at r=R due
% to pseudo-steady state assumption
w_L = -(4*pi*R^2*N_L);
% concentration profiles (nM) as function of interfacial radius
C_r = diff(cumtrapz(t,-w_L))./diff(4/3*pi*r_i.^3);
% total bound mass (ug)
m_bt_L = trapz(t,w_L)*MW_L/1e6*n;
disp(['total bound mass at ',num2str(t(end)),' min']);
disp([num2str(m_bt_L),' ug, ', num2str(m_bt_L/m_L0*100), '% (ligand)']);
figure;
plot(t,C_Lb*MW_L/1e6);
xlabel('t (min)');
ylabel('concentration (ug/ml)');
legend('ligand');
title ('bulk concentration');
end