Facet orientation code in interior facet assembly is disabled

Issue #446 resolved
Martin Sandve Alnæs created an issue

In Assembler.cpp, assemble_interior_facets, the call to facet->adjacent_cells is disabled. This seems to be something related to getting interior facets working in parallel? Can it now be enabled again?

Comments (12)

  1. Prof Garth Wells

    I'll take a look, but I suspect that it's no longer required since the addition of ghosted meshes.

    Interior facet integrals are working (in serial, and since recently also in parallel).

  2. Anders Logg (Chalmers)

    Another related issue is support for facet orientation in SystemAssembler. As far as I know, this has never been supported (only in Assembler).

  3. Chris Richardson

    What happens now when you ask for an interior facet integral in parallel without setting ghost_mode? I tried, and got:

    *** Error:   Unable to complete call to function build().
    *** Reason:  Assertion facet->is_ghost() failed.
    

    which is not very informative...

  4. Martin Sandve Alnæs reporter

    It is required, it is a feature to enable specifying what is the + and - sides of each facet in interior facet integrals.

    The array with somewhat misleading name "facet_orientation" contains the cell number that is to be cell 0 (which is cell + if I recall correctly).

    There may be a more intuitive way to specify it though, but it is a needed feature for asymmetric interior facet integrals where + and - matters.

  5. Martin Sandve Alnæs reporter

    I've pushed but need a reminder to self to add the docstring:

    If cell_domains is provided, the '+' and '-' sides are chosen such that the cell_domains value in the cell at the '+' side cell is larger than the cell_domains value in the cell at the '-' side cell. If the values are equal or the cell_domains are not provided, the sides are chosen arbitrarily.

  6. Log in to comment