SystemAssembler problem with subdomains on one form
Issue #78
resolved
Code of the form
a = inner(sigma(u), sym_grad(v))*dx
L = inner(h, v)*ds(5)
with SystemAssembler leads to
*** Warning: Bilinear and linear forms do not have same exterior facet subdomains in SystemAssembler. Taking subdomains from bilinear form
which is wrong. When one form has not data, data from the other form should be used.
Comments (11)
-
-
reporter I used a work-around. The bug report is mainly so that I remember to fix it later when I have time.
-
reporter - changed milestone to 1.4
-
-
assigned issue to
This will be fixed by my upcoming ufl multidomain infrastructure megacommit.
-
assigned issue to
-
- changed status to duplicate
Duplicate of
#190. -
- changed status to open
Not sure this is actually a duplicate, needs to be reconsidered.
-
- removed responsible
-
Issue
#257was marked as a duplicate of this issue. -
-
assigned issue to
Fix on its way.
-
assigned issue to
-
- changed status to resolved
-
reporter - removed milestone
Removing milestone: 1.4 (automated comment)
- Log in to comment
I've seen it when dx has cell data attached. Does it happen in general?
What happends then is that the distinction between "has cell data" and "has facet data" is lost somewhere and since "a has domain data", then domain data from L is not used.
The correct behaviour would be to check separately for each type of domain data.
A workaround is adding a zero term to a containing the facet data: