On Oct 31, 2008, at 2:55 PM, Kirk, Benjamin (JSC-EG) wrote:

Ok, I'm with you and agree that function is probably the way to go.  I'd think a function call like extract_... is what you need.

The full matrix method embeds (or used to) the constraint in the row (at the cost of introducing asymmetry), so even without enforce_constraints_exactly() you should recover the constrained value to some accuracy commensurate with your linear solver tolerance. 

The constrain_element_residual() should do the trick if it replaces whatever residual value you have with

Re(i) = u(i) - u_constrained

For either dirichlet or hanging-node type constraints... Right?

Well... Dirichlet constraints are a tad more difficult because you have to supply some other value that the library doesn't (yet) know about.  If we could come up with a good API for telling the constraint system about the values.... then we'd be in business.