One more question: why does not DMDACreateSection include d.o.f on edges in 3D? I think it is very useful for the sub-structuring methods on structured meshes. For example, the BPS preconditioner, the wire-basket preconditioner on a structured coarse mesh (one subdomain per element) involve interface d.o.f. on faces, edges and vertices.
On Jan 22, 2013, at 10:34 AM, Hui Zhang wrote: > Hi petsc-group, > > if I want to map a structured mesh onto processors by partition of mesh > **elements**, > can I use DMDACreate3d -> DMDACreateSection, then > DMDACreateLocal(Global)Vector to > give me the vector corresponding to my Q1-element d.o.f.? > > I ask because according to the manual, the usual use of DMDA is only for > partition of > **nodes** to processors and the local vector is not corresponding to > partition of elements. > For example, consider the Q1 element on the 1D mesh, (numbers for nodes) > > 1--2--3--4--5 > > Given two processors, I want the local vector after partition to reside on > the partitioned mesh > > 1--2--3 3--4--5 > proc 0 proc 1 > > The global value of d.o.f at the node 3 may be managed by proc 1, and proc 0 > only ghosts it. > If it is the case, proc1 does not ghost any value. > > This is different from the usual DMDA for finite difference stencils, in > which the ghosting > is symmetric, i.e. both proc0 and proc1 will ghost some values. > > Thanks in advance! > > > >
