Petsc parallel vectors with two communicators

Khan, Irfan irfan.khan at
Wed Mar 25 10:45:50 CDT 2009

Thanks Matt. That helped a lot. Things seem to be working now. 


----- Original Message ----- 
From: "Matthew Knepley" <knepley at> 
To: "PETSc users list" <petsc-users at> 
Sent: Wednesday, March 25, 2009 9:08:24 AM GMT -05:00 US/Canada Eastern 
Subject: Re: Petsc parallel vectors with two communicators 

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

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 

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 lead. 
-- Norbert Wiener 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the petsc-users mailing list