DA question

Matthew Knepley knepley at gmail.com
Tue Apr 29 14:39:19 CDT 2008


On Tue, Apr 29, 2008 at 2:27 PM,  <Amit.Itagi at seagate.com> wrote:
> Barry,
>
>  Can this be achieved using SDA ? I am working with regular arrays, and
>  doing only explicit updates.

What is SDA? Barry's point is that, if no solve is done (as in your case), no
global system or global vectors need to be formed. You can use LocalToLocal
calls to keep gohst points synchronized.

  Matt

>  Thanks
>
>  Rgds,
>  Amit
>
>  owner-petsc-users at mcs.anl.gov wrote on 04/29/2008 01:28:17 PM:
>
>  >
>  >    If you are running a true explicit scheme then you have no need
>  > to ever have a "global representation" at each time step. In this
>  > case you can use DALocalToLocalBegin() then DALocalToLocalEnd()
>  > and pass the same vector in both locations. This will update the ghost
>  > points but WILL NOT do any copy of the local data since it is already
>  > in the correct locations.
>  >
>  >    Barry
>  >
>  > On 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
>  > > involve allocating twice the storage for the local part. Also, does
>  > > the
>  > > scattering of the local part give a big hit in terms of CPU time ?
>  > >
>  > > 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 ?
>  > >
>  > > Thanks
>  > >
>  > > Rgds,
>  > > Amit
>  > >
>  > > owner-petsc-users at mcs.anl.gov wrote on 04/09/2008 04:09:59 PM:
>  > >
>  > >> Hi Amit,
>  > >>
>  > >> Why do you need two staggered grids? I do EM finite difference
>  > >> frequency
>  > >> domain modeling on a staggered grid using just one DA. Works
>  > >> perfectly
>  > > fine.
>  > >> There are some grid points that are not used, but you just set them
>  > >> to
>  > > zero
>  > >> and put a 1 on the diagonal of the coefficient matrix.
>  > >>
>  > >>
>  > >> Randy
>  > >>
>  > >>
>  > >> Amit.Itagi at seagate.com wrote:
>  > >>> Hi Berend,
>  > >>>
>  > >>> A detailed explanation of the finite difference scheme is given
>  > >>> here :
>  > >>>
>  > >>> http://en.wikipedia.org/wiki/Finite-difference_time-domain_method
>  > >>>
>  > >>>
>  > >>> Thanks
>  > >>>
>  > >>> Rgds,
>  > >>> Amit
>  > >>>
>  > >>>
>  > >>>
>  > >>>
>  > >
>  > >>>            Berend van Wachem
>  > >
>  > >>>            <berend at chalmers.
>  > >
>  > >>>            se>
>  > > 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/09/2008 02:59
>  > >
>  > >>>            PM
>  > >
>  > >>>
>  > >
>  > >>>
>  > >
>  > >>>            Please respond to
>  > >
>  > >>>            petsc-users at mcs.a
>  > >
>  > >>>                 nl.gov
>  > >
>  > >>>
>  > >
>  > >>>
>  > >
>  > >>>
>  > >>>
>  > >>>
>  > >>>
>  > >>> Dear Amit,
>  > >>>
>  > >>> Could you explain how the two grids are attached?
>  > >>> I am using multiple DA's for multiple structured grids glued
>  > >>> together.
>  > >>> I've done the gluing with setting up various IS objects. From the
>  > >>> multiple DA's, one global variable vector is formed. Is that what
>  > >>> you
>  > >>> are looking for?
>  > >>>
>  > >>> Best regards,
>  > >>>
>  > >>> Berend.
>  > >>>
>  > >>>
>  > >>> Amit.Itagi at seagate.com wrote:
>  > >>>> Hi,
>  > >>>>
>  > >>>> Is it possible to use DA to perform finite differences on two
>  > > staggered
>  > >>>> regular grids (as in the electromagnetic finite difference time
>  > >>>> domain
>  > >>>> method) ? Surrounding nodes from one grid are used to update the
>  > >>>> value
>  > > in
>  > >>>> the dual grid. In addition, local manipulations need to be done
>  > >>>> on the
>  > >>>> nodal values.
>  > >>>>
>  > >>>> 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