The issue is that D_('+') (or D_('-')) is not defined but I don't understand why not, or how to fix it?




From: firedrake-bounces@imperial.ac.uk <firedrake-bounces@imperial.ac.uk> on behalf of Onno Bokhove <O.Bokhove@leeds.ac.uk>
Sent: Sunday, June 26, 2016 12:21 PM
To: firedrake
Subject: Re: [firedrake] upwind example remark; extension to CN in time
 

Yes that was my point indeed.

To build any more advanced code upon this one, one

would need to use an alternate approach entirely

through the flux.

That is why it may be useful to extend the

example with two alternatives: the simple one shown

and one flux-based only.


By the way, in the attached I have L2=0 and thet=0;

if I uncomment the actual L2 there is a complaint,

even though they=0.

Obviously I need this term for the general theta-scheme,

including thet=0.5 (Crank-Nicolson).


I am doing the above simple extensions to get used to FD!
Small steps ... 

The example is ties such that value 1 advects into through the
entire domain in the time set.

From: firedrake-bounces@imperial.ac.uk <firedrake-bounces@imperial.ac.uk> on behalf of Colin Cotter <colin.cotter@imperial.ac.uk>
Sent: Sunday, June 26, 2016 11:26 AM
To: firedrake
Subject: Re: [firedrake] upwind example remark; extension to CN in time
 
Hi Onno,
  In answer to your first question. Things are simplified in the advection demo because we know which edges are upwind, which are downwind, and which have no flow through them. If you wanted to generalise this, then we would need a surface integral over the entire external boundary with a switch that either gave the internal value of the tracer or the inflow boundary condition, depending on the direction of u.n, just like we did for the interior facets. 
Instead, in this example, on the outflow boundary we just write an integral involving the interior value, and on the inflow boundary we write an integral setting the inflow values.

all the best
-cjc

On 25 June 2016 at 16:05, Onno Bokhove <O.Bokhove@leeds.ac.uk> wrote:

Hi FDs,


(i) The upwind example is odd in that the real boundaries are treated

in a special way rather than setting the outside value in

the same numerical flux as anywhere else;

my question is how this can be fixed?

So no special terms at the in- and outflow, just specify

the outside velocity used. This is imo the proper DG way not was is done

now.


(ii) Attached my attempt to do a time dependent advection

with Crank Nicolson, which works but does not yet

give the right answer, in part due to (i).


[I don't understand why I have to make

my theta variable that a constant but other wise it did not work.]


Any suggestions, corrections, also on other silly things done by me?

Next step is to extend to system with 3 equations;
hence the few extra but unused variables.

Thanks, from midnight Seoul in old style Korean guesthouse.

Onno




--