From: Roy Stogner <roystgnr@ic...>  20061017 16:29:22

On Tue, 17 Oct 2006, li pan wrote: > I think, I'd better explain my problem first :) > I don't have a desired point, nor a desired direction. > I only know the boundary nodes can move within the > plane. That is to say, no displacement in normal > direction. This is like dealing with contact problem. > Maybe I can't solve it through setting boundary > condition? Well, what are your system's variables? If your x, y, and z displacement u has components ux, uy, and uz, with test functions tx, ty, and tz corresponding to vectors in each direction, and you're on a surface whose normal vector n has components nx, ny, and nz, and you want the displacement to be zero in the normal direction, then you should be able to add the following (penalized by 1 over epsilon) term to your residual: (ux * nx + uy * ny + uz * nz, tx * nx + ty * ny + tz * nz) Where (.,.) is the L2 inner product over the penalized boundary. This should be (modulo a constant factor of 2) what you get from variational calculus on the scalar residual (u*n)^2, unless I didn't have enough coffee this morning and I've done my math wrong. Isn't this kind of an odd boundary condition for a contact problem, though? The reason I assumed you were doing mesh smoothing is because you didn't talk about any friction terms, and most solid contact problems don't involve teflon sliding over wet ice. ;)  Roy 