[petsc-dev] DACreate3d should work for 1 node in Z

Matthew Knepley knepley at gmail.com
Tue Apr 19 18:28:47 CDT 2011


On Tue, Apr 19, 2011 at 6:19 PM, Jed Brown <jed at 59a2.org> wrote:

> On Wed, Apr 20, 2011 at 00:35, Ethan Coon <ecoon at lanl.gov> wrote:
>
>> Ok, here's a patch that does the very very special case of:
>>
>> p=P=1, s > p, DMDA_BOUNDARY_PERIODIC in the z-direction.
>>
>> Note this is really only possible in the z-direction...
>>
>
> That is the case that you usually want, otherwise DMDAVecGetArray has
> rather inefficient indexing.
>
>
>>  when in the
>> z-direction, we can just check if the global index < 0 or > x*y*z and
>> adjust appropriately.  So this can't generalize to x- or y- directions
>> (though it could do the y-direction in the 2D case, allowing one to do
>> 1D problems in a 2D algorithm?)
>>
>> Compared to the rest of the cruft in da3.c and how non-general the
>> global index generation is overall, it's not actually that ugly...
>>
>
> We should all go unstructured for everything. Then we would have already
> paid the storage cost of heavier data structures so many of the special
> cases go away. :-)
>
>
I did this already in src/dm/impls/cartesian, but we don't want to depend on
Boost for the data structure. I will
rewrite this with a simple multiindex container in PETSc when I get a
chance. Once this is done, the code is
very very simple to construct the scatter.

   Matt


>
>> I've tested with s=2 and 3, BOX and STAR, and the indices look right
>> (i.e. they are identical in the z-dimension).  But it's ugly, so please
>> test with your stuff too Jed.
>>
>
> It seems to be working with Andrew's MHD code so I've pushed your
> patch. Thank you Ethan.
>
> Andrew, your code is running now with NZ=1. Your function evaluation still
> evaluates to zero so SNESSolve is not doing any iterations. I assume there
> is some other step to turn on your source terms.
>



-- 
What most experimenters take for granted before they begin their experiments
is infinitely more interesting than any results to which their experiments
lead.
-- Norbert Wiener
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20110419/4ecfd6c0/attachment.html>


More information about the petsc-dev mailing list