Can I use pdepe to solve a nonlinear PDE system?

์กฐํšŒ ์ˆ˜: 3 (์ตœ๊ทผ 30์ผ)
Augusto C
Augusto C 2018๋…„ 9์›” 6์ผ
ํŽธ์ง‘: Augusto C 2018๋…„ 9์›” 7์ผ
I'm trying to solve the following PDE system for ?(z,t) and v(z,t), using pdepe:
โˆ‚/โˆ‚z [(1/? + A)*โˆ‚v/โˆ‚z - v*โˆ‚?/โˆ‚z)] + [1/(1-?)]*[A*โˆ‚v/โˆ‚z *โˆ‚(1-?)/โˆ‚z - B*v/?^2] = 0
โˆ‚?/โˆ‚t = โˆ‚/โˆ‚z[v*(1-?)]
where A and B are constants. The initial condition is
?(z,0) = 0.05
and the boundary conditions are
v(0,t) = 0
v(1,t) = - 0.1
The code I used is this [I use u(1) โ‰ก ? and u(2) โ‰ก v]:
function rbs
m = 0;
x = linspace(0,10,100);
t = linspace(0,10,100);
sol = pdepe(m,@rbs_pde,@rbs_ic,@rbs_bc,x,t);
u1 = sol(:,:,1);
u2 = sol(:,:,2);
% --------------------------------------------------------------
function [c,f,s] = rbs_pde(x,t,u,DuDx)
c = [0; 1];
f = [((1/u(1)) + (1/0.75))*DuDx(2) - u(2)*DuDx(1); (1 - u(1))*u(2)];
s = [-(1/(1 - u(1)))*DuDx(1)*DuDx(2) - (1/8000^2)*(1/(1 - u(1)))*u(2)/(u(1))^2; 0];
% --------------------------------------------------------------
function u0 = rbs_ic(x);
u0 = [1; 0];
% --------------------------------------------------------------
function [pl,ql,pr,qr] = rbs_bc(xl,ul,xr,ur,t)
pl = [0; ul(2)];
ql = [0; 0];
pr = [0; ur(2) + 1e-1];
qr = [0; 0];
However, I get the following error message:
Spatial discretization has failed. Discretization supports only parabolic and elliptic equations, with flux term involving spatial
derivative.
  ๋Œ“๊ธ€ ์ˆ˜: 1
Bill Greene
Bill Greene 2018๋…„ 9์›” 7์ผ
What are the boundary conditions for ?? Your first equation has a second derivative of ? with respect to z so you need two boundary conditions.

๋Œ“๊ธ€์„ ๋‹ฌ๋ ค๋ฉด ๋กœ๊ทธ์ธํ•˜์‹ญ์‹œ์˜ค.

๋‹ต๋ณ€ (0๊ฐœ)

์นดํ…Œ๊ณ ๋ฆฌ

Help Center ๋ฐ File Exchange์—์„œ Boundary Conditions์— ๋Œ€ํ•ด ์ž์„ธํžˆ ์•Œ์•„๋ณด๊ธฐ

ํƒœ๊ทธ

์ œํ’ˆ


๋ฆด๋ฆฌ์Šค

R2016a

Community Treasure Hunt

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

Start Hunting!

Translated by