← Back to team overview

ufl team mailing list archive

Re: Extending UFL

 

On Tue, Jun 16, 2009 at 9:35 AM, Kristian
Oelgaard<k.b.oelgaard@xxxxxxxxxx> wrote:
> Quoting Martin Sandve Alnæs <martinal@xxxxxxxxx>:
>
>> Hi all,
>> thanks for all the nice comments and feedback at the workshop.
>> There was in particular some interest in how to extend UFL
>> with experimental features without having to interfere with the
>> main development branch. I'd like to compile a list of the kind
>> of features that are most interesting to people, so we can figure
>> out what to make extensible. Then I'll see what I can do.
>
> Extending UFL with lifting operators.
>
> Recall that for the Poisson equation we have:
>
> a = \int (grad(v) + R(v))(grad(u) + R(u)) d\Omega
>    + \sum_e \int (\eta r^e(v) r^e(u) d\Omega
>
> with
>
> R(u) = \sum_e r^e(u)
> and
> \int_{E = E^{+} + E^{-}} w r^e(u) d\Omega = - \int_e {w}[u] d\Gamma
>
> where the last equation is the lifting operation.

I'm not into this notation, do you have any paper defining it?

> I think we need to introduce two new functions in order to distinguish terms
> like grad(v)R(u) and the stabilisation term r^e(v)r^e(u).
> As mentioned at the workshop, we probably also need a new integral type.
>
> So (some of) the terms in the Poisson equation could be represented as:
>
> element  = FiniteElement("Discontinuous Lagrange", triangle, 1)
> l_space = VectorElement("Discontinuous Lagrange", triangle, 0)
>
> v = TestFunction(element)
> u = TrialFunction(element)
> R = LiftingFunction(l_space)
> r = LiftingOperator(l_space)
>
> a = inner(grad(v), R(u))*dE + inner(r(v), r(u))*dE

I thought a bit about it, and I can make this notation work in UFL.
I'll represent the result of R(u) as an expression node, suggestion
for the name of this type? Same for r(u) I guess.
But it would help to understand roughly what r(u) does,
in particular to update some algorithms.

> For this to work, we probably have to introduce a new type of integral in UFC
> and modify the assembly in DOLFIN.

Of course.

Martin


References