How to avoid oscillations when numerically integrating the thermal counductivity equations on discrete grid?

The name of the pictureThe name of the pictureThe name of the pictureClash Royale CLAN TAG#URR8PPP











up vote
1
down vote

favorite
1












Consider the grid (one or two dimensional) of cells modelling the solid - each cell holds the current temperature and heat capacity.



Propagation of heat is then modelled in two iterative steps:

1. Compute temperature differences between neighbour cells thus yielding the heat flux according to the Fourier's law

2. Compute the termperature changes of cells according to heat capacity of a cell

3. Proceed to next iteration of time



This kind of approach can lead to oscillations (which cannot happen under heat transfer equation) - when temperature differences are high, heat is transferred too much between cells so they become to have the temperature gradient in reverse direction.



How to avoid such oscillations?







share|cite|improve this question




















  • Presumably the temperature changes calculated in step 2 are of the same order of magnitude or larger than the temperature differences in step 1 leading to oscillation. What happens when the temperature changes in step 2 are much smaller than the temp differences in step 1, say by reducing the iteration interval used?
    – James Arathoon
    Aug 27 at 14:11










  • Yes, that's how I described it. Temperature difference inverts due to large heat flux.
    – mbaitoff
    Aug 27 at 16:07










  • So, basically you're computing temperature via an explicit numerical scheme for heat equation. It's known to be unstable if the stability condition on $fractauh^2$ is violated, where $tau$ is the time-step (you're using it in your in your iterative process) and $h$ is the space mesh step.
    – VorKir
    Aug 28 at 0:08










  • @VorKir my time step is effectively equals to one (one iteration) and lateral step is also one (one cell), how can that satisfy the stability condition? Is there other than explicit schemes that avoid the unstability?
    – mbaitoff
    Aug 28 at 4:14






  • 1




    First, unless I miss something, your statement is wrong if applied in general, read about stability in any textbook on numerical analysis, e.g., en.wikipedia.org/wiki/FTCS_scheme. Second, I forgot about heat capacity and heat conductivity which affect the stability condition. It should read as $fractauh^2 leq fracc2d lambda$ where $d = 1,2$ is the dimension, $c$ is the heat capacity and $lambda$ is the heat conductivity.
    – VorKir
    Aug 28 at 16:50















up vote
1
down vote

favorite
1












Consider the grid (one or two dimensional) of cells modelling the solid - each cell holds the current temperature and heat capacity.



Propagation of heat is then modelled in two iterative steps:

1. Compute temperature differences between neighbour cells thus yielding the heat flux according to the Fourier's law

2. Compute the termperature changes of cells according to heat capacity of a cell

3. Proceed to next iteration of time



This kind of approach can lead to oscillations (which cannot happen under heat transfer equation) - when temperature differences are high, heat is transferred too much between cells so they become to have the temperature gradient in reverse direction.



How to avoid such oscillations?







share|cite|improve this question




















  • Presumably the temperature changes calculated in step 2 are of the same order of magnitude or larger than the temperature differences in step 1 leading to oscillation. What happens when the temperature changes in step 2 are much smaller than the temp differences in step 1, say by reducing the iteration interval used?
    – James Arathoon
    Aug 27 at 14:11










  • Yes, that's how I described it. Temperature difference inverts due to large heat flux.
    – mbaitoff
    Aug 27 at 16:07










  • So, basically you're computing temperature via an explicit numerical scheme for heat equation. It's known to be unstable if the stability condition on $fractauh^2$ is violated, where $tau$ is the time-step (you're using it in your in your iterative process) and $h$ is the space mesh step.
    – VorKir
    Aug 28 at 0:08










  • @VorKir my time step is effectively equals to one (one iteration) and lateral step is also one (one cell), how can that satisfy the stability condition? Is there other than explicit schemes that avoid the unstability?
    – mbaitoff
    Aug 28 at 4:14






  • 1




    First, unless I miss something, your statement is wrong if applied in general, read about stability in any textbook on numerical analysis, e.g., en.wikipedia.org/wiki/FTCS_scheme. Second, I forgot about heat capacity and heat conductivity which affect the stability condition. It should read as $fractauh^2 leq fracc2d lambda$ where $d = 1,2$ is the dimension, $c$ is the heat capacity and $lambda$ is the heat conductivity.
    – VorKir
    Aug 28 at 16:50













up vote
1
down vote

favorite
1









up vote
1
down vote

favorite
1






1





Consider the grid (one or two dimensional) of cells modelling the solid - each cell holds the current temperature and heat capacity.



Propagation of heat is then modelled in two iterative steps:

1. Compute temperature differences between neighbour cells thus yielding the heat flux according to the Fourier's law

2. Compute the termperature changes of cells according to heat capacity of a cell

3. Proceed to next iteration of time



This kind of approach can lead to oscillations (which cannot happen under heat transfer equation) - when temperature differences are high, heat is transferred too much between cells so they become to have the temperature gradient in reverse direction.



How to avoid such oscillations?







share|cite|improve this question












Consider the grid (one or two dimensional) of cells modelling the solid - each cell holds the current temperature and heat capacity.



Propagation of heat is then modelled in two iterative steps:

1. Compute temperature differences between neighbour cells thus yielding the heat flux according to the Fourier's law

2. Compute the termperature changes of cells according to heat capacity of a cell

3. Proceed to next iteration of time



This kind of approach can lead to oscillations (which cannot happen under heat transfer equation) - when temperature differences are high, heat is transferred too much between cells so they become to have the temperature gradient in reverse direction.



How to avoid such oscillations?









share|cite|improve this question











share|cite|improve this question




share|cite|improve this question










asked Aug 27 at 12:24









mbaitoff

578319




578319











  • Presumably the temperature changes calculated in step 2 are of the same order of magnitude or larger than the temperature differences in step 1 leading to oscillation. What happens when the temperature changes in step 2 are much smaller than the temp differences in step 1, say by reducing the iteration interval used?
    – James Arathoon
    Aug 27 at 14:11










  • Yes, that's how I described it. Temperature difference inverts due to large heat flux.
    – mbaitoff
    Aug 27 at 16:07










  • So, basically you're computing temperature via an explicit numerical scheme for heat equation. It's known to be unstable if the stability condition on $fractauh^2$ is violated, where $tau$ is the time-step (you're using it in your in your iterative process) and $h$ is the space mesh step.
    – VorKir
    Aug 28 at 0:08










  • @VorKir my time step is effectively equals to one (one iteration) and lateral step is also one (one cell), how can that satisfy the stability condition? Is there other than explicit schemes that avoid the unstability?
    – mbaitoff
    Aug 28 at 4:14






  • 1




    First, unless I miss something, your statement is wrong if applied in general, read about stability in any textbook on numerical analysis, e.g., en.wikipedia.org/wiki/FTCS_scheme. Second, I forgot about heat capacity and heat conductivity which affect the stability condition. It should read as $fractauh^2 leq fracc2d lambda$ where $d = 1,2$ is the dimension, $c$ is the heat capacity and $lambda$ is the heat conductivity.
    – VorKir
    Aug 28 at 16:50

















  • Presumably the temperature changes calculated in step 2 are of the same order of magnitude or larger than the temperature differences in step 1 leading to oscillation. What happens when the temperature changes in step 2 are much smaller than the temp differences in step 1, say by reducing the iteration interval used?
    – James Arathoon
    Aug 27 at 14:11










  • Yes, that's how I described it. Temperature difference inverts due to large heat flux.
    – mbaitoff
    Aug 27 at 16:07










  • So, basically you're computing temperature via an explicit numerical scheme for heat equation. It's known to be unstable if the stability condition on $fractauh^2$ is violated, where $tau$ is the time-step (you're using it in your in your iterative process) and $h$ is the space mesh step.
    – VorKir
    Aug 28 at 0:08










  • @VorKir my time step is effectively equals to one (one iteration) and lateral step is also one (one cell), how can that satisfy the stability condition? Is there other than explicit schemes that avoid the unstability?
    – mbaitoff
    Aug 28 at 4:14






  • 1




    First, unless I miss something, your statement is wrong if applied in general, read about stability in any textbook on numerical analysis, e.g., en.wikipedia.org/wiki/FTCS_scheme. Second, I forgot about heat capacity and heat conductivity which affect the stability condition. It should read as $fractauh^2 leq fracc2d lambda$ where $d = 1,2$ is the dimension, $c$ is the heat capacity and $lambda$ is the heat conductivity.
    – VorKir
    Aug 28 at 16:50
















Presumably the temperature changes calculated in step 2 are of the same order of magnitude or larger than the temperature differences in step 1 leading to oscillation. What happens when the temperature changes in step 2 are much smaller than the temp differences in step 1, say by reducing the iteration interval used?
– James Arathoon
Aug 27 at 14:11




Presumably the temperature changes calculated in step 2 are of the same order of magnitude or larger than the temperature differences in step 1 leading to oscillation. What happens when the temperature changes in step 2 are much smaller than the temp differences in step 1, say by reducing the iteration interval used?
– James Arathoon
Aug 27 at 14:11












Yes, that's how I described it. Temperature difference inverts due to large heat flux.
– mbaitoff
Aug 27 at 16:07




Yes, that's how I described it. Temperature difference inverts due to large heat flux.
– mbaitoff
Aug 27 at 16:07












So, basically you're computing temperature via an explicit numerical scheme for heat equation. It's known to be unstable if the stability condition on $fractauh^2$ is violated, where $tau$ is the time-step (you're using it in your in your iterative process) and $h$ is the space mesh step.
– VorKir
Aug 28 at 0:08




So, basically you're computing temperature via an explicit numerical scheme for heat equation. It's known to be unstable if the stability condition on $fractauh^2$ is violated, where $tau$ is the time-step (you're using it in your in your iterative process) and $h$ is the space mesh step.
– VorKir
Aug 28 at 0:08












@VorKir my time step is effectively equals to one (one iteration) and lateral step is also one (one cell), how can that satisfy the stability condition? Is there other than explicit schemes that avoid the unstability?
– mbaitoff
Aug 28 at 4:14




@VorKir my time step is effectively equals to one (one iteration) and lateral step is also one (one cell), how can that satisfy the stability condition? Is there other than explicit schemes that avoid the unstability?
– mbaitoff
Aug 28 at 4:14




1




1




First, unless I miss something, your statement is wrong if applied in general, read about stability in any textbook on numerical analysis, e.g., en.wikipedia.org/wiki/FTCS_scheme. Second, I forgot about heat capacity and heat conductivity which affect the stability condition. It should read as $fractauh^2 leq fracc2d lambda$ where $d = 1,2$ is the dimension, $c$ is the heat capacity and $lambda$ is the heat conductivity.
– VorKir
Aug 28 at 16:50





First, unless I miss something, your statement is wrong if applied in general, read about stability in any textbook on numerical analysis, e.g., en.wikipedia.org/wiki/FTCS_scheme. Second, I forgot about heat capacity and heat conductivity which affect the stability condition. It should read as $fractauh^2 leq fracc2d lambda$ where $d = 1,2$ is the dimension, $c$ is the heat capacity and $lambda$ is the heat conductivity.
– VorKir
Aug 28 at 16:50
















active

oldest

votes











Your Answer




StackExchange.ifUsing("editor", function ()
return StackExchange.using("mathjaxEditing", function ()
StackExchange.MarkdownEditor.creationCallbacks.add(function (editor, postfix)
StackExchange.mathjaxEditing.prepareWmdForMathJax(editor, postfix, [["$", "$"], ["\\(","\\)"]]);
);
);
, "mathjax-editing");

StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "69"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);

else
createEditor();

);

function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
convertImagesToLinks: true,
noModals: false,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
noCode: true, onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);



);













 

draft saved


draft discarded


















StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmath.stackexchange.com%2fquestions%2f2896146%2fhow-to-avoid-oscillations-when-numerically-integrating-the-thermal-counductivity%23new-answer', 'question_page');

);

Post as a guest



































active

oldest

votes













active

oldest

votes









active

oldest

votes






active

oldest

votes















 

draft saved


draft discarded















































 


draft saved


draft discarded














StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmath.stackexchange.com%2fquestions%2f2896146%2fhow-to-avoid-oscillations-when-numerically-integrating-the-thermal-counductivity%23new-answer', 'question_page');

);

Post as a guest













































































這個網誌中的熱門文章

tkz-euclide: tkzDrawCircle[R] not working

How to combine Bézier curves to a surface?

1st Magritte Awards