How to solve a PDE where the boundary condition is an spatial ODE

조회 수: 9 (최근 30일)
I have a PDE which i need to solve to get both the spatial and time related results. However i am confused as to how to pose the problem in matlab especially with the boundary conditions. I have attached the problem so that it is clear what i am talking about. The initial condition for lambda at t=0 is 0. The boundary conditions (at x = 0 and at x = L) is N_lambda = 0. Can anyone help me out here in defining the problem in matlab. Thank you very much in advance

채택된 답변

Bill Greene
Bill Greene 2023년 4월 20일
I suggest you use the pdepe function to solve this PDE.
In PDE of the type you show, especially when the PDE represents a physical phenomenon, terms like your N_lambda are referred to as the "flux." pdepe makes it easy to define boundary conditions where the flux equals a specified value, e.g. zero.
pdepe requires you to create a function to define your PDE. For your example it would look something like this:
function [c,f,s] = pdeDefinition(x,t,lam,dlamdx)
epsi=1;
Vm=2;
DLam=3;
nd=4;
ip=5;
F=6;
c = epsi/Vm;
f = DLam/Vm*dlamdx - nd*ip/F;
s = S+r;
end
The boundary condition function, which you also have to write, would look something like this.
function [pl,ql,pr,qr] = bcFunc(xl,lam_l,xr,lam_r,t)
pl = 0;
ql = 1;
pr = 0;
qr = 1;
end
  댓글 수: 6
Bill Greene
Bill Greene 2023년 4월 20일
Regarding pdepe BC, this note I wrote several years ago might be useful.
Regarding the usage of pdepe in general, I strongly recommend starting with a simple PDE that you know the analytical solution to and experiment with that until you are comfortable with the syntax and options.
Sachin Hegde
Sachin Hegde 2023년 4월 20일
Thank you very much for the notes. I was able to solve the PDE with your provided method. The PDE gives a solution in time and space. What i am now looking for is to use the last row of the results (at t = tend of the pdepe) to another PDE as initial condition. Since the result of the first PDE is a vector of size (1*n), how can it be passed into the inital condition of another pdepe solver. How to do it? When i try to pass an array in IC it is always a scalar zero.
1st PDE
Solution : (1*n) array
Use Solution as Initial condition for 2nd PDE

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 PDE Solvers에 대해 자세히 알아보기

태그

제품

Community Treasure Hunt

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

Start Hunting!

Translated by