<div dir="ltr">On Thu, Jan 24, 2013 at 10:03 AM, Kharche, Sanjay <span dir="ltr"><<a href="mailto:Sanjay.Kharche@liverpool.ac.uk" target="_blank">Sanjay.Kharche@liverpool.ac.uk</a>></span> wrote:<br><div class="gmail_extra">
<div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
Hi Barry, All<br>
<br>
I am still taking the first few steps towards getting started.<br>
<br>
Yesterday, I was trying to output a vector in a specific format, essentially a row of 10 numbers only rather than a column of numbers+metadata. The suggestion for that was to output the vector as a binary, and then read it in using VecLoad from another standalone program and do whatever I wanted. Both my programs are serial, so there is no issue of parallel. In my standalone, I do something like:<br>

<br>
PetscViewer viewer;<br>
PetscViewerBinaryOpen(PETSC_COMM_WORLD,"ubu.bin",FILE_MODE_READ,&viewer);<br>
VecLoad(u, viewer);<br>
PetscViewerDestroy(&viewer);<br>
<br>
// check that u has the values you think it should have.<br>
VecView(u, PETSC_VIEWER_STDOUT_WORLD); // yes it does.<br>
<br>
// Now test if u now visible to printf so I can do this:<br>
for(i=0;i<10;i++)<br>
fprintf(my_non_petscfile,"%f ",u[i]);<br>
fprintf(my_non_petscfile,"\n");<br>
// but this does not work - the values of u are not as shown by VecView!<br>
<br>
And I still cannot output the vector u as a row into the non_petscfile. Can you help?<br></blockquote><div><br></div><div style>This is not the whole code. Where is the call to VecGetArray()?</div><div style><br></div><div style>
   Matt</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
thanks<br>
Sanjay<br>
<br>
<br>
________________________________________<br>
From: <a href="mailto:petsc-users-bounces@mcs.anl.gov">petsc-users-bounces@mcs.anl.gov</a> [<a href="mailto:petsc-users-bounces@mcs.anl.gov">petsc-users-bounces@mcs.anl.gov</a>] on behalf of Barry Smith [<a href="mailto:bsmith@mcs.anl.gov">bsmith@mcs.anl.gov</a>]<br>

Sent: 23 January 2013 20:53<br>
To: PETSc users list<br>
Subject: Re: [petsc-users] output<br>
<br>
   Sanjay,<br>
<br>
     Since you are wanting ASCII output you don't need to worry about absolute scalability. Thus what I would do is in your parallel PETSc application code save the vectors with VecView() to binary format. Then write a stand-alone sequential program in C, Matlab, Python that reads in the binary vectors with VecLoad() and outputs them in any way you want.  Trying to do fancy ASCII output in parallel is not worth spending time.<br>

<br>
    Barry<br>
<br>
On Jan 23, 2013, at 2:18 PM, "Kharche, Sanjay" <<a href="mailto:Sanjay.Kharche@liverpool.ac.uk">Sanjay.Kharche@liverpool.ac.uk</a>> wrote:<br>
<br>
><br>
> Dear All<br>
><br>
> I am an absolute beginner to PetSc. I am trying to output PetSc vectors in a specific format. This may have been discussed before, but I have so far not found a solution.<br>
><br>
> For 2 or 3 vectors, I do this:<br>
><br>
> /*<br>
> now write it to file.<br>
> I would like row 1 to be u, row 2 to be b, and row 3 to be u. that way I can use<br>
> gnuplots surf, and also all my existin matlab code for plotting/analysis.<br>
> */<br>
> PetscViewer viewer; // a Petsc file pointer.<br>
> PetscViewerASCIIOpen(PETSC_COMM_WORLD,"ubx.dat",&viewer);<br>
> VecView(u,viewer); // this comes out with information that I dont want, and in a column - I need to put it as a row.<br>
> VecView(b,viewer);<br>
> VecView(x,viewer);<br>
> PetscViewerDestroy( &viewer );<br>
><br>
> However, I have not been able to get rid of the information about procs, and also the vectors u, b, and u need to be in row format as:<br>
> 1 2 1 1 1<br>
> 0 0 0 1 0<br>
> -1 2 -1 0<br>
><br>
> rather than what I have now:<br>
><br>
> Vector Object: 1 MPI processes<br>
>  type: seq<br>
> 1<br>
> 2<br>
> 1<br>
> 1<br>
> 1<br>
> etc....<br>
><br>
><br>
> Any suggestions on how to do this will be appreciated.<br>
><br>
> thanks<br>
> Sanjay<br>
<br>
</blockquote></div><br><br clear="all"><div><br></div>-- <br>What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.<br>
-- Norbert Wiener
</div></div>