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
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
  2 个评论
Bar
Bar 2013-12-10
it works! thanks man. i'll see if i don't get into some more obstacles while using the more complex equations i have.
Bar
Bar 2013-12-12
编辑:Bar 2013-12-12
Bill, one more question: what if i have a fixed value of u in one point (in the middle, not BC)?
i changed the draw - now it will explain the problem better.
i'm modeling mass transfer between liquid and gas. and in the interface between two part (x=L), i know that i have a fixed value of the concentration, due to liquid-vapor equilibrium. thus, from the left side of x=L (boundary of my left subdomain,the gas), i know the value of the concentration.
it also causes discontinuity in the value of C - as the concentration in the gas phase in much lower. it's like there is a jump in the water concentration right above a water cup bewteen the concetraion in the cup and the humidity abouve it - but there is a flux beteen those two (hope this example helped and did not confuse)
how can i solve this one?
Thanks, Bar

请先登录,再进行评论。

更多回答(1 个)

Bill Greene
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
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
Bar
Bar 2013-12-10
i understand, but how do i define the different alpha, that change at x=L?

请先登录,再进行评论。

标签

产品

Community Treasure Hunt

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

Start Hunting!

Translated by