I have seen one problem you mentioned about error estimation on boundary. I want to know whether it have been solved in current libmesh. Thanks a lot.
[Libmesh-devel] Kelly Error Estimator
From: John Peterson <
peterson@cf...> - 2005-03-02 17:12
Currently, the Kelly Error Estimator ignores contributions to the
residual coming from element sides on the boundary which have Neumann
(flux) type boundary conditions such as
grad(u).n = g on \Gamma_N
I think it is reasonable to assume this error will be small, since the
flux condition is enforced weakly during the formation of the element
stiffness matrices. In the case of natural (flux=0) boundary conditions,
it is common to not even add these terms to the stiffness matrix at all
since they are assumed to be zero.
My question is: would it be worth computing the boundary edge integrals
\int |g - grad(u_h).n|^2 dS
on the flux boundaries? My hunch is that in some applications, the
estimator should actually be reporting a lot more error for the
elements on the boundary than it currently is. In fact, I have seen
actual evidence of this in a 2D tumor-growth model with an exponential
layer near the boundary. The row of elements closest to the boundary
are not flagged for refinement even though several adjacent layers of
elements are. What are your thoughts?
The main implementation difficulty would be coming up with a general
way to get the BCs and BC information into the error estimator without
duplicating existing code in the matrix assembly routine. There are
probably other issues as well. Any thoughts would be appreciated.