Unable to meet integration tolerances

12 vues (au cours des 30 derniers jours)
Nishant Gupta
Nishant Gupta le 12 Juil 2020
Commenté : Bill Greene le 12 Juil 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

Réponses (1)

Bill Greene
Bill Greene le 12 Juil 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 commentaires
Nishant Gupta
Nishant Gupta le 12 Juil 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 le 12 Juil 2020
I suggest you edit your question to describe your equations in mathematical form, defining all symbols, and including boundary and initial conditions.

Connectez-vous pour commenter.

Community Treasure Hunt

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

Start Hunting!

Translated by