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$ Commented Sep 26, 2016 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
    Commented Sep 26, 2016 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$
    – user20857
    Commented Sep 27, 2016 at 5:29
  • 2
    $\begingroup$ Centered differences in space and backward Euler in time should work just fine. $\endgroup$ Commented Sep 27, 2016 at 15:51

2 Answers 2


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
    Commented Sep 29, 2016 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$ Commented Sep 30, 2016 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
    Commented Oct 1, 2016 at 22:07

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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