Which state of ghost dofs is assumed to hold in the mean time by design: 1. consistent values, or 2. inconsistent values?
If 1. holds the logic is that every piece of (DOLFIN or user's) code which changes dof values calls `update_ghost_values()` before returning. If 2. is correct then logic would be that each piece of code which wants to read ghost dofs calls `update_ghost_values()` just right before doing it. I guess that PETSc never updates ghost dofs unless user explicitly calls `VecGhostUpdateBegin/End`. Is it correct? Who in DOLFIN bassically reads from ghost dofs? Is it `restrict` and `compute_vertex_values` only? I see `update` only in the latter. Then there are some `update`s in assemblers so it seems little inconsistent to me - like being halfway between approach 1. and 2 - so that there is breeding ground for a bugs. Jan _______________________________________________ fenics mailing list [email protected] http://fenicsproject.org/mailman/listinfo/fenics
