-
Notifications
You must be signed in to change notification settings - Fork 178
Do not set domains of all active coefficients in domain_integral_type #4803
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
6b4b57f to
cf4ad31
Compare
|
Note that some tests are still failing (see the complex run). |
There are some conflicts with #4763. It seems tricky to resolve, mainly because we sometimes allow coefficients for which |
I looked into this a little with @leo-collins. Setting things to
Is it sufficient to just remove this line: domain_integral_type_map.update(dict.fromkeys(coefficient_meshes, "cell"))This is the one that I think is properly wrong. |
That's what the PR is doing. |
Ah OK. I didn't quite follow the logic. |
|
I changed |
|
#4775 basically allowed users to use illegal forms. If reverting #4775 causes conflicts with #4763, it indicates that #4763 relied on #4775 and used illegal forms in the tests; please see my comments in #4763. You don't want to manipulate types of exception just to make those tests pass. I would revert both #4763 and #4775, restore the original code, and restart from there. You should ask @dham to have a look at these PRs. |
tsfc/kernel_interface/common.py
Outdated
| raise NotImplementedError("Coefficient domain not found in integral. " | ||
| "Possibly, the form contains coefficients on different meshes " | ||
| "and requires measure intersection, for example: " | ||
| 'Measure("dx", argument_mesh, intersect_measures=[Measure("dx", coefficient_mesh)]).') |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Custom exception type here.
Description
Revert #4775
Validates the domains in a multidomain Form at compile time and throws a
MismatchingDomainErrorif the domains are topologically unrelated or if the domains were not included in the integralMeasure.