-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathModelB_RHS.m
31 lines (25 loc) · 817 Bytes
/
ModelB_RHS.m
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
function dX = ModelB_RHS(~,X,par,LOOK)
% this function defines the kinetic right hand side of Model B to solved
% with an ode solver
%Paramaters
D = par(1); %apparent diffusion (ml/s)
Pair = par(2); %atmospheric oxygen (ml/s)
Pin = par(3); %inlet oxygen (ml/s)
Vvasc = par(4); %vascular volume (ml)
Valv = par(5); %alveolar volume (ml)
alpha = par(6);
beta = par(7);
V = par(11); %airflow (ml/s)
Q = par(12); %blood flow (ml/s)
%%% states
Cvasc = X(1); %vascular oxygen (mM)
Palv = X(2); %alveolar oxygen (mmol)
%%% O2 interpolation for hemoglobin solubility
P = LOOK.Plookup;
C = LOOK.Clookup;
Cin = interp1(P,C,Pin);
Pvasc = interp1(C,P,Cvasc);
%%% RHS
dCvasc = (Q*(Cin - Cvasc) + alpha*D*(Palv - Pvasc))./Vvasc;
dPalv = (V*(Pair-Palv) - alpha*beta*D*(Palv - Pvasc))./Valv;
dX = [dCvasc; dPalv];