How to solve system of partial differential equations with unusual boundary conditions

1 view (last 30 days)
Hello, I'm trying to make a series of codes that represent a drug concentration in cancer tissue (cancer radius = R), based on convection-diffusion equation as follows (Baxter and Jain, 1989):
Where Ci is a drug concentration in cancer tissue. Since the cancer tissue is surrounded by normal tissue, the parameters used above (e.g., D) is different depending on the location of the drug.
I was able to find out so many examples on convection-diffusion equations with usual boundary conditions. But conditions that I have now are the followings:
In this case, how can I make the codes in matlab? The boundary condition of PDE on tumor range is expressed as a right-hand limit of the function, whereas the condition on normal tissue range is expressed as a left-hand limit of the function, which are the same each other. I tried to use pdepe function, but I don't know how to link the two interlocked boundary conditions from the different range.
Thank you for the kind answer on my question in advance. If you need some more information, please comment me.
Best regards,
Yoo-Seong Jeong
PS. for the possible help to understand my question, I attached my incomplete codes as below:
function pdex5 global R;
m=0; x=linspace(R,2R,20); t=linspace(0,2,1000);
sol = pdepe(m,@pdex5pde, @pdex5ic, @pdex5bc, x, t); u3 = sol(:,:,1); u4 = sol(:,:,2);
function [c,fn,s] = pdex5pde(x,t,u,DuDx) global R; global KN; global DN;
DN=0.37*0.000000001*100 ;% cm2/s
KN=8.53*0.000000001 ;%cm2/mmHg/s
LpN=0.36*10^(-7) ;%cm/mmHg/s
SVN=70 ;%cm-1
sigf=0.9;
CP=100*exp(-0.693/3600*t); % plasma concentration of liposomes
PB=15.6; %mmHg
PL=0; %mmHg
sigN=0.91;
OsmB=20 ;%mmHg
OsmIN=10 ;%mmHg
LpLSVN=1.33*0.00001; %1/mmHg-sec
Pe = PB-sigN*(OsmB-OsmIN);
Pss = (LpN*SVN*Pe + LpLSVN*PL)/(LpN*SVN+LpLSVN);
alpha = R*sqrt((LpN*SVN+LpLSVN)/KN);
c=[1; 0]; fn=[DN;1].*DuDx + [KN*DuDx(2)*u(1) ; 0]; s=[LpN*SVN*(Pss-u(2))*(1-sigf)*CP ; -((alpha)^2)*(u(2)-Pss)/(R^2)];
function u0 = pdex5ic(x) u0=[100;1];
function [pln,qln,prn,qrn] = pdex5bc(xl,ul,xr,ur,t) global KT; global KN; global DN;
pln=[;]; qln=[1; ]; prn=[0; 0]; qrn=[0; 0];
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function pdex4 global R; R=2;
m=0; x=linspace(0,R,20); t=linspace(0,2,1000);
sol = pdepe(m,@pdex4pde, @pdex4ic, @pdex4bc, x, t); u1 = sol(:,:,1); u2 = sol(:,:,2);
figure surf(x,t,u1) title('Concentration.') xlabel('Distance x') ylabel('Time t')
figure surf(x,t,u2) title('IFP') xlabel('Distance x') ylabel('Time t')
function [c,ft,s] = pdex4pde(x,t,u,DuDx) global R; global KT;
c=[1; 0];
DT=1.23*0.000000001*100 ;% cm2/s
KT=4.13*0.00000001 ;%cm2/mmHg/s
LpT=2.8*10^(-7) ;%cm/mmHg/s
SVT=200 ;%cm-1
sigf=0.9;
CP=100*exp(-0.693/3600*t); % plasma concentration of liposomes
PB=15.6; %mmHg
PL=0; %mmHg
sigT=0.82;
OsmB=20 ;%mmHg
OsmIT=15 ;%mmHg
LpLSVT=0;
Pe = PB-sigT*(OsmB-OsmIT);
Pss = (LpT*SVT*Pe + LpLSVT*PL)/(LpT*SVT+LpLSVT);
alpha = R*sqrt((LpT*SVT+LpLSVT)/KT);
ft=[DT;1].*DuDx + [KT*DuDx(2)*u(1) ; 0];
s=[LpT*SVT*(Pss-u(2))*(1-sigf)*CP ; -((alpha)^2)*(u(2)-Pss)/(R^2)];
function u0 = pdex4ic(x) u0=[100;1];
function [pl,ql,pr,qr] = pdex4bc(xl,ul,xr,ur,t) global KT; global KN; global DN; global pln; global qln; global prn; global qrn; global pl; global ql; global pr; global qr;
pl=[0; 0]; ql=[1; 1]; pr=[1; 0]; qr=[1; KT];
  1 Comment
CHORFi Salah
CHORFi Salah on 27 Jan 2019
Hi Yoo,
I'm trying to solve a similar problem, but I'dont get the solution. Did you solve your problem ? thank you for any help.

Sign in to comment.

Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!