Error using pde.Transi​entThermal​Results (line 56) Solution does not correspond to time-dependent PDE.

1 visualización (últimos 30 días)
I have a transient thermal script that produces this error
Error using pde.TransientThermalResults (line 56)
Solution does not correspond to time-dependent PDE.
Error in pde.ThermalModel/solve (line 119)
R = pde.TransientThermalResults(self,u,tlist);
Error in thermalmodel4 (line 328)
result = solve(thermalModelT,tlist);
I believe it may be a problem with my q func?
qFunc = @(region,state) (loadcurrentcurve(state.time)/Vcell).*...
((OCVcurve(SoCcurve(state.time))-Vcurve(SoCcurve(state.time)))+...
((state.u).*dScurve(SoCcurve(state.time))/F));
internalHeatSource(thermalModelT,qFunc);
My q function also uses the curve fitting toolbox

Respuesta aceptada

Alan Weiss
Alan Weiss el 7 de Sept. de 2017
How are you including Vcell and F in the function qFunc? Are you passing them in a nested function? Perhaps you need to refresh yourself on how to pass extra parameters. I assume that you defined your other functions such as SoCcurve and OCVcurve correctly.
Alan Weiss
MATLAB mathematical toolbox documentation
  11 comentarios
Ben Sheard
Ben Sheard el 13 de Sept. de 2017
Hi Alan, I'm glad too, now onto my next problem!
Thank you again for your help.
Maybe a section on how to pass extra parameters into the PDE toolbox would be a good idea, especially because the toolbox stops you passing them as arguments and specifically have to be passed as parameters. Maybe a page on the error code or something just saying a link to how to pass parameters with a specific example. (Like the one you typed above)
Thank you
Ben

Iniciar sesión para comentar.

Más respuestas (1)

Svetlana Pease
Svetlana Pease el 7 de Sept. de 2017
Editada: Svetlana Pease el 7 de Sept. de 2017
Hi Ben, I suggest checking carefully which times qFunc is using vs. the times you provide to the solve function as the tlist argument. Your definition of qFunc does not directly depend on time, as in, for example,
qFunc = @(region,state)state.time*...
My suspicion is, and I can be mistaken here, that qFunc either does not depend on time at all or there is a mismatch between the times used for qFunc and solution times you pass to solve as the tlist argument.
Regards,
Svetlana Pease
Technical Writer, MathWorks Documentation Group
  1 comentario
Ben Sheard
Ben Sheard el 8 de Sept. de 2017
"mismatch between the times used for qFunc and solution times you pass to solve as the tlist argument."
i suspect this is the reason too, especially with the error
Error using pde.TransientThermalResults (line 86)
The number of input solution times is not consistent with the results.
Error in pde.ThermalModel/solve (line 119)
R = pde.TransientThermalResults(self,u,tlist);
Error in thermalmodel4 (line 332)
result = solve(thermalModelT,tlist);
I just need to figure out why...
No the qfunc doesn't directly depend on time, but the SoC and V both do, therefore require time as an Input. And then qfunc directly depends on these.
I don't see why they wouldn't have the same times, I'll use the debug process Alan suggested and spend some more time on this today

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