Clear Filters
Clear Filters

Why does evaluateHeatRate in PDE Solver give different answers depending on mesh size?

1 view (last 30 days)
I have a simple half-space 2D thermal model with a top surface at 0, a specified heat flux at the bottom, insulated sides, and a hot rectangular body on the left size. I am interested in the total thermal energy lost from the body in a given time, and therefor sum the results of evaluateHeatRate for the top, right, and bottom edges of the hot rectangle. If I use the default mesh generation I get one (reasonable) number, but if I make the mesh significantly finer by setting Hmax, the calculated heat lost goes up by a factor of two. It keeps rising as I made the mesh finer and finer. Any suggestions as to why this is happening appreciated.
  6 Comments
Allen
Allen on 2 Sep 2020
Thank you for the comments. I have found a more stable solution to the heat loss problem by using interpolateTemperature across the hot body to determine the temperature loss (and thus heat loss). This value, too, increases as the mesh size decreases, but at a much slower rate. evaluateHeatFlux numbers oscillate more and more as the mesh size goes down, in keeping with Asad's comment above about stiffness.
Allen
Allen on 2 Sep 2020
P.S. I have switched the calculation to seconds for consistency, but the answers are the same. The J terms cancel out as they are shared by k and c, but better to keep everything consistent.

Sign in to comment.

Answers (0)

Community Treasure Hunt

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

Start Hunting!