From: Benjamin Kirk <benjamin.kirk@na...>  20081031 20:31:48

>> At the same time with JFNK we have a problem with the current way we >> deal with hanging node constraints in libMesh. For JFNK we need to >> fill the residual of a constrained DOF with something like u  ( A1 * >> Parent1Value + A2 * Parent2Value + etc.). Currently >> constrain_element_vector() doesn't do anything close to this (and if >> I'm reading it correctly) it actually zeroes out the constrained DOF's >> residual.... which means that nothing gets solved for, for that DOF. > > In element residual computations, are you using > DofMap::extract_local_vector()? > http://libmesh.sourceforge.net/doxygen/classDofMap.php#cfbb9dbe71246f5d08607 > 7a3f4a5cced > > I use it to extract elementbased Dofs, and they get properly constrained. > Would the residual value then be the current value  the constraned value, > as you mention? I guess what I am trying to say is than in ex19 rather than computing u & grad_u from soln passed in at the current nonlinear iterate, instead you would extract Ue from soln using the DofMap::extract_vector(), and that builds the constraint in. Then you compute u & grad_u from Ue. Then, for the constrained dofs, the residual value is simply (soln(dof_index[i])  Ue(i))? That linear term falls through and gives you the desired action of the 1 in the Jacobian... Ben 