I am working on reactive transport and I need to solve this advection equation:

\begin{align} \frac{\partial (\phi C)}{\partial t} = - \nabla \cdot \big(\vec{q}(\phi) C\big) \end{align}

with $\phi$ being the porosity, C the concentration of an element, and $\vec{q}$ the fluid flux. I am calculating the porosity and the fluid flux with Darcy's law so I only have 1 unknown.

It has been a while since I started working on it (see this topic [1] or this one [2]) and I am still struggling. The 2 main problems are that:

  • $\vec{q}$ is not divergence-free as my media is compressible so I want to use a WENO scheme

  • there are 2 variables in the time derivative.

One idea is to rewrite the first equation that way, as I know the evolution of $\phi$ through time:

\begin{equation} C \frac{\partial \phi }{\partial t} + \phi\frac{\partial C}{\partial t} = - \nabla \cdot \big(\vec{q}(\phi) C\big) \end{equation} \begin{equation} \frac{\partial C}{\partial t} = - \frac{1}{\phi} \Bigg(\nabla \cdot \big(\vec{q}(\phi) C\big) - C \frac{\partial \phi }{\partial t} \Bigg) \end{equation}

I can then use SSP 4th order rungen kutta on that.

I was told previously that it may not be a good idea. May I know why?

  • $\begingroup$ This may not be a good idea because the second set of equations are not conservation laws and so a finite volume approach doesn't make sense. $\endgroup$
    – user20857
    Apr 6, 2022 at 15:14
  • $\begingroup$ Note that you don't have to start a new question. This one is mostly a repeat of your other question (at the very least, you should be referencing the previous question). $\endgroup$
    – user20857
    Apr 6, 2022 at 15:15
  • $\begingroup$ @SpencerBryngelson I agree for the question quite similar to the previous one, I've linked the previous topic and I've reduced the question to focus on my idea for this topic. To come back to my question, I am using Finite differences WENO and not finite volume (not sure it changes anything) because it is faster in 2D. Do you mean that this approach will not be mass conservative? $\endgroup$
    – Iddingsite
    Apr 6, 2022 at 15:31
  • $\begingroup$ Finite volume methods conserve conservation laws at the discrete -- other methods do not (to my knowledge, at least). WENO is for sharp spatial derivatives, which is a different problem. $\endgroup$
    – user20857
    Apr 6, 2022 at 18:00
  • 1
    $\begingroup$ Many finite volume methods will be equivalent to a finite difference method on a regular mesh. E.g. central differences vs. linear interpolations = second order, not just first order. $\endgroup$ Apr 7, 2022 at 11:56

1 Answer 1


The reason not to do this is that the last equation does not express itself as a conservation law in $C$ in terms of its variables. Perhaps consider the excellent introduction here about why that can be handy.

  • $\begingroup$ Thx for the reference and your patience. I feel like I am missing a bit of the basics so I will dive into it. $\endgroup$
    – Iddingsite
    Apr 11, 2022 at 14:10

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.