From: Roy Stogner <roystgnr@ic...>  20100112 17:16:41

On Tue, 12 Jan 2010, Andrea Hawkins wrote: > "All the values I need to compute my contribution to the simulation at hand. > Think of this as the current solution with any ghost values needed from > other processors. This vector is necessarily larger than the solution vector > in the case of a parallel simulation" Right. solution is of type PARALLEL, which should store just the local values plus some header info. (that header info includes the total NumericVector::size()) current_local_solution is (by default) now of type GHOSTED. > which implies that they are the same size... =) So, I thought perhaps this > is just the global size, maybe it is the local size that should be > different. But, I checked that (at least on a 2 processor run) and they had > the same local size as well. Yes, but local_size() just refers to the number of locallyowned dofs; it doesn't includes the "ghost dofs" copied from other processors. > So, what exactly is the current_local_solution? It appears to have the same > parallel structure of solution. Does it just fill in zeros wherever there is > an unneeded value? In our current PETSc implementation, GHOSTED vectors effectively include a vector of local dof coefficients, a vector of ghost coefficients, and a mapping between the ghost coefficients' dense indices in that vector and their sparse indices in the real vector. For Trilinos, they're still just serial vectors with zeros in the unneeded entries.  Roy 