I am trying to solve one dimensional inviscid Burger's equation using adaptive mesh refinement. This is the PDE:

$$\frac{\delta U}{\delta t} + \frac{\delta F}{\delta x} = 0$$ where the flux F of the variable U is defined as$$ F= \frac{U^2}{2}$$

To solve this equation, I am defining a control volume around point i, then I should write the original equation as:

$$\frac{U_i^{n+1} - U_i^{n}}{\Delta t} + \frac{ F_{i+0.5}^{n} - F_{i-0.5}^{n}}{\Delta x} = 0 $$ I am defining these fluxes as (Ref: http://www.astro.uu.se/~bf/course/numhd_course_20100124.pdf):

enter image description here

This scheme works perfectly for any particular mesh. Now, when I am using the adaptive mesh refinement scheme proposed by Berger and Collela (http://www.sciencedirect.com/science/article/pii/0021999189900351). I am confused about how to calculate fluxes at coarse-fine mesh interface as shown in this figure: (Refinement factor is 4 and stars are fine mesh points. enter image description here

During integrating fine mesh, I need to get these fluxes because these fluxes are used to correct the coarse grid points values to ensure conservation in the grid hierarchy. In this case, I need to correct the values of i-1 and i+1 using these fluxes which are associated with the fine mesh. Since they are boundary flux for the fine mesh and also, the boundary values changes with each fine grid time step (unlike the coarse mesh because the coarse mesh boundary values are the boundary conditions assigned to PDE), I can not figure out about how to evaluate them. After every fine grid timestep, I know the u values at all four points.

  • $\begingroup$ What are you using for dx in you scheme along the fine/coarse boundary? $\endgroup$ Aug 21, 2015 at 15:18
  • $\begingroup$ @KyleMandli I am using 21 points for coarse mesh so that makes my dx equal to 1/20 and for the fine grid, it is dx/4n as the refinement factor is 4 $\endgroup$ Aug 22, 2015 at 15:40

1 Answer 1


Even though these fluxes occur at the boundary of the fine mesh, they are no boundary fluxes. What you need to do is discretize your equation at the refinement boundary, taking the assymetry of the cells into account.

How you precisely compute the fluxes will also depend on the time stepping method. The easiest case is using a single time step on all refinement levels. If you use different time steps on different levels, things are more complicated, because you need to 'predict' the coarse values.


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.