The last couple of hours I have been looking for an unconditionally stable method to solve the convection-diffusion equation within a 3D inhomogeneous material.

Here's the well known diffusion-convection equation: $$\rho(\vec{r})C_p(\vec{r})\frac{\partial T(\vec{r},t)}{\partial t}=\nabla [\kappa(\vec{r})\nabla T(\vec{r},t)]-\rho(\vec{r})C_p(\vec{r})\nabla[\vec{u}T(\vec{r},t)]+g(\vec{r},t)$$ where $\rho$ is the material density, $C_p$ is the heat capacity, $\kappa$ is the thermal conductivity, $\vec{u}$ is the velocity vector and $g$ represents the heat source.

So far I haven't found any method which can be used for that. The articles I came across all made severe simplifications like $\kappa$=const., ignored the convection term (2nd term on the R.H.S.) or reduced the problem to 1 or 2 dimensions. So I'm wondering now if this can be solved at all.

  • $\begingroup$ You would get more answers if you stated the equations you want to solve as a formula. I think it would also useful if you stated what you are looking for. Why is the method described there not sufficient, for example? $\endgroup$ – Wolfgang Bangerth Sep 26 '16 at 19:10
  • $\begingroup$ Thanks for your comment. I guess this is just not the right place for my question. Is there a way to delete it? $\endgroup$ – OD IUM Sep 26 '16 at 19:13
  • 1
    $\begingroup$ @ODIUM, I disagree and this is likely the proper place for your question. However, it's rather specialized in its current form and would gather more attention if you present it more explicitly (i.e. relevant questions, boundary conditions, other numerical schemes, etc.) $\endgroup$ – Spencer Bryngelson Sep 27 '16 at 5:29
  • 2
    $\begingroup$ Centered differences in space and backward Euler in time should work just fine. $\endgroup$ – David Ketcheson Sep 27 '16 at 15:51

You would be satisfied by the finite volume method (FVM) with three-time level scheme for unsteady term, which has second order accuracy and does not require any condition for stability.

The solving procedure should go with the deferred correction method, which allows us to correct solution step by step inside an iteration. Upwind scheme blending with the central difference can be applied to the convection term; it also has second order accuracy. The diffusion term with a non-constant $\kappa (\vec{r})$ can be handled by Hrvoje Jasak PhD Thesis, p.83. For a generic FVM, we can find more useful things within this thesis.


It's a standard advection-diffusion equation. As long as your coefficients are bounded away from zero, there is really no difficulty associated with this equation with the possible exception of the fact that you need to stabilize the advection term if it dominates the diffusion term.

I would use a standard finite element method, plus something like SUPG for the advection term, and a backward Euler or Crank-Nicolson scheme for the time discretization. It's that easy :-)

  • $\begingroup$ Thx for your response but I don't think its easy...I need to solve it in 3D with 2nd order accuracy in space and time using finite differences. So I will have to use something like operator splitting or even worse... $\endgroup$ – OD IUM Sep 29 '16 at 13:48
  • $\begingroup$ No, it really is that easy. Trust me. I solve this equation in 3d with 100,000,000 unknowns basically every day. $\endgroup$ – Wolfgang Bangerth Sep 30 '16 at 2:54
  • $\begingroup$ ok, maybe you're right. I am not that familiar with FEM. I've only used finite difference and finite volume methods. Indeed, I was told FD has some problems with nonlinear terms (at least using an explicit method) and I was suggested to use FEM or FV. $\endgroup$ – OD IUM Oct 1 '16 at 22:07

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.