<TeXmacs|1.0.6>

<style|<tuple|article|mystyle>>

<\body>
  <doc-data|<doc-title|257 Summary>>

  TODO:

  <\itemize>
    <item>How did we deduce TVD for the PDE?

    <item>Lax's entropy condition: <with|mode|math|\<less\>> or
    <with|mode|math|\<leqslant\>>?

    <item>Strange second integral condition in derivation of Godunov.

    <item>Why the meshing restriction for FD?
  </itemize>

  <\section>
    Miscellanea
  </section>

  <\itemize>
    <item>An interpolation polynomial is monotone in a jump cell.

    Example: Degree-five polynomial, six points, degree-four derivative, four
    derivative zeros in each of the boundary
    cells<with|mode|math|\<Rightarrow\>>none in the center jump cell.
  </itemize>

  <section|Theory>

  <\itemize>
    <item><em|Conservation Law>: <with|mode|math|u<rsub|t>+f(u)<rsub|x>=0>.
    Initial condition <with|mode|math|u<rsub|0>>.

    <item><em|Integral form>:

    <\equation>
      <label|eq:int-claw><frac|\<mathd\>|\<mathd\>t><big|int><rsub|a><rsup|b>u(x,t)=f(u(b,t))-f(u(a,t)).
    </equation>

    <item><em|Characteristic>: Defined by

    <\equation*>
      <frac|\<mathd\>|\<mathd\>t>u(x(t),t)=u<rsub|x>x<rprime|'>+u<rsub|t><above|=|!>0,
    </equation*>

    setting <with|mode|math|x<rprime|'>=f<rprime|'>>. May cross.

    <item><em|Weak solution>:

    <\itemize>
      <item>(<reference|eq:int-claw>) for almost all <with|mode|math|(a,b)>

      <item>For any <with|mode|math|\<varphi\>\<in\>C<rsup|1><rsub|0>(\<bbb-R\><rsup|2>)>,
      <with|mode|math|t\<gtr\>0>

      <\equation*>
        -<big|int><rsub|0><rsup|t><big|int><rsub|-\<infty\>><rsup|\<infty\>>u\<varphi\><rsub|t>+f(u)\<varphi\><rsub|x>\<mathd\>x\<mathd\>t-<big|int><rsub|-\<infty\>><rsup|\<infty\>>u<rsub|0>(x)\<varphi\>(x,0)\<mathd\>x=0.
      </equation*>
    </itemize>

    Both definitions equivalent.

    <item><em|Rankine-Hugoniot condition>: Curve parameterized by
    <with|mode|math|(x(t),t)> separates two smooth regions.

    <\equation*>
      s=x<rprime|'>(t)=<frac|<jump|f>|<jump|u>>
    </equation*>

    Proof: Split (<reference|eq:int-claw>) at <with|mode|math|x(t)>, carry
    out time derivative, observe Leibniz rule, apply conservation law.

    <item><em|Riemann problem>: Conservation law with single-jump (otherwise
    constant) IC.

    Rarefaction (<with|mode|math|-1,x/t,1>) is a weak solution, jump is also
    weak solution<with|mode|math|\<Rightarrow\>>non-uniqueness.

    If <with|mode|math|f> is convex, the general solution

    \;

    <\equation*>
      u(x,t)=<choice|<tformat|<table|<row|<cell|<choice|<tformat|<table|<row|<cell|u<rsub|l>>|<cell|x\<less\>s*t,>>|<row|<cell|u<rsub|r>>|<cell|x\<gtr\>s*t,>>>>>>|<cell|u<rsub|l>\<gtr\>u<rsub|r>,>>|<row|<cell|<choice|<tformat|<table|<row|<cell|u<rsub|l>>|<cell|x\<less\>f<rprime|'>(u<rsub|l>)t,>>|<row|<cell|(f<rprime|'>)<rsup|-1>(x/t)>|<cell|<with|mode|text|otherwise>,>>|<row|<cell|u<rsub|r>>|<cell|x\<gtr\>f<rprime|'>(u<rsub|r>)t,>>>>>>|<cell|u<rsub|l>\<less\>u<rsub|r>.>>>>>
    </equation*>

    <item><em|Vanishing viscosity method>: add
    <with|mode|math|u<rsup|\<varepsilon\>><rsub|x x>> to the RHS of the
    conservation law, letting <with|mode|math|\<varepsilon\>\<rightarrow\>0>.

    <item><em|Entropy function>: <with|mode|math|U> convex
    (<with|mode|math|U<rprime|''>\<geqslant\>0>).

    <item><em|Entropy flux>: <with|mode|math|F<rprime|'>(u)=U<rprime|'>(u)f<rprime|'>(u)>.

    <item><em|Entropy condition>: <with|mode|math|(U,F)> an entropy-entropy
    flux pair. Then <with|mode|math|u> is an entropy solution iff

    <\equation*>
      U(u)<rsub|t>+F(u)<rsub|x>\<leqslant\>0
    </equation*>

    weakly.

    Proof: Multiply c.law by <with|mode|math|U<rprime|'>(u<rsup|\<varepsilon\>>)>,
    gather derivatives. On RHS, write

    <\equation*>
      U<rprime|'>(u<rsup|\<varepsilon\>>)u<rsub|x,x><rsup|\<varepsilon\>>=(U<rprime|'>(u<rsup|\<varepsilon\>>)u<rsub|x><rsup|\<varepsilon\>>)<rsub|x>-U<rprime|''>(u<rsup|\<varepsilon\>>)(u<rsub|x><rsup|\<varepsilon\>>)<rsup|2>\<leqslant\>(U<rprime|'>(u<rsup|\<varepsilon\>>)u<rsub|x><rsup|\<varepsilon\>>)<rsub|x>.
    </equation*>

    Then multiply by smooth <with|mode|math|\<varphi\>\<geqslant\>0> and
    integrate by parts twice. Pass to limit by DCT, RHS vanishes because
    <with|mode|math|u<rsup|\<varepsilon\>>> is bounded--maximum principle.

    <item>The conservation law is

    <\itemize>
      <item><em|Genuinely nonlinear>: <with|mode|math|f<rprime|''>(u)\<neq\>0>
      uniformly,

      <item><em|Convex>: <with|mode|math|f<rprime|''>(u)\<gtr\>0> uniformly,

      <item><em|Concave>: <with|mode|math|f<rprime|''>(u)\<less\>0>
      uniformly.
    </itemize>

    <item><em|Other Entropy conditions>:

    <\itemize>
      <item><em|Motivation>: <with|mode|math|x<rprime|'>(t)<jump|U>\<geqslant\><jump|F>>
      by applying a Rankine-Hugoniot type argument to
      <with|mode|math|U(u)<rsub|t>+F(u)<rsub|x>\<leqslant\>0>.

      <item><em|Oleinik entropy condition>: For all
      <with|mode|math|u\<in\>[u<rsup|->,u<rsup|+>]>:

      <\equation*>
        <frac|f(u)-f(u<rsup|->)|u-u<rsup|->>\<geqslant\>s\<geqslant\><frac|f(u)-f(u<rsup|+>)|u-u<rsup|+>>,
      </equation*>

      where <with|mode|math|s> is the shock speed from Rankine-Hugoniot.

      <item><em|Lax entropy condition>:

      <\equation*>
        f<rprime|'>(u<rsup|->)\<geqslant\>s\<geqslant\>f<rprime|'>(u<rsup|+>).
      </equation*>

      Not sufficient for uniqueness, but necessary.

      Sufficient if <with|mode|math|f<rprime|'>(u)\<gtrless\>0> uniformly.
      Simpler if <with|mode|math|f<rprime|'>(u)\<gtr\>0>:

      <\equation*>
        f<rprime|'>(u<rsup|->)\<geqslant\>f<rprime|'>(u<rsup|+>).
      </equation*>

      Since <with|mode|math|f<rprime|'>> is <with|mode|math|\<nearrow\>>, we
      can only jump down.

      <em|Meaning:> Characteristics only go <em|into> shocks, never out of
      them because their speed is clamped.
    </itemize>

    <item><em|<with|mode|math|L<rsup|1>> contraction>: For
    <with|mode|math|u<rsup|\<varepsilon\>><rsub|t>+f(u<rsup|\<varepsilon\>>)<rsub|x>=\<varepsilon\>u<rsub|x,x><rsup|\<varepsilon\>>>
    with <with|mode|math|u<rsup|\<varepsilon\>>(0,t)=u<rsub|0>(x)>, we have

    <\equation*>
      <norm|u<rsup|\<varepsilon\>>(\<cdot\>,t)-v<rsup|\<varepsilon\>>(\<cdot\>,t)|L<rsup|1>|>\<leqslant\><norm|u<rsup|0>-v<rsup|0>|L<rsup|1>|>,
    </equation*>

    where <with|mode|math|v<rsup|\<varepsilon\>>> solves the same PDE with IC
    <with|mode|math|v<rsup|0>>.

    Proof: Chop up

    <\equation*>
      <frac|\<mathd\>|\<mathd\>t><big|int><rsub|-\<infty\>><rsup|\<infty\>>\|u<rsup|\<varepsilon\>>-v<rsup|\<varepsilon\>>\|
    </equation*>

    at the sign changes. Put in <with|mode|math|s<rsub|j>> as a sign function
    on each interval. Use Leibniz's rule, then the c.law, which can be
    integrated out to zero, leaving some <with|mode|math|u<rsub|x>> terms,
    which can be deduced to have the right sign.

    <item><em|Total Variation>:

    <\equation*>
      TV(u)\<assign\>sup<rsub|h><big|int><frac|\|u(x+h)-u(x)\||h>\<mathd\>x
    </equation*>

    <em|TVD>: <with|mode|math|TV(u(\<cdot\>,t))\<leqslant\>TV(u<rsup|0>)>.
    <with|color|red|XXX WHY?>
  </itemize>

  <section|Numerics>

  <\itemize>
    <item><em|Bad example>: Discretize <with|mode|math|u<rsub|t>=u*u<rsub|x>>
    255-style, and get a monstrosity that leaves a 1-0 shock just where it
    is.

    <item><em|Conservative scheme>:

    <\equation*>
      u<rsub|j><rsup|n+1>=u<rsub|j><rsup|n>-<frac|\<Delta\>t|\<Delta\>x><left|[><wide|f|^><rsub|j+1/2>-<wide|f|^><rsub|j-1/2><right|]>,
    </equation*>

    with

    <\itemize>
      <item><with|mode|math|<wide|f|^>> consistent, i.e.
      <with|mode|math|<wide|f|^>(u,\<ldots\>,u)=f(u)>,

      <item><with|mode|math|<wide|f|^>> locally Lipschitz.
    </itemize>

    <item><em|Summation by parts>:

    <\equation*>
      <big|sum><rsub|j=j<rsub|1>><rsup|j<rsub|2>>a<rsub|j>(b<rsub|j>-b<rsub|j-1>)=-<big|sum><rsub|j=j<rsub|1>><rsup|j<rsub|2>>(a<rsub|j+1>-a<rsub|j>)b<rsub|j>-a<rsub|j<rsub|1>>b<rsub|j<rsub|1>-1>+a<rsub|j<rsub|2>>b<rsub|j<rsub|2>>.
    </equation*>

    <item><em|Lax-Wendroff>: If <with|mode|math|{u<rsub|j><rsup|n>}>
    converges (<with|mode|math|\<Delta\>t,\<Delta\>x\<rightarrow\>0>)
    boundedly a.e. to a function <with|mode|math|u><with|mode|math|\<Rightarrow\>><with|mode|math|u>
    a weak solution.

    Proof: Summation by parts, DCT, Conservativity.

    <item><em|Schemes>:

    <\itemize>
      <item><em|Godunov>: Exploit finite propagation speed, solve Riemann
      problem on each cell, demanding that

      <\eqnarray*>
        <tformat|<table|<row|<cell|<big|int><rsub|I<rsub|j>><big|int><rsub|t>(u<rsub|t>+f(u)<rsub|x>)\<mathd\>x\<mathd\>t>|<cell|=>|<cell|0.>>>>
      </eqnarray*>

      To get <with|mode|math|<wide|f|^><rsub|j+1/2><rsup|n>>, use the exact
      Riemann solution at <with|mode|math|x<rsub|j+1/2>>.

      <\equation*>
        <wide|f|^><rsub|j+1/2>=<choice|<tformat|<table|<row|<cell|min<rsub|[u<rsub|j>,u<rsub|j+1>]>f(u)>|<cell|u<rsub|j>\<less\>u<rsub|j+1>,>>|<row|<cell|max<rsub|[u<rsub|j>,u<rsub|j+1>]>f(u)>|<cell|u<rsub|j>\<geqslant\>u<rsub|j+1>.>>>>>
      </equation*>

      <item><em|Lax-Friedrichs>:

      <\equation*>
        <wide|f|^><rsub|j+1/2>=<frac|1|2><left|[>f(u<rsub|j+1>)+f(u<rsub|j>)-\<alpha\><rsub|j+1/2>\<Delta\><rsub|+>u<rsub|j><right|]>
      </equation*>

      <\itemize>
        <item><em|local Lax-Friedrichs>: <with|mode|math|\<alpha\><rsub|j+1/2>=max<rsub|[u<rsub|j>,u<rsub|j+1>]>\|f<rprime|'>(u)\|>,

        <item><em|global Lax-Friedrichs>:
        <with|mode|math|\<alpha\><rsub|j+1/2>=max<rsub|u>\|f<rprime|'>(u)\|>.
      </itemize>

      <item><em|Roe>:

      <\equation*>
        <wide|f|^><rsub|j+1/2>=<choice|<tformat|<table|<row|<cell|f(u<rsub|j>)>|<cell|a<rsub|j+1/2>\<geqslant\>0>>|<row|<cell|f(u<rsub|j+1>)>|<cell|a<rsub|j+1/2>\<less\>0>>>>>,<space|1em><with|mode|text|where><space|1em>a<rsub|j+1/2>=<frac|\<Delta\><rsub|+>f(u<rsub|j>)|\<Delta\><rsub|+>u<rsub|j>>.
      </equation*>

      <item><em|Engquist-Osher>:

      <\eqnarray*>
        <tformat|<table|<row|<cell|<wide|f|^><rsub|j+1/2>>|<cell|=>|<cell|f<rsup|+>(u<rsub|j>)-f<rsup|->(u<rsub|j+1>),>>|<row|<cell|f<rsup|+>(u)>|<cell|=>|<cell|<big|int><rsub|0><rsup|u>f<rprime|'>(u)\<vee\>0\<mathd\>u+f(0),>>|<row|<cell|f<rsup|->(u)>|<cell|=>|<cell|<big|int><rsub|0><rsup|u>f<rprime|'>(u)\<wedge\>0\<mathd\>u.>>>>
      </eqnarray*>

      <item><em|Lax-Wendroff>:

      <\itemize>
        <item>Taylor-expand <with|mode|math|u<rsup|n+1>> in
        <with|mode|math|t>.

        <item>Replace time derivatives with 2nd-order centered differences to
        desired order.
      </itemize>

      <\equation*>
        <wide|f|^><rsub|j+1/2>=<frac|1|2><left|[>f(u<rsub|j>)+f(u<rsub|j+1>)-\<lambda\>f<rprime|'>(u<rsub|j+1/2>)(f(u<rsub|j+1>)-f(u<rsub|j>))<right|]>,
      </equation*>

      where

      <\equation*>
        u<rsub|j+1/2>=<frac|u<rsub|j+1>+u<rsub|j>|2>,<space|1em>\<lambda\>=<frac|\<Delta\>t|\<Delta\>x>.
      </equation*>

      <item><em|McCormack>: Predictor-corrector-style

      <\eqnarray*>
        <tformat|<table|<row|<cell|u<rsup|n+1/2><rsub|j>>|<cell|=>|<cell|u<rsub|j><rsup|n>-\<lambda\>(f(u<rsub|j><rsup|n>)-f(u<rsub|j-1><rsup|n>)),>>|<row|<cell|u<rsup|n+1><rsub|j>>|<cell|=>|<cell|<frac|1|2><left|[>u<rsub|j><rsup|n>+u<rsub|j><rsup|n+1/2>+\<lambda\><left|[>f(u<rsub|j+1><rsup|n+1/2>)-f(u<rsub|j><rsup|n+1/2>)<right|]>.>>>>
      </eqnarray*>
    </itemize>

    <item><em|Monotone schemes>: Write <with|mode|math|u<rsub|j><rsup|n+1>=G(u<rsub|j-p-1>,\<ldots\>u<rsub|j+q>)>.
    Monotone iff <with|mode|math|G(\<uparrow\>,\<uparrow\>,\<uparrow\>)>.

    <\itemize>
      <item><em|For three-point schemes>:
      \ <with|mode|math|G(u<rsub|j-1>,u<rsub|j>,u<rsub|j+1>)=u<rsub|j>-\<lambda\>[<wide|f|^>(u<rsub|j+1>,u<rsub|j>)-<wide|f|^>(u<rsub|j-1>,u<rsub|j>)]><with|mode|math|\<Rightarrow\>><with|mode|math|G(\<uparrow\>,?,\<uparrow\>)>.

      <with|mode|math|\<partial\><rsub|u<rsub|j>>G=1-\<lambda\>(<wide|f|^><rsub|1>-<wide|f|^><rsub|2>)\<geqslant\>0!>
      <with|mode|math| \<Rightarrow\>> <with|mode|math|f(\<uparrow\><rsub|u<rsub|j>>,\<downarrow\><rsub|u<rsub|j+1>>)>.

      <item>L-F is monotone.
    </itemize>

    Properties:

    <\itemize>
      <item><with|mode|math|u<rsub|j>\<leqslant\>v<rsub|j>> for all
      <with|mode|math|j><with|mode|math|\<Rightarrow\>><with|mode|math|G(u<rsub|j>)\<leqslant\>G(v<rsub|j>)>

      Proof: by definition.

      <item>Local maximum principle

      <\equation*>
        min<rsub|i\<in\>stencil<rsub|j>>u<rsub|i>\<leqslant\>G(u<rsub|j>)\<leqslant\>max<rsub|i\<in\>stencil<rsub|j>>u<rsub|i>
      </equation*>

      Proof: Define <with|mode|math|w> to be
      <with|mode|math|min<rsub|stencil>> on the stencil and
      <with|mode|math|u> otherwise. Then\ 

      <\equation*>
        min<rsub|stencil>=G(w)\<leqslant\>G(u).
      </equation*>

      <item><em|Crandall/Tartar Lemma/<with|mode|math|L<rsup|1>>
      contraction>: <with|mode|math|<norm|G(u)-G(v)|L<rsup|1>|>\<leqslant\><norm|u-v|L<rsup|1>|>>

      Proof: Let <with|mode|math|w\<assign\>u\<vee\>v>. Then
      <with|mode|math|G(u),G(v)\<leqslant\>G(w)> and
      <with|mode|math|G(w)-G(v)\<geqslant\>(G(u)-G(v))<rsup|+>>. Then

      <\equation*>
        <big|sum>(G(u)-G(v))<rsup|+>\<leqslant\><big|sum>[G(w)-G(v)]<above|=|<with|mode|text|conservative>><big|sum>(w-v)=<big|sum>(u-v)<rsup|+>.
      </equation*>

      <item><em|TVD>. Take <with|mode|math|v<rsub|j>=u<rsub|j+1>> in
      <with|mode|math|L<rsup|1>> contraction.
    </itemize>

    <item><em|Cell entropy inequality>: Let <with|mode|math|U(u)=\|u-c\|> and
    <with|mode|math|<wide|F|^>=<wide|f|^>(c\<vee\>u)-<wide|f|^>(c\<wedge\>u)>.

    <\equation*>
      <frac|U(u<rsub|j><rsup|n+1>)-U(u<rsub|j><rsup|n>)|\<Delta\>t>+<frac|<wide|F|^><rsub|j+1/2>-<wide|F|^><rsub|j-1/2>|\<Delta\>x>\<leqslant\>0
    </equation*>

    Proof: Show

    <\equation*>
      G(c\<vee\>u<rsub|j>)-G(c\<wedge\>u<rsub|j>)=\|u<rsub|j><rsup|n>-c\|-\<lambda\>(<wide|F|^><rsub|j+1/2>-<wide|F|^><rsub|j-1/2>)
    </equation*>

    by starting with the LHS. Next, <with|mode|math|c\<vee\>u<rsub|j><rsup|n+1>\<leqslant\>G(c\<vee\>u<rsup|n>)<rsub|j>>
    and so

    <\equation*>
      U(u<rsup|n+1>)<rsub|j>=\|u<rsub|j><rsup|n+1>-c\|\<leqslant\>G(c\<vee\>u<rsup|n>)<rsub|j>-G(c\<wedge\>u<rsup|n>)<rsub|j>.
    </equation*>

    <item><em|Godunov's Theorem>: Montone schemes are at most first-order
    accurate.

    Proof: The scheme is second-order accurate for an equation with
    dissipation, so it can't also be second-order accurate for the original
    c.law.

    <item><em|TVD scheme>.

    <item><em|Monotonicity-preserving scheme>:

    <\equation*>
      u<rsub|j><rsup|n>\<geqslant\>u<rsub|j+1><rsup|n>\<forall\>j<space|1em>\<Rightarrow\><space|1em>u<rsub|j><rsup|n+1>\<geqslant\>u<rsub|j+1><rsup|n+1>\<forall\>j.
    </equation*>

    <item><em|TVD<with|mode|math|\<Rightarrow\>> monotonicity-preserving>.

    Proof: Suppose it isn't. Then you can make <with|mode|math|u> constant
    outside the relevant stencils. Reversal of order of the two values
    implies non-TVD.

    <item><em|Linear scheme>: Linear if applied to a linear PDE.

    Also ``positive'' because Monotone<with|mode|math|\<Leftrightarrow\>>positive
    coefficients.

    Can be written

    <\equation*>
      u<rsub|j><rsup|n+1>=<big|sum><rsub|l=-k><rsup|k>c<rsub|l>(\<lambda\>)u<rsub|j-l><rsup|n>.
    </equation*>

    <item><em|Linear, monotonicity-preserving<with|mode|math|\<Rightarrow\>>monotone>.

    Proof: Consider first differences of a Heaviside
    jump<with|mode|math|\<Rightarrow\>>all coefficients positive.

    <item><em|Linear, monotone (TVD)<with|mode|math|\<Rightarrow\>>at most
    first order>.

    Proof: Plug in constant, linear term, quadratic term to obtain

    <\eqnarray*>
      <tformat|<table|<row|<cell|1>|<cell|=>|<cell|<big|sum>c<rsub|l>,<space|1em>\<leftarrow\><space|1em><with|mode|text|zeroth-order>>>|<row|<cell|\<lambda\>>|<cell|=>|<cell|<big|sum>l*c<rsub|l>,>>|<row|<cell|\<lambda\><rsup|2>>|<cell|=>|<cell|<big|sum>l<rsup|2>c<rsub|l>.<space|1em>\<leftarrow\><space|1em><with|mode|text|second-order>>>>>
    </eqnarray*>

    Then <with|mode|math|\<b-a\>\<assign\>(l<sqrt|c<rsub|l>>)>,
    <with|mode|math|\<b-b\>\<assign\>(<sqrt|c<rsub|l>>)> and Cauchy-Schwarz
    (equality iff <with|mode|math|\<b-a\>=\<alpha\>\<b-b\>>) to show that not
    all three can hold.
  </itemize>

  <subsection|Higher Order TVD Schemes>

  Assume <with|mode|math|f<rprime|'>(u)\<geqslant\>0> (wind from the left)
  for the moment.

  <\itemize>
    <item><em|General Finite Volume Framework>:

    <\equation*>
      <frac|\<mathd\>|\<mathd\>t><big|int><rsub|x<rsub|j-1/2>><rsup|x<rsub|j+1/2>>u\<mathd\>x+f(u(x<rsub|j+1/2>))-f(u(x<rsub|j-1/2>))=0,
    </equation*>

    then

    <\equation*>
      <wide|u|\<bar\>>\<assign\><frac|1|\<Delta\>x><big|int><rsub|x<rsub|j-1/2>><rsup|x<rsub|j+1/2>>u\<mathd\>x,
    </equation*>

    so

    <\equation*>
      <frac|\<mathd\>|\<mathd\>t><wide|u|\<bar\>><rsub|j>=<frac|1|\<Delta\>x<rsub|j>><left|[><wide|f|^><rsub|j+1/2>-<wide|f|^><rsub|j-1/2><right|]>
    </equation*>

    with

    <\equation*>
      <wide|f|^><rsub|j\<pm\>1/2>\<approx\>f(u(x<rsub|j\<pm\>1/2>)).
    </equation*>

    <item><em|Reconstruction>:

    <\eqnarray*>
      <tformat|<table|<row|<cell|u<rsub|j+1/2><rsup|(<with|mode|text|central)>>>|<cell|=>|<cell|<frac|1|2><left|(><wide|u|\<bar\>><rsub|j>+<wide|u|\<bar\>><rsub|j+1><right|)>,>>|<row|<cell|u<rsub|j+1/2><rsup|(<with|mode|text|upwind>)>>|<cell|=>|<cell|<frac|1|2><left|(>3<wide|u|\<bar\>><rsub|j>-<frac|1|2><wide|u|\<bar\>><rsub|j-1><right|)>.>>>>
    </eqnarray*>

    Goal is to compute polynomial such that
    <with|mode|math|<frac|1|\<Delta\>x><big|int><rsub|I<rsub|j>>p(x)=<wide|u|\<bar\>><rsub|j>>
    for some <with|mode|math|j>s. Then evaluate at
    <with|mode|math|x<rsub|j+1/2>>.

    <item><em|minmod>:

    <\equation*>
      minmod(a,b,c)=<choice|<tformat|<table|<row|<cell|argmin{\|a\|,\|b\|,\|c\|}>|<cell|<with|mode|text|same
      sign on all>,>>|<row|<cell|0>|<cell|<with|mode|text|otherwise>.>>>>>
    </equation*>

    <item><em|Harten's lemma>:

    <\equation*>
      <wide|u|\<bar\>><rsub|j+1>=<wide|u|\<bar\>><rsub|j>+\<lambda\>(C<rsub|j+1/2>\<Delta\><rsub|+><wide|u|\<bar\>><rsub|j>-D<rsub|j-1/2>\<Delta\><rsub|-><wide|u|\<bar\>><rsub|j>)
    </equation*>

    is TVD if:

    <\eqnarray*>
      <tformat|<table|<row|<cell|C<rsub|j+1/2>>|<cell|\<geqslant\>>|<cell|0,>>|<row|<cell|D<rsub|j+1/2>>|<cell|\<geqslant\>>|<cell|0,>>|<row|<cell|1-\<lambda\>(C<rsub|j+1/2>+D<rsub|j+1/2>)>|<cell|\<geqslant\>>|<cell|0.>>>>
    </eqnarray*>

    Proof: Look at <with|mode|math|<big|sum>\|\<Delta\><rsub|+><wide|u|\<bar\>><rsub|j>\|>,
    observe sum-arounds.

    <item><em|MUSCL scheme>:

    <\equation*>
      <wide|u|^><rsub|j+1/2><rsup|(muscl)>=<wide|u|\<bar\>><rsub|j>+<wide*|minmod<left|(>u<rsub|j+1/2><rsup|(<with|mode|text|upwind>)>-<wide|u|\<bar\>><rsub|j>,u<rsub|j+1/2><rsup|(<with|mode|text|central>)>-<wide|u|\<bar\>><rsub|j><right|)>|\<wide-underbrace\>><rsub|<wide|u|~><rsub|j>\<assign\>>.
    </equation*>

    Is TVD by Harten's lemma.

    Proof: Take

    <\eqnarray*>
      <tformat|<table|<row|<cell|<wide|u|\<bar\>><rsub|j><rsup|n+1>>|<cell|=>|<cell|<wide|u|\<bar\>><rsub|j>-\<lambda\><left|[>f(<wide|u|\<bar\>><rsub|j>+<wide|u|~><rsub|j>)-f(<wide|u|\<bar\>><rsub|j-1>+<wide|u|~><rsub|j-1>)<right|]>=<wide|u|\<bar\>><rsub|j>-\<lambda\><left|[>-D<rsub|j-1/2>\<Delta\><rsub|-><wide|u|\<bar\>><rsub|j>],>>>>
    </eqnarray*>

    and

    <\eqnarray*>
      <tformat|<table|<row|<cell|D<rsub|j-1/2>>|<cell|=>|<cell|<frac|f(<wide|u|\<bar\>><rsub|j>+<wide|u|~><rsub|j>)-f(<wide|u|\<bar\>><rsub|j-1>+<wide|u|~><rsub|j-1>)|<wide|u|\<bar\>><rsub|j>-<wide|u|\<bar\>><rsub|j-1>>=f<rprime|'>(\<xi\>)<frac|<wide|u|\<bar\>><rsub|j>-<wide|u|\<bar\>><rsub|j-1>+<wide|u|~><rsub|j>-<wide|u|~><rsub|j-1>|<wide|u|\<bar\>><rsub|j>-<wide|u|\<bar\>><rsub|j-1>>>>|<row|<cell|>|<cell|=>|<cell|f<rprime|'>(\<xi\>)<left|[>1+<wide*|<frac|<wide|u|~><rsub|j>|<wide|u|\<bar\>><rsub|j>-<wide|u|\<bar\>><rsub|j-1>>|\<wide-underbrace\>><rsub|0\<leqslant\>\<cdot\>\<leqslant\><frac|1|2>>-<wide*|<frac|<wide|u|~><rsub|j-1>|<wide|u|\<bar\>><rsub|j>-<wide|u|\<bar\>><rsub|j-1>>|\<wide-underbrace\>><rsub|0\<leqslant\>\<cdot\>\<leqslant\><frac|1|2>><right|]>\<geqslant\>0>>>>
    </eqnarray*>

    CFL restriction: <with|mode|math|\<lambda\>*max\|f<rprime|'>\|\<leqslant\>2/3>.
  </itemize>

  Now lift wind-from-left restriction.

  <\itemize>
    <item>General form:

    <\eqnarray*>
      <tformat|<table|<row|<cell|<wide|u|\<bar\>><rsub|j><rsup|n+1>>|<cell|=>|<cell|<wide|u|\<bar\>><rsub|j><rsup|n>-\<lambda\><left|[><wide|f|^>(u<rsub|j+1/2><rsup|->,u<rsub|j+1/2><rsup|+>)-<wide|f|^>(u<rsub|j-1/2><rsup|->,u<rsub|j-1/2><rsup|+>)<right|]>,>>>>
    </eqnarray*>

    where <with|mode|math|<wide|f|^>(\<uparrow\>,\<downarrow\>)> is a
    monotone flux.

    <item>Now choose

    <\equation*>
      u<rsub|j+1/2><rsup|+,mod>=<wide|u|\<bar\>><rsub|j>+minmod(u<rsub|j+1/2><rsup|+>-<wide|u|\<bar\>><rsub|j>,<wide|u|\<bar\>><rsub|j>-<wide|u|\<bar\>><rsub|j-1>,<wide|u|\<bar\>><rsub|j+1>-<wide|u|\<bar\>><rsub|j>)
    </equation*>

    etc.

    <item>Prove TVD by

    <\equation*>
      <wide|u|\<bar\>><rsub|j><rsup|n+1>=<wide|u|\<bar\>><rsub|j><rsup|n>-\<lambda\><left|[><wide*|<wide|f|^>(u<rsub|j+1/2><rsup|->,u<rsub|j+1/2><rsup|+>)-<wide|f|^>(u<rsub|j+1/2><rsup|->,u<rsub|<with|color|orange|j-1/2>><rsup|+>)|\<wide-underbrace\>><rsub|C<rsub|j+1/2>\<Delta\><rsub|+><with|mode|text|-term>>+<wide*|<wide|f|^>(u<rsub|j+1/2><rsup|->,u<rsub|<with|color|orange|j-1/2>><rsup|+>)-<wide|f|^>(u<rsub|j-1/2><rsup|->,u<rsub|j-1/2><rsup|+>)|\<wide-underbrace\>><rsub|D<rsub|j-1/2>\<Delta\><rsub|-><with|mode|text|-term>><right|]>
    </equation*>

    using Harten, monotonicity of the flux.

    <item>Smooth and montone region<with|mode|math|\<rightarrow\>>high-order
    accuracy.

    Proof:

    <\eqnarray*>
      <tformat|<table|<row|<cell|<wide|u|~><rsub|j>>|<cell|=>|<cell|u<rsub|x><frac|\<Delta\>x|2>+O(\<Delta\>x<rsup|2>)>>|<row|<cell|<wide|u|\<bar\>><rsub|j+1>-<wide|u|\<bar\>><rsub|j>>|<cell|=>|<cell|u<rsub|x>\<Delta\>x+O(\<Delta\>x<rsup|2>)>>|<row|<cell|<wide|u|\<bar\>><rsub|j>-<wide|u|\<bar\>><rsub|j-1>>|<cell|=>|<cell|u<rsub|x>\<Delta\>x+O(\<Delta\>x<rsup|2>)>>>>
    </eqnarray*>

    We have a monotone region, so <with|mode|math|O(\<Delta\>x<rsup|2>)\<ll\>u<rsub|x>>.
    So the high-accuracy term is half as big as the low-accuracy limiting
    terms in the minmod.

    <item><em|TVD schemes are at most first-order accurate near smooth
    extrema>. Consider extremal hump between two grid points.

    <item><em|TVB scheme>:

    <\equation*>
      <wide|minmod|\<bar\>>(a,b,c)\<assign\><choice|<tformat|<table|<row|<cell|a>|<cell|\|a\|\<leqslant\>M\|\<Delta\>x\|<rsup|2>,>>|<row|<cell|minmod(a,b,c)>|<cell|<with|mode|text|otherwise>.>>>>>
    </equation*>

    Scheme maintains high-order accuracy, choosing
    <with|mode|math|M=<frac|2|3>\|u<rsub|x,x>\|>. TVB:

    <\equation*>
      TV(<wide|u|\<bar\>><rsup|n+1>)\<leqslant\>TV(<wide|u|\<bar\>><rsup|n+1>)+C*M*\<Delta\>x<rsup|2>*N\<leqslant\>TV(<wide|u|\<bar\>><rsup|n>)+C\<Delta\>t.
    </equation*>

    <item><em|Semidiscrete Cell Entropy Inequality>:

    <\equation*>
      <frac|\<mathd\>U(u<rsub|j>)|\<mathd\>t>+<frac|1|\<Delta\>x><left|[><wide|F|^><rsub|j+1/2>-<wide|F|^><rsub|j-1/2><right|]>=-<frac|1|\<Delta\>x><wide*|\<Theta\><rsub|j>|\<wide-underbrace\>><rsub|\<geqslant\>0>.
    </equation*>

    Let <with|mode|math|U<rprime|''>(u)\<geqslant\>0> and integrate by parts
    in the definition of the entropy flux <with|mode|math|F>. Let

    <\equation*>
      <wide|F|^><rsub|j+1/2>=U<rprime|'>(u<rsub|j>)<wide|f|^>(u<rsub|j>,u<rsub|j+1>)-<big|int><rsup|u<rsub|j>>U<rprime|''>(u)f(u)\<mathd\>u.
    </equation*>

    Multiply the c.law by <with|mode|math|U<rprime|'>(u<rsub|j>)>, yielding a
    ``junk'' term <with|mode|math|\<Theta\><rsub|j>> that ends up being
    positive, proving the CEI.
  </itemize>

  <subsection|ENO/WENO>

  <\itemize>
    <item><em|Newton interpolation>:

    <\eqnarray*>
      <tformat|<table|<row|<cell|y[x<rsub|i>]>|<cell|=>|<cell|y<rsub|i>,>>|<row|<cell|y[x<rsub|i>,x<rsub|i+1>]>|<cell|=>|<cell|<frac|y[x<rsub|i+1>]-y[x<rsub|i>]|x<rsub|i+1>-x<rsub|i>>,>>|<row|<cell|y[x<rsub|i>,x<rsub|i+1>,x<rsub|i+2>]>|<cell|=>|<cell|<frac|y[x<rsub|i+1>,x<rsub|i+2>]-y[x<rsub|i>,x<rsub|i+1>]|x<rsub|i+2>-x<rsub|i>>,>>>>
    </eqnarray*>

    then

    <\equation*>
      p(x)=y[x<rsub|0>]+y[x<rsub|0>,x<rsub|1>](x-x<rsub|0>)+y[x<rsub|0>,x<rsub|1>,x<rsub|2>](x-x<rsub|0>)(x-x<rsub|1>)+\<cdots\>.
    </equation*>

    <item><em|Interpolation<with|mode|math|\<leftrightarrow\>>Reconstruction>:
    Thinking about <with|mode|math|P=<big|int>p>, where <with|mode|math|p> is
    the reconstruction polynomial, yields that running sums of cell averages
    turn reconstruction into interpolation. Since the step
    <with|mode|math|P\<rightarrow\>p> is first differences, i.e. undoing
    running sums, the reconstruction polynomial for
    <with|mode|math|<wide|u|\<bar\>>> is the same as the interpolation
    polynomial for <with|mode|math|<big|sum><wide|u|\<bar\>>>.

    <item><em|ENO idea>: Progressively expand the stencil in the direction
    with the lowest divided differences.

    Un-divided differences (for a uniform mesh) may be precomputed.

    <item><em|WENO idea>: Start with a linear combination of smaller stencils
    that gives high-order accuracy.

    <\equation*>
      <big|sum><rsub|i>\<alpha\><rsub|i>stencil<rsub|i>
    </equation*>

    Now weight them so that <with|mode|math|w<rsub|i>=\<alpha\><rsub|i>+O(\<Delta\>x<rsup|2>)>
    in smooth regions and <with|mode|math|w<rsub|i>=O(\<Delta\>x<rsup|4>)>
    elsewhere. Then normalize the <with|mode|math|w<rsub|i>> so they add up
    to one.
  </itemize>

  <subsection|Finite Differences>

  <\itemize>
    <item><em|Finite Difference Idea>: View <with|mode|math|f(u<rsub|j>)> as
    cell averages of a function <with|mode|math|h>. Then

    <\equation*>
      f(u)<rsub|x>=<frac|1|\<Delta\>x><left|[>h(x+\<Delta\>x/2)-h(x-\<Delta\>x/2)<right|]>.
    </equation*>

    So do reconstruction on values of <with|mode|math|f(u<rsub|j>)>.

    <item><em|Flux splitting>: Required to show stability using Harten.

    <\equation*>
      <wide|f|^><rsub|j+1/2>=<wide|f|^><rsup|+><rsub|j+1/2>(u<rsup|->)+<wide|f|^><rsub|j+1/2><rsup|->(u<rsup|+>).
    </equation*>

    Assumptions:

    <\itemize>
      <item><with|mode|math|<frac|\<mathd\><wide|f|^><rsup|+>|\<mathd\>u>\<geqslant\>0>,

      <item><with|mode|math|<frac|\<mathd\><wide|f|^><rsup|->|\<mathd\>u>\<leqslant\>0>.
    </itemize>

    Lax-Friedrichs is a splittable flux.

    <item><em|Limiting/stability>: Focus on
    <with|mode|math|<wide|f|^><rsup|+>> for now.

    <\equation*>
      <wide|f|^><rsup|+,mod><rsub|j+1/2>=f(u<rsub|j>)+minmod(<wide|f|^><rsub|j+1/2><rsup|+,orig>,\<Delta\><rsub|+>f(u<rsub|j>),\<Delta\><rsub|->f(u<rsub|j>))
    </equation*>

    <item><em|Scheme>:

    <\equation*>
      u<rsub|t>=(<wide|f|^><rsup|+><rsub|j+1/2>+<wide|f|^><rsub|j+1/2><rsup|->)-(<wide|f|^><rsup|+><rsub|j-1/2>+<wide|f|^><rsub|j-1/2><rsup|->)
    </equation*>

    <item><em|Mesh must be uniform or smoothly mappable to uniform>.
    <with|color|red|WHY?>
  </itemize>

  <section|Numerics in Multiple Space Dimensions>

  <\itemize>
    <item><with|mode|math|u<rsub|t>+f(u)<rsub|x>+g(u)<rsub|y>=0>.

    <item>Weak solutions, entropy solutions same as 1D.

    <item>Motone schemes have the same properties (TVD, entropy condition,
    <with|mode|math|L<rsup|1>> contraction.

    <item><em|TVD schemes are at most first order>.

    ``Proof'': Consider a wiggly jump vs. a straight jump. One has high TV,
    the other low.

    <item>Saying TVD in <with|mode|math|n>D literature amounts to ``TVD in
    1D, but straightforwardly generalized to 2D''.

    <item><em|Maximum principle>: Consider scheme in Harten form. Then
    <with|mode|math|u<rsub|i,j><rsup|n+1>> is a convex combination of the
    values on the stencil.

    <item><em|Finite-volume>:

    <\eqnarray*>
      <tformat|<table|<row|<cell|>|<cell|>|<cell|<frac|1|\<Delta\>x\<Delta\>y><big|int><rsub|y<rsub|j-1/2>><rsup|y<rsub|j+1/2>><big|int><rsub|x<rsub|i-1/2>><rsup|x<rsub|i+1/2>>f(u)<rsub|x>\<mathd\>x*\<mathd\>y>>|<row|<cell|>|<cell|=>|<cell|<frac|1|\<Delta\>x\<Delta\>y><big|int><rsub|y<rsub|j-1/2>><rsup|y<rsub|j+1/2>>f*(u(x<rsub|i+1/2>,y,t))-f(u(x<rsub|i-1/2>,y,t))\<mathd\>y.>>>>
    </eqnarray*>

    One integral is simple reconstruction, which must be carried out in two
    directions. Then the second integral must be carried out numerically.

    General procedure:

    <\eqnarray*>
      <tformat|<table|<row|<cell|>|<cell|>|<cell|{<wide|u|~><rsub|i+1/2,j>}<above|\<longrightarrow\>|<with|mode|text|1D
      rec>>{u<rsub|i+1/2,j+w<rsub|k>>}\<longrightarrow\>{f(u<rsub|i+1/2,j+w<rsub|k>>)}<above|\<longrightarrow\>|<with|mode|text|num.int.>>{<wide|f|^><rsub|i+1/2,j>}>>|<row|<cell|>|<cell|<above|\<nearrow\>|<with|mode|text|1D
      rec>>>|<cell|>>|<row|<cell|{<wide|<wide|u|\<bar\>>|~><rsub|i,j>}>|<cell|>|<cell|>>|<row|<cell|>|<cell|<above|\<searrow\>|<with|mode|text|1D
      rec>>>|<cell|>>|<row|<cell|>|<cell|>|<cell|{<wide|u|\<bar\>><rsub|i,j+1/2>}<above|\<longrightarrow\>|<with|mode|text|1D
      rec>>{u<rsub|i+\<omega\><rsub|k>,j+1/2>}\<longrightarrow\>{f(u<rsub|i+\<omega\><rsub|k>,j+1/2>)}<above|\<longrightarrow\>|<with|mode|text|num.int.>>{<wide|f|^><rsub|i,j+1/2>}>>>>
    </eqnarray*>

    Only relevant for third and higher order since

    <\equation*>
      <wide|<wide|u|\<bar\>>|~><rsub|i,j>=u(x<rsub|i>,y<rsub|j>)+O(\<Delta\>x<rsup|2>,\<Delta\>y<rsup|2>),
    </equation*>

    where <with|mode|math|<wide|\<cdot\>|~>> and
    <with|mode|math|<wide|\<cdot\>|\<bar\>>> are cell averaging in
    <with|mode|math|x> and <with|mode|math|y>.

    <item><em|Finite-difference>: Generalizes straightforwardly.
  </itemize>

  <section|Systems of Conservation Laws>

  <\itemize>
    <item><em|Linear case>:

    <\equation*>
      u<rsub|t>+A*u<rsub|x>=0
    </equation*>

    If <with|mode|math|A> has complete set of eigenvectors and only real
    eigenvalues, it's called (strongly) hyperbolic.

    If constant linear system, use change of variables and use
    upwind/downwind depending on sign of \ eigenvalue.
    <with|mode|math|A<rsup|\<upl\>>=R\<Lambda\><rsup|+>R<rsup|-1>\<neq\>A<rsup|+,elementwise>>.

    <item>If nonlinear, then find eigenvalues for each new matrix
    <with|mode|math|\<nabla\>\<b-f\>(\<b-u\>)>, transform to diagonal form,
    carry out scalar reconstruction, then transform back.

    Rationale: Separation of shocks--two shocks travelling at different
    speeds.

    <item>All results about stability and convergence carry over to linear
    systems using the characteristic procedure above.

    <item>Steps for the nonlinear case:

    <\itemize>
      <item>At <with|mode|math|x<rsub|j+1/2>> find a crude ``reference
      vector'' <with|mode|math|<wide|u|~><rsub|j+1/2>> as

      <\itemize>
        <item><with|mode|math|<wide|u|~><rsub|j+1/2>=<frac|1|2>(<wide|u|\<bar\>><rsub|j>+<wide|u|\<bar\>><rsub|j+1>)>

        <item>or <em|Roe average>: <with|mode|math|f(<wide|u|\<bar\>><rsub|j+1>)-f<left|(><wide|u|\<bar\>><rsub|j>)=f<rprime|'>(<wide|u|~><rsub|j+1/2>)(<wide|u|\<bar\>><rsub|j+1>-<wide|u|\<bar\>><rsub|j>)>
      </itemize>

      <item>Diagonalize <with|mode|math|f<rprime|'>(<wide|u|~><rsub|j+1/2>)=R*\<Lambda\>R<rsup|-1>>.

      <item>Transform all involved cell averages using
      <with|mode|math|<wide|v|\<bar\>>=R<rsup|-1><wide|u|\<bar\>>>.

      <item>Carry out 1D reconstruction.

      <item>Recover <with|mode|math|u<rsub|j+1/2>=R*v<rsub|j+1/2>>.
    </itemize>

    <item>For 2D nonlinear system, combine system approach with 2D stuff
    above.
  </itemize>

  <section|Discontinuous Galerkin>

  <\itemize>
    <item><em|Derivation of the Scheme>: Multiply PDE by test function
    <with|mode|math|v>, integrate by parts, interpret arising boundary terms
    by comparing with FV, using <with|mode|math|v=\<b-1\><rsub|I<rsub|j>>>.
    Pick a nice monotone flux <with|mode|math|<wide|f|^>(\<uparrow\>,\<downarrow\>)>
    and give meaning to those meaningless boundary terms. This gives

    <\equation*>
      <big|int><rsub|I<rsub|j>>u<rsub|t>v-<big|int><rsub|I<rsub|j>>f(u)v<rsub|x>+<wide|f|^>(u<rsub|j+1/2><rsup|->,u<rsub|j+1/2><rsup|+>)-<wide|f|^>(u<rsub|j-1/2><rsup|->,u<rsub|j+1/2><rsup|+>)=0.
    </equation*>

    Then pick a basis in the space <with|mode|math|V<rsub|h>> and do the
    Galerkin thing.

    <item><em|Cell Entropy Inequality for DG>: Satisfied for
    <with|mode|math|U(u)=u<rsup|2>/2>, i.e.

    <\equation*>
      <frac|\<mathd\>|\<mathd\>t><left|(><big|int>u<rsup|2>\<mathd\>x<right|)>+<wide|F|^><rsub|j+1/2>-<wide|F|^><rsub|j-1/2>=-\<Theta\><rsub|j-1/2>\<leqslant\>0,
    </equation*>

    where

    <\equation*>
      <wide|F|^><rsub|j+1/2>=-g(u<rsub|j+1/2><rsup|->)+<wide|f|^><rsub|j+1/2>u<rsub|j+1/2><rsup|->
    </equation*>

    and

    <\equation*>
      g(u)=<big|int><rsup|u>f(u)\<mathd\>u.
    </equation*>

    In estimating <with|mode|math|\<Theta\><rsub|j-1/2>> (note: all terms in
    <with|mode|math|\<Theta\>> are at <with|mode|math|j-1/2>) gather terms
    and use Mean Value Theorem and consistency of the flux.
  </itemize>
</body>

<\initial>
  <\collection>
    <associate|page-type|letter>
    <associate|par-first|0>
  </collection>
</initial>

<\references>
  <\collection>
    <associate|auto-1|<tuple|1|1>>
    <associate|auto-2|<tuple|2|1>>
    <associate|auto-3|<tuple|3|3>>
    <associate|auto-4|<tuple|3.1|5>>
    <associate|auto-5|<tuple|3.2|7>>
    <associate|auto-6|<tuple|3.3|7>>
    <associate|auto-7|<tuple|4|7>>
    <associate|auto-8|<tuple|5|8>>
    <associate|auto-9|<tuple|6|9>>
    <associate|eq:int-claw|<tuple|1|1>>
  </collection>
</references>

<\auxiliary>
  <\collection>
    <\associate|toc>
      <vspace*|1fn><with|font-series|<quote|bold>|math-font-series|<quote|bold>|1<space|2spc>Miscellanea>
      <datoms|<macro|x|<repeat|<arg|x>|<with|font-series|medium|<with|font-size|1|<space|0.2fn>.<space|0.2fn>>>>>|<htab|5mm>>
      <no-break><pageref|auto-1><vspace|0.5fn>

      <vspace*|1fn><with|font-series|<quote|bold>|math-font-series|<quote|bold>|2<space|2spc>Theory>
      <datoms|<macro|x|<repeat|<arg|x>|<with|font-series|medium|<with|font-size|1|<space|0.2fn>.<space|0.2fn>>>>>|<htab|5mm>>
      <no-break><pageref|auto-2><vspace|0.5fn>

      <vspace*|1fn><with|font-series|<quote|bold>|math-font-series|<quote|bold>|3<space|2spc>Numerics>
      <datoms|<macro|x|<repeat|<arg|x>|<with|font-series|medium|<with|font-size|1|<space|0.2fn>.<space|0.2fn>>>>>|<htab|5mm>>
      <no-break><pageref|auto-3><vspace|0.5fn>

      <with|par-left|<quote|1.5fn>|3.1<space|2spc>Higher Order TVD Schemes
      <datoms|<macro|x|<repeat|<arg|x>|<with|font-series|medium|<with|font-size|1|<space|0.2fn>.<space|0.2fn>>>>>|<htab|5mm>>
      <no-break><pageref|auto-4>>

      <with|par-left|<quote|1.5fn>|3.2<space|2spc>ENO/WENO
      <datoms|<macro|x|<repeat|<arg|x>|<with|font-series|medium|<with|font-size|1|<space|0.2fn>.<space|0.2fn>>>>>|<htab|5mm>>
      <no-break><pageref|auto-5>>

      <with|par-left|<quote|1.5fn>|3.3<space|2spc>Finite Differences
      <datoms|<macro|x|<repeat|<arg|x>|<with|font-series|medium|<with|font-size|1|<space|0.2fn>.<space|0.2fn>>>>>|<htab|5mm>>
      <no-break><pageref|auto-6>>

      <vspace*|1fn><with|font-series|<quote|bold>|math-font-series|<quote|bold>|4<space|2spc>Numerics
      in Multiple Space Dimensions> <datoms|<macro|x|<repeat|<arg|x>|<with|font-series|medium|<with|font-size|1|<space|0.2fn>.<space|0.2fn>>>>>|<htab|5mm>>
      <no-break><pageref|auto-7><vspace|0.5fn>

      <vspace*|1fn><with|font-series|<quote|bold>|math-font-series|<quote|bold>|5<space|2spc>Systems
      of Conservation Laws> <datoms|<macro|x|<repeat|<arg|x>|<with|font-series|medium|<with|font-size|1|<space|0.2fn>.<space|0.2fn>>>>>|<htab|5mm>>
      <no-break><pageref|auto-8><vspace|0.5fn>

      <vspace*|1fn><with|font-series|<quote|bold>|math-font-series|<quote|bold>|6<space|2spc>Discontinuous
      Galerkin> <datoms|<macro|x|<repeat|<arg|x>|<with|font-series|medium|<with|font-size|1|<space|0.2fn>.<space|0.2fn>>>>>|<htab|5mm>>
      <no-break><pageref|auto-9><vspace|0.5fn>
    </associate>
  </collection>
</auxiliary>