PDEPE : Unable to meet integration tolerances - Boundary Condition Problem
1 次查看(过去 30 天)
显示 更早的评论
Hello,
I am trying to integrate a function that depends in time (t) & length (x) function breakthrough_xt but returns with the indication in Matlab, as below.
Warning: Failure at t=4.607943e-001. Unable to meet integration tolerances without reducing the step size below the smallest value allowed (8.881784e-016) at time t.
Matlab Code :
m = 0; x = linspace(0,4,20); t = linspace(0,2,5);
sol = pdepe(m,@pdex1pde,@pdex1ic,@pdex1bc,x,t); % Extract the first solution component as u. This is not necessary % for a single equation, but makes a point about the form of the output. u = sol(:,:,1);
% A surface plot is often a good way to study a solution. figure; surf(x,t,u); title('Concentration of adsorbed in adsorbent along column along time.'); xlabel('Distance x'); ylabel('Time t');
% --------------------------------------------------------------------------
function [c,f,s] = pdex1pde(x,t,u,DuDx) kf= 0.27; Sur= pi*(2.25^2); alfa = 0.4; F=1.2/3600; c0=170; rho=0.2; n=1/0.54; w0= kf*c0^(1/n); ce=1400; %assume the equilibrium concentration is 15 gr/ml Vol = Sur *4; kd= 10; p=31/1000;
c = alfa*Sur; f = -1*F; s = rho*Sur*w0*kd*(u-(c0-ce)^n*(Vol^n)/((kf^n)*(p^n)));
% --------------------------------------------------------------------------
function u0 = pdex1ic(~) u0 = 0.001;
% --------------------------------------------------------------------------
function [pl,ql,pr,qr] = pdex1bc(~,ul,~,ur,~) pl = ul; ql = 0.001; pr = ur; qr = 1400;
I was suspecting the problem occurs in the boundary condition that I set as the warning comes as the same previous problem in : http://www.mathworks.fr/matlabcentral/answers/15885-pdepe-unable-to-meet-integration-tolerances.
As yet, I couldnt find any writing error in boundary condition. Nonetheless, any response is greatly appreciated.
0 个评论
回答(0 个)
另请参阅
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!