5
$\begingroup$

I cannot find a reference explaining clearly and rigorously the links between the notions of conservative form for a PDE, a conservative numerical method and discrete conservation.

I would be very grateful for a complete explanation.

$\endgroup$
3
$\begingroup$

I know this topic well for some class of PDEs, so I try to give you a general answer with one example from applications I am familiar with.

1.) Conservative form of PDE - this notion is used when your PDE is derived from a (typically integral) form of some (physical) conservation laws and you write this PDE in the origin form. Very often you can rewrite the PDE in a different form using some rules for derivatives and, even more importantly, using some additional properties for some input data in your PDE, then you call this other form of PDE to be non-conservative to distinguish it from the origin conservative form.

For instance the conservation of tracer transported in a fluid can be modeled by

\begin{equation} \nonumber \partial_t \rho + \nabla \cdot (\rho \vec{v} ) = 0 \end{equation}

and this is the conservative form of the PDE for any velocity $\vec{v}$. You can rewrite it using standard rule for derivatives to another (equivalent) form

$$ \partial_t + \nabla \rho \cdot \vec{v} + \rho \nabla \cdot \vec{v} = 0 . $$

If you moreover deal with so called incompressible flows then $\nabla \cdot \vec{v} = 0$, so you obtain finally

$$ \partial_t \rho + \vec{v} \cdot \nabla \rho = 0 . $$

The last PDE you might call to be written in a nonconservative form, because you must require $\nabla \cdot \vec{v} = 0$ to say it describes the conservation of transported tracer. Without this condition the last PDE is not conservative in general, it is so called advection equation.

2.) Conservative numerical method - if you directly approximate the conservative PDE, then usually your method is conservative if you do everything "right" (some comments on this in the third answer).

If you implement a numerical method for the non-conservative form of PDE, although your problem is described by a conservative PDE, then you must typically insure (or do some additional work to show) that your method is conservative. If I simplify it, any numerical method derived as an approximation of non-conservative form of some conservative PDE can be in general non-conservative.

3.) Discrete conservation - your conservative PDE describes a conservation of some quantity that is defined in the continuous form typically by some integral. This quantity (or its density) is changing in time and space only due to "flow" ("fluxes") of it. Typically if you compute the conservative PDE on a bounded domain with no flow at its boundary, then this conserved quantity in the whole domain does not change in time.

To speak about the same property in a discrete form, you must define how you approximate these quantities in a discrete form and how they are fulfilled in a discrete form. Then you may speak about discrete conservation.

For instance for my first conservative PDE in 1D case the conservative method is

$$ \rho_i^{n+1} = \rho_i^n - \frac{dt}{dx} (\rho_{i+1/2}^n v(x_{i+1/2}) - \rho_{i-1/2}^n v(x_{i-1/2})) $$ that shall be valid for $i=1,2,\ldots,I$ (I try to use typical notation for numerical schemes without going into details).

It is conservative, because you use consistently the approximation of fluxes, i.e. the left flux for the $i$-th discrete equation is equal to the right flux of the discrete equation for $i-1$. If $v(x_{1/2})=0$ and $v(x_{I+1/2})=0$ then $$dx \sum_{i=1}^I \rho_i^n = dx \sum_{i=1}^I \rho_i^0$$ for each $n$.

If you approximate my third non-conservative form in 1D you might use $$ \rho_i^{n+1}= \rho_i^n - dt \, v(x_i) \frac{\rho_{i+1/2}^n - \rho_{i-1/2}^n}{dx} $$ and that is definitely not conservative numerical method (except for a constant $v$).

| cite | improve this answer | |
$\endgroup$

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.