Implicit in the DofConstraintRow usage are two assumptions: A) The coefficient on the dof_id corresponding to the index of the row is 1. (or -1, if you think of all the coefficients being on the same "side" of the equation)
B) There is only one row for each dof_id. For a homogeneous Dirichlet constraint (assuming you don't want to just use DirichletBoundary?) all you should need to add as a user constraint is an empty row for that dof id. For a multipoint constraint it can be easy, hard, or impossible. If there are no other interacting constraints then you can add a row on either id, with a single coefficient of 1.0 corresponding to the other id. Just assign the row to the lowest id or something consistent between processors in parallel. If there are other non-redundant constraints on one of those ids then you have to be careful to add the constraint to the other id so as not to overwrite anything. This is hard in parallel when you're at a point where not all processors know about all constraints. If there are other non-redundant constraints on both ids then there's no non-destructive way to add the constraint you want, and you needed to assign the other constraints to different rows in the first place. See the periodic BC code for some brain-melting logic for this sort of problem. --- Roy ------------------------------------------------------------------------------ New Year. New Location. New Benefits. New Data Center in Ashburn, VA. GigeNET is offering a free month of service with a new server in Ashburn. Choose from 2 high performing configs, both with 100TB of bandwidth. Higher redundancy.Lower latency.Increased capacity.Completely compliant. http://p.sf.net/sfu/gigenet _______________________________________________ Libmesh-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/libmesh-users
