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

1 vue (au cours des 30 derniers jours)
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

Réponse acceptée

Alan Weiss
Alan Weiss le 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 commentaires
Ben Sheard
Ben Sheard le 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
Ben Sheard
Ben Sheard le 13 Sep 2017
Hi Alan,
Hoping you can point me in the right direction with the next step of my code.
Thank you again
Ben

Connectez-vous pour commenter.

Plus de réponses (1)

Svetlana Pease
Svetlana Pease le 7 Sep 2017
Modifié(e) : Svetlana Pease le 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 commentaire
Ben Sheard
Ben Sheard le 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

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