Hi Sir, Thanks a lot for the clarification. I will give it a try, let's see how things go.
Somdeb On Thu, Dec 29, 2016 at 9:37 AM, Barry Smith <[email protected]> wrote: > > Sadly this type of situation is not as easy to handle as one would > hope. What you suggest is possible, there are basically two different > approaches > > 1) have both DA live on all processes > > 2) Create a subcommunicator for DAtop and its complement for DAcavity. > > In either case I would suggest using the "ghost" boundary conditions for > the top of the DAcavity and the bottom of the DAtop and use two > VecScatters to communicate from/to them and the regular parts of the > domain. Then essentially ghost point updates are done with > DAGlobalToLocal() on each DA and the VecScatters. For parts of DATop that > are not above the DACavity you would just ignore the "extra" ghost > locations. > > I would start by figuring out how to do this and not yet worry about > Jacobians etc. Just be able to go from global to local on the composite > grid vector to the local vectors. Use a very small number of points and run > starting on one process. I would use 1) not 2) since it is simpler to > understand. > > Good luck, > > Barry > > > > On Dec 28, 2016, at 3:49 PM, Somdeb Bandopadhyay <[email protected]> > wrote: > > > > Hi all, > > I am trying to modify a single block incompressible solver for flow > over open cavity. One way I could do it, is to set part of the domain as > flagged and apply velocity field=0 all over it. But it does not seem to be > appropriate way (I am wasting alot of grid, just to have a small cavity). > So I was wondering, is there any example to interact between two DMDA > grids? I am using petsc to solve the poisson equation so if I can just > create two set of grid (say DA_grid1 and DA_grid2) and have a interface > between them, my problem would be alot more easier. > > > > Thanks a lot in advance. > > > > Somdeb > >
