>> 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 element-based 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 ------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ _______________________________________________ Libmesh-devel mailing list Libmesh-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/libmesh-devel