petsc I/O

Barry Smith bsmith at mcs.anl.gov
Fri Sep 15 15:21:56 CDT 2006


  Sorry it should be PetscSynchronizedFPrintf()
                                   ^^^^^^^

  Barry


On Fri, 15 Sep 2006, Barry Smith wrote:

> 
>   Matt,
> 
> if the element lives on my process then use VecGetArray() to access
> the value and call
>   PetscSynchronizedPrintf() 
> 
>   Not completely canned but easy to do.
> 
>   Barry
> 
> On Fri, 15 Sep 2006, Matt Funk wrote:
> 
> > Hi,
> > 
> > thanks for the answers first of all. I have another question though ... :)
> > 
> > Say, i want to print a specific element from a PETSc global vector. Is there a 
> > function (PetscSunchFPrintF does not do this i believe) to which i simply 
> > pass the file handle, communicator, the vector and the element and it writes 
> > the value to the file?
> > 
> > 
> > thanks
> > mat
> > 
> > On Wednesday 13 September 2006 17:13, Berend van Wachem wrote:
> > > Hi Matt,
> > >
> > > > i need to read in an input file. So to open my file i use PETSCFOpen
> > > > which works fine. But then my problems begin ... :)
> > > >
> > > > I guess i need to tell only the first proc in the communicator to fscan.
> > > > But is there a PETSC function that returns me the processor id?
> > > > And when i read the parameters in on the first proc i need to broadcast
> > > > them to the other procs. Does PETSC have anything for this?
> > >
> > > For both issues you can use standard MPI:
> > >
> > > to get the processor ID:
> > > ierr=MPI_Comm_rank(MPI_Comm Communicator,int *rank);
> > >
> > > to broadcast information:
> > > ierr=MPI_Bcast ( void *buffer, int count, MPI_Datatype datatype, int
> > > root,  MPI_Comm comm )
> > >
> > > If possible, I would recommend you to use the PetscViewer interface for
> > > your IO handling; it is very easy.
> > >
> > > Good luck,
> > >
> > > Berend.
> > 
> > 
> 




More information about the petsc-users mailing list