Solving a system of PDE, not on the same control volume
3 次查看(过去 30 天)
显示 更早的评论
Hello, i'm trying to solve a problem similar to the one in the attached photo(not the same one...but the same concept): a system of parabolic PDEs, like the heat transfer problem between different materials. how can i do it with MATLAB? from what i understood, PDEPE can solve a system, but only on the same control volume. any other ideas?
i'll thanks your help in implementing a solution of my problem
Thanks, in advance! Bar
采纳的回答
Bill Greene
2013-12-10
Your pdefun function should look something like this:
function [c,f,s] = pdefun(x,t,u,DuDx)
if(x < L)
k = alpha1;
else
k = alpha2;
end
c=1;
f = k*DuDx;
s=0;
end
I probably should also mention that you should experiment with different mesh densities because the mesh affects the accuracy of the pdepe solution. But that recommendation applies whether you have continuous or discontinuous coefficients.
Bill
更多回答(1 个)
Bill Greene
2013-12-7
Hi,
There is no difficulty using pdepe to solve your equation. You define xmesh over the full 2L length and, for best results, you want to define the number of elements in xmesh so that there is a node point at x=L. Beyond that, in your pdefun function, you just define the flux in terms of a1 if x<L and a2 if x>L.
Bill
3 个评论
Bill Greene
2013-12-9
By flux term, I simply mean the f output from pdefun. This is the heat flux in your example-- either alpha_1*dT/dx or alpha_2*dT/dx. The only boundary conditions to be specified are at x=0 and x=2L.
Bill
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Boundary Conditions 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!