From: Jed B. <je...@59...> - 2010-06-24 17:31:16
|
On Thu, 24 Jun 2010 12:16:53 -0500 (CDT), Roy Stogner <roy...@ic...> wrote: > I suspect there are only two reasons why we didn't support mismatched > types: > > when that assertion was written we only had serial and parallel > vectors, a more extreme mismatch Yes, these are different in a deep way, they have different communicators and likely different local sizes. > As long as we don't copy the type over with operator=, this shouldn't > be a concern for PetscVector. No, just recognize that LocalFunction(xghost,fghost); yplain = xghost; LocalFunction(yplain,fghost); would fail in LocalFunction instead of operator=. I think this fine, but it is a slightly later error message. > I'd say that we should at least enable > "parallelvec = ghostedvec", if everyone agrees. And ghostedvec=parallelvec. > "parallelvec = serialvec" and "ghostedvec = serialvec" Would the semantics of the latter be VecGetLocalForm(g,&lf); VecCopy(s,lf); VecRestoreLocalForm(g,&lf); or something else? Would it include a VecGhostUpdateBegin/End? If so, would that use ADD_VALUES or INSERT_VALUES? Jed |