Barry, Can this be achieved using SDA ? I am working with regular arrays, and doing only explicit updates.
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 > >>>> > >>> > >>> > >>> > >> > > >
