Unable to meet integration tolerances

1 visualización (últimos 30 días)
Nishant Gupta
Nishant Gupta el 12 de Jul. de 2020
Comentada: Bill Greene el 12 de Jul. de 2020
I am using the 'pdepe' solver in Matlab but I get this error-
Warning: Failure at t=1.000000e+00. Unable to meet integration tolerances without reducing the step size below the smallest value allowed (3.552714e-15) at time t.
> In ode15s (line 653)
In pdepe (line 289)
In differential (line 5)
Warning: Time integration has failed. Solution is available at requested time points up to t=1.000000e+00.
> In pdepe (line 303)
In differential (line 5)
Here's the code I have-
clc
x = linspace(0,10,20);
t = linspace(1, 1000, 100);
m = 0;
sol = pdepe(m, @pde1pde, @pde1ic, @pde1bc, x, t)
function [c,f,s] = pde1pde(x, t, u, dudx)
rho = 906;
Cp = 0.4365;
MW = 104.15;
dH = -17800;
k = (1.22-0.002*u)/36;
xp = 1-x;
A0 = 1.964*(10^5)*exp(-10040./u);
A1 = 2.57-5.05*u*(10^(-3));
A2 = 9.56-1.76*u*(10^(-2));
A3 = -3.03+7.85*u*(10^(-3));
A = A0*exp(A1*(xp) + A2*(xp^2) + A3*(xp^3));
c = (rho*Cp)/k;
f = dudx;
s = (((rho/MW)*x)^(2.5))*A*(-dH)/k;
end
function u0 = pde1ic(x)
T0 = 20 + 273.15;
u0 = T0;
end
function [pl, ql, pr, qr] = pde1bc(xl, ul, xr, ur, t)
pl = 0;
ql = 1;
pr = 0;
qr = 1;
end
I have tried changing the arguements of t = linspace(1,1000, 100) but I get always get the same error. The solution is provided only for the first value of the vector t and it is equal to T0 irrespective of the value of t. Any hellp is appreciated

Respuestas (1)

Bill Greene
Bill Greene el 12 de Jul. de 2020
Your equations have a fundamental error. Just calculate the "s" term along the length at the initial temperature and the problem will be obvious.
  2 comentarios
Nishant Gupta
Nishant Gupta el 12 de Jul. de 2020
I got my mistake. There are actually 4 variables in the system- "z" is the spatial dimension, "t" is the time, "u" is the temperature and the "x" I have used in defining the equations above is actually the mass fraction and not the length.
Seeing that there are 4 variables now, are there any methods in Matlab that would allow me to solve this system?
Thanks!
Bill Greene
Bill Greene el 12 de Jul. de 2020
I suggest you edit your question to describe your equations in mathematical form, defining all symbols, and including boundary and initial conditions.

Iniciar sesión para comentar.

Community Treasure Hunt

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

Start Hunting!

Translated by