I'll try that, but I'm still a bit confused over the relationship between DMDA and Vec objects.
Supposing I called DMDACreate1d with M as my global dimension and dof as the number of degrees of freedom. So this is really managing M * dof scalars. When I call DMCreateGlobalVector, isn't that associated with an M * dof size vector? I really just want to clone a vector of size M, but with the same partitioning. -gideon On Jan 1, 2014, at 2:41 PM, Jed Brown <[email protected]> wrote: > Gideon Simpson <[email protected]> writes: > >> Suppose I have a 1D dmda structure distributed across N processors, >> where there are some number of degrees of freedom (dof) associated >> with each element. Now, suppose I want to have a vec also distributed >> across the N processors, but distributed "in the same way" as the >> dmda. That is to say, if I call >> >> DMDAGetCorners(da, &idx_lo, NULL, NULL, &idx_width, NULL, NULL); >> >> idx_lo to idx_lo+ idx_width >> >> are the same indices I'd get if I called >> >> VecGetOwnershipRange(vec, &idx_low, &idx_hi); >> >> Can I do this? How? > > What's wrong with DMCreateGlobalVector()?
