Skip to content

Otherwise subdomain - #829

Merged
wence- merged 4 commits into
masterfrom
otherwise-subdomain
Jul 20, 2016
Merged

wence- merged 4 commits into
masterfrom
otherwise-subdomain

Conversation

@wence-

@wence- wence- commented Jul 15, 2016

Copy link
Copy Markdown
Contributor

Correctly implements treatment of "otherwise" in integrals. Fixes #281 and fixes #797. Suggestions for further tests and/or better refactoring welcome.

Comment thread firedrake/assemble.py
kwargs["iterate"] = index
decoration = {"exterior_facet_top": op2.ON_TOP,
"exterior_facet_bottom": op2.ON_BOTTOM}[integral_type]
kwargs["iterate"] = decoration

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've moved the "decoration" bit out of the measure_set method to here (which is the only place it's used).

@wence-
wence- force-pushed the otherwise-subdomain branch 2 times, most recently from 91d1b13 to 9411186 Compare July 18, 2016 10:16
wence- added 3 commits July 18, 2016 13:43
Provide a single point of entry for getting the measure set
corresponding to a particular integral.  We now always ask the measure
for a measure_set providing the integral type, subdomain_id, and for
correct treatment of "otherwise" subdomains, all the explicitly
enumerated integer subdomain ids.
The "otherwise" subdomain that appears in preprocessed forms is not an
integral over all mesh entities, but rather over all mesh entities that
are not caught by any explicitly enumerated subdomains.  If the form
contains no explicit subdomain ids, then "otherwise" = "everywhere".
If not, "otherwise" = "everywhere" - set(explicit subdomain).  To
implement this, we pass the list of explicitly provided subdomain ids to
measure_set and use this to construct the appropriate "complement"
subset.

Fixes #797 and #281.
@wence-
wence- force-pushed the otherwise-subdomain branch from 2d80e15 to 183418a Compare July 18, 2016 12:43
@wence-

wence- commented Jul 19, 2016

Copy link
Copy Markdown
Contributor Author

Have added docstrings, I think this is good to go.

@wence-
wence- force-pushed the otherwise-subdomain branch from a1686ae to 6943671 Compare July 19, 2016 12:11
@wence-
wence- merged commit 6943671 into master Jul 20, 2016
wence- added a commit that referenced this pull request Jul 20, 2016
* origin/otherwise-subdomain:
  Add docstrings
  Add tests of #281 and #797
  Correctly implement the "otherwise" subdomain
  Refactor construction of measure_set
@wence-
wence- deleted the otherwise-subdomain branch July 20, 2016 15:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Unexpected results mixing dx and dx(N)terms in forms Exterior facet integral over part and whole of facet gives surprising result

1 participant