DA question

Amit.Itagi at seagate.com Amit.Itagi at seagate.com
Tue Apr 29 12:10:29 CDT 2008


Thanks, Matt.

Rgds,
Amit



                                                                           
             "Matthew Knepley"                                             
             <knepley at gmail.co                                             
             m>                                                         To 
             Sent by:                  petsc-users at mcs.anl.gov             
             owner-petsc-users                                          cc 
             @mcs.anl.gov                                                  
             No Phone Info                                         Subject 
             Available                 Re: DA question                     
                                                                           
                                                                           
             04/29/2008 11:54                                              
             AM                                                            
                                                                           
                                                                           
             Please respond to                                             
             petsc-users at mcs.a                                             
                  nl.gov                                                   
                                                                           
                                                                           




On Tue, Apr 29, 2008 at 8:54 AM,  <Amit.Itagi at seagate.com> wrote:
> Hi,
>
>  I spent some more time understanding DA's, and how DA's should serve my
>  purpose. Since in the time domain calculation, I will have to scatter
from
>  the global vector to the local vector and vice-versa at every iteration
>  step, I have some follow-up questions.
>
>  1) Does the scattering involve copying the part stored on the local node
as
>  well (i.e. part of the local vector other than the ghost values), or is
the
>  local part just accessed by reference ? In the first scenario, this
would

No, you get a separate local vector since we reorder to give contiguous
access.

>  involve allocating twice the storage for the local part. Also, does the

Yes, however unless you run an explicit code at the limit of memory, this
really does not matter.

>  scattering of the local part give a big hit in terms of CPU time ?

Not for these cartesian topologies with small overlap. This is easy to
prove.

>  2) In the manual, it says "In most cases, several different vectors can
>  share the same communication information (or, in other words, can share
a
>  given DA)" and "PETSc currently provides no container for multiple
arrays
>  sharing the same distributed array communication; note, however, that
the
>  dof parameter handles many cases of interest". I am a bit confused.
Suppose
>  I have two arrays having the same layout on the regular grid, can I
store
>  the first array data on one vector, and the second array data on the
second
>  vector (and have a DA with dof=1, instead of a DA with dof=2), and be
able
>  to scatter and update the first vector without scattering/updating the
>  second vector ?

Yes. You call DAGetGlobalVector() twice, and then when you want one vector
updated, call DALocalToGlobal() or DAGlobalToLocal() with that vector.

  Matt

>  Thanks
>
>  Rgds,
>  Amit
--
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






More information about the petsc-users mailing list