Petsc parallel vectors with two communicators

Matthew Knepley knepley at
Wed Mar 25 08:08:24 CDT 2009

On Wed, Mar 25, 2009 at 1:05 AM, Khan, Irfan <irfan.khan at> wrote:

> Hi
> Can the petsc parallel vectors be used with two different communicators?
> For instance, I have created two different communicators called FEA_Comm and
> FSI_Comm. The total number of processes are x+y. FSI_Comm works on x+y but
> FEA_Comm works only on x.
> Now I am trying to create parallel vectors a1 and a2 such that a1 has
> entries from x+y processes but a2 has entries from only y processes.
> After splitting the communicators I assign PETSC_COMM_WORLD to FEA_Comm
> which works on only x processes. Subsequently petsc is initialized
> (PetscInitialize()). But when the parallel vectors are created, the
> processes hang.

PETSC_COMM_WORLD should encompass all processes you wish to use in PETSc, so
that means x+y. You can create Vec
objects on subcommunicators, like x.


> Any suggestions will be helpful
> Thankyou
> Irfan
> Graduate Research Assistant
> Woodruff school of Mechanical Engineering
> Atlanta, GA (30307)
What most experimenters take for granted before they begin their experiments
is infinitely more interesting than any results to which their experiments
-- Norbert Wiener
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the petsc-users mailing list