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

1 view (last 30 days)
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

Accepted Answer

Alan Weiss
Alan Weiss on 7 Sep 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 Comments
Ben Sheard
Ben Sheard on 13 Sep 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

Sign in to comment.

More Answers (1)

Svetlana Pease
Svetlana Pease on 7 Sep 2017
Edited: Svetlana Pease on 7 Sep 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 Comment
Ben Sheard
Ben Sheard on 8 Sep 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

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!