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()?

Reply via email to