Subject: [UFC-dev] next step

From: [email-masked]
Date: Tue, 28 Nov 2006 21:54:17 +0100 (CET)

Hi,

What are the next steps with UFC?

To me it seems that UFC is as good as done, at least
as good as it gets without having tested it in practice
for a few months. Hence it seems that the next
natural thing is documentation.

I think it should be rather easy to create a manual,
by

1) listing the header files,
2) showing some examples

The examples can/should be code generated by FFC and SyFi.
In this way, writing the documentation should be fairly easy, since
it will be basically about explaining the code.

Finally, if we decide that we should write a paper about UFC, we can refer
to the manual, and keep the paper short and abstract, while the
manual is detailed and comprehensive.

Thoughts ?

Kent

---

From: Anders Logg <[email-masked]>
Date: Wed, 29 Nov 2006 09:44:55 +0100

> What are the next steps with UFC?

I think the next step is to make a couple of minor extensions to cover
discontinuous Galerkin methods. I'm working with Kristian Oelgaard to
add support for DG to FFC and we should have something ready at the
end of next week.

When assembling a DG method, we need to integrate over interior facet
and then integrate functions that are defined on each of the two
neighboring cells, so it's a little different from what we have now.
I imagine adding a function that looks something like

  void tabulate_interior_facet(double* A, const double * const * w,
                               const cell& c0, const cell& c1,
                               unsigned int facet0, unsigned int facet1);

> 1) listing the header files,

Sounds very good.

> manual is detailed and comprehensive.

Sounds very good.

/Anders

---

From: Kent-Andre Mardal <[email-masked]>
Date: Wed, 29 Nov 2006 09:55:26 +0100

>                                unsigned int facet0, unsigned int facet1);

fine by me, but is the facet1 really needed ? Since one need the
integral over all edges. Is it because you want to do this everywhere
except for on the actual boundary ? 

Kent

---

From: Anders Logg <[email-masked]>
Date: Wed, 29 Nov 2006 10:07:03 +0100

> except for on the actual boundary ? 

Yes and no. Yes, I want to do the integral everywhere except on the
actual boundary, but the real reason is that I want to integrate a
function on an edge that is defined as the restriction from both the
left and right side of the edge. We get terms like

    a(v, u) = \int_S v^{+} u^{-} dS

so we have v^{+} defined as the restriction of a finite element
function on one side (the plus side) and u^{-} defined as the
restriction of a finite element function on the other side (the minus
side) and we need to integrate their product.

facet0 is the local facet number of the facet we are integrating over
as seen from the plus-side and facet1 is the local facet number of the
facet we are integrating over as seen from the minus-side.

/Anders