Facets contribution to the form on discontinuous elements

Asked by B. Emek Abali

Dear all,

it might be wrong, but I would like to think the "form" defined for one single cell. So the evaluation of facets inside of that cell ('+') and in neighbours ('-') gets clear to me. However, on that case in the assemble, which is a loop over cells, isn't it?, is confusing. The assemble loops over cells, i.e. each facet would be added to the assemble matrix twice.

How is that been solved? Or a more important question, by using discontinuous galerkin elements with same polynomial order form functions in cell and on its facets, do I need to, say a function f contributes to the form, employ:
1/2( f('+') ) (while assemble loops over cells incl. facets)
or
f('+')+f('-') (while an extra loop over facets exists) ?

thanks a lot

Question information

Language:
English Edit question
Status:
Solved
For:
DOLFIN Edit question
Assignee:
No assignee Edit question
Solved by:
Martin Sandve Alnæs
Solved:
Last query:
Last reply:
Revision history for this message
Best Martin Sandve Alnæs (martinal) said :
#1

You can only use v('+'), v('-') in integrals of the interior facet
type, i.e. *dS.
Interior facets are visited once each by the assembler, and the integration
code generated by FFC gets passed the cell on each side of the facet.
Take a look at the interior_facet_integral class in UFC.

Martin

On 18 August 2011 12:55, B. Emek Abali
<email address hidden> wrote:
> New question #168398 on DOLFIN:
> https://answers.launchpad.net/dolfin/+question/168398
>
> Dear all,
>
> it might be wrong, but I would like to think the "form" defined for one single cell. So the evaluation of facets inside of that cell ('+') and in neighbours ('-') gets clear to me. However, on that case in the assemble, which is a loop over cells, isn't it?, is confusing. The assemble loops over cells, i.e. each facet would be added to the assemble matrix twice.
>
> How is that been solved? Or a more important question, by using discontinuous galerkin elements with same polynomial order form functions in cell and on its facets, do I need to, say a function f contributes to the form, employ:
> 1/2( f('+') )  (while assemble loops over cells incl. facets)
> or
> f('+')+f('-') (while an extra loop over facets exists) ?
>
> thanks a lot
>
> --
> You received this question notification because you are a member of
> DOLFIN Team, which is an answer contact for DOLFIN.
>

Revision history for this message
B. Emek Abali (bilenemek) said :
#2

Thanks Martin Sandve Alnæs, that solved my question.