solving on submesh: meaning of "allow_extrapolation"?
When solving the Poisson problem on a subdomain, i.e.,
mesh = Mesh("coil.xml")
subdomains = MeshFunction(
submesh = SubMesh(mesh, subdomains, 3)
all runs fine if the RHS function is defined on the entire mesh,
rhs = project(
-- Nice.
The situation appears to be different when the right hand side is a function of Nedelec elements:
T = project(
rhs = inner(T, T)
gives
Traceback (most recent call last):
File "poisson.py", line 41, in <module>
solve(a == L, u, bc)
[...]
*** Error: Unable to evaluate function at point.
*** Reason: The point is not inside the domain. Consider setting "allow_
*** Where: This error was encountered inside Function.cpp.
[...]
The same error message appears when trying to interpolate T to the submesh,
T = project(
T_submesh = interpolate(T, FunctionSpace(
Setting
parameters[
indeed works around the problem, but of course I'm asking myself what this actually does and why it is necessary.
Question information
- Language:
- English Edit question
- Status:
- Solved
- For:
- DOLFIN Edit question
- Assignee:
- No assignee Edit question
- Solved by:
- Anders Logg
- Solved:
- Last query:
- Last reply: