<p>Yes, I made this transformation for MatNest in January. It will be easier for VecNest.</p>
<div class="gmail_quote">On Oct 16, 2011 3:23 PM, "Vijay S. Mahadevan" <<a href="mailto:vijay.m@gmail.com">vijay.m@gmail.com</a>> wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
> Let's wait on optimizing until we have a use case where it matters. Since<br>
> everything else expects data structures to be rebuilt if anything changes, I<br>
> don't think it's a concern just yet. If we allow more resizing in the<br>
> future, we can optimize this routine.<br>
<br>
Agreed. No need for premature optimization.<br>
<br>
I do find the flow of creating a Nest vector odd now that the<br>
SetSubVec* are in place. Because due to the VecCreateNest signature,<br>
you still need to provide a set of vectors to create the leaf nodes.<br>
Perhaps it might be useful to modify this signature to conform to the<br>
usual strategy now ? i.e., VecCreate(), VecSetSizes(), VecSetType(),<br>
VecSetFromOptions(), VecSetSubVecs(), VecAssemblyBegin/End() ?<br>
<br>
On Sun, Oct 16, 2011 at 11:25 AM, Jed Brown <<a href="mailto:jedbrown@mcs.anl.gov">jedbrown@mcs.anl.gov</a>> wrote:<br>
> On Sat, Oct 15, 2011 at 10:12, Vijay S. Mahadevan <<a href="mailto:vijay.m@gmail.com">vijay.m@gmail.com</a>> wrote:<br>
>><br>
>> Find attached the bundle with the changes for<br>
>> VecNestSetSubVec/VecNestSetSubVecs. The test file and the outputs are<br>
>> also included in the bundle. Feel free to modify the documentation if<br>
>> need be.<br>
><br>
> Thanks, applied.<br>
><br>
>><br>
>> The only thing that I think needs a better implementation is the<br>
>> SetSubVecs where I've just looped over the indices and recursively<br>
>> called the single SetSubVec. This was hard to optimize since<br>
>> accommodating variable vectors involves traversing the IS one by one<br>
>> and I couldn't figure out a way to implement this concurrently.<br>
>> Anyway, if you can think of something better, let me know.<br>
><br>
> Let's wait on optimizing until we have a use case where it matters. Since<br>
> everything else expects data structures to be rebuilt if anything changes, I<br>
> don't think it's a concern just yet. If we allow more resizing in the<br>
> future, we can optimize this routine.<br>
</blockquote></div>