This is a read only copy of the old FEniCS QA forum. Please visit the new QA forum to ask questions

Adaptive Linear Solver in a Pure Neumann problem

+2 votes

I modified the pure neumann poisson example to perform automated adaptive mesh refinement. The example is here: https://fenicsproject.org/documentation/dolfin/1.5.0/python/demo/documented/neumann-poisson/python/documentation.html

and I just included the lines:

M = inner(u,u)*dx
solve(a == L, w, M=M, tol=1e-3)

but I get the error

Order "1" invalid for "Real" finite element.

From what I read in the paper about the implementation, there is an extrapolation in local patches to higher order spaces to calculate the dual solution. Since the element "Real" doesn't accept order 1 or higher, it crashes. What kind of element is exactly the "Real" element? Is just a constant defined in the entire mesh? Is there an alternative to make this problem work? Thanks.

asked Sep 6, 2016 by miguelito FEniCS Novice (760 points)

Found this question that seems to resolve this issue, but it doesn't really do it for me:
https://fenicsproject.org/qa/6002/auto-adaptive-solver-for-mixed-vector-function-spaces

...