<html dir="ltr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" id="owaParaStyle"></style>
</head>
<body fpstyle="1" ocsi="0">
<div style="direction: ltr;font-family: Tahoma;color: #000000;font-size: 10pt;">Hello, 
<div><br>
</div>
<div>The <span style="font-family: Menlo; font-size: 11px;">PETSC_VIEWER_BINARY_</span><span style="font-size: 10pt;"> command is supposed to create a binary Petsc Viewer, then </span><span style="font-family: Menlo; font-size: 11px;">MatView Vec</span><span style="font-family: Menlo; font-size: 11px;">View </span><font size="2">suppose
 to add matrices and vectors to the </font>binary output<font size="2"> file. However, it seems that the viewer gives different output if you use different number of processors. Below is a more detailed description of the problem from an example. </font></div>
<div><font size="2"><br>
</font></div>
<div><font size="2">In test example snes/examples/tutorial/ex70.c, I add the following command to the StokesWriteSolution function:</font></div>
<div>
<p style="margin-right: 0px; margin-left: 0px; font-size: 11px; font-family: Menlo;">
    PetscViewer viewer = PETSC_VIEWER_BINARY_(PETSC_COMM_WORLD);</p>
<p style="margin-right: 0px; margin-left: 0px; font-size: 11px; font-family: Menlo; color: rgb(0, 132, 0);">
<span style="color: rgb(0, 0, 0);">    </span><span style="color: rgb(0, 0, 0);">MatView(s->subA[</span><span style="color: rgb(39, 42, 216);">0</span><span style="color: rgb(0, 0, 0);">],viewer);</span></p>
<p style="margin-right: 0px; margin-left: 0px; font-size: 11px; font-family: Menlo;">
    MatView(s->subA[<span style="color: #272ad8">1</span>],viewer);</p>
<p style="margin-right: 0px; margin-left: 0px; font-size: 11px; font-family: Menlo;">
    MatView(s->subA[<span style="color: #272ad8">2</span>],viewer);</p>
<p style="margin-right: 0px; margin-left: 0px; font-size: 11px; font-family: Menlo;">
    MatView(s->subA[<span style="color: #272ad8">3</span>],viewer);</p>
<p style="margin-right: 0px; margin-left: 0px; font-size: 11px; font-family: Menlo;">
    VecView(s->x,viewer);</p>
<p style="margin-right: 0px; margin-left: 0px; font-size: 11px; font-family: Menlo;">
    VecView(s->b,viewer);</p>
<p style="margin-right: 0px; margin-left: 0px; font-size: 11px; font-family: Menlo;">
    VecView(s->y,viewer);</p>
<p style="margin-right: 0px; margin-left: 0px; font-size: 11px; font-family: Menlo;">
<br>
</p>
</div>
<div><font size="2">Now I run make ex70 to compile the code, and run the code with the options</font></div>
<div>
<p style="margin-right: 0px; margin-left: 0px; font-size: 11px; font-family: Menlo;">
<span style="color: #35a327">-@</span>${<span style="color: #c79c24">MPIEXEC</span>} -n 4 ./ex70 -nx 100 -ny 100 -pc_type fieldsplit -fieldsplit_0_pc_type jacobi -fieldsplit_1_pc_type jacobi  -pc_fieldsplit_type SCHUR -ksp_monitor_short -ksp_converged_reason
 -ksp_rtol 1e1 -fieldsplit_1_ksp_rtol 1e-2 -fieldsplit_0_ksp_rtol 1e-4 -fieldsplit_1_ksp_max_it 100  -fieldsplit_0_ksp_max_it 1000 -ksp_type fgmres</p>
<p style="margin-right: 0px; margin-left: 0px; font-size: 11px; font-family: Menlo;">
<br>
</p>
<p style="margin-right: 0px; margin-left: 0px;"><span style="font-family: Tahoma; font-size: small;">Here you can see I have 4 processors running at the same time. I read in the output from MATLAB using the</span></p>
<p style="margin-right: 0px; margin-left: 0px;"><span style="font-family: Tahoma; font-size: small;">command </span><font size="2">[A,B,C,D,x,b,y] = PetscBinaryRead('</font>binaryoutput<font size="2">'). </font></p>
<p style="margin-right: 0px; margin-left: 0px;"><font size="2"><br>
</font></p>
<p style="margin-right: 0px; margin-left: 0px;"><font size="2">And I visualize the variable y by the commands:</font></p>
<p style="margin-right: 0px; margin-left: 0px;">mesh(reshape(y(20001:30000),100,100))</p>
<p style="margin-right: 0px; margin-left: 0px;">mesh(reshape(y(10001:20000),100,100))</p>
<p style="margin-right: 0px; margin-left: 0px;"><span style="font-size: 10pt;">mesh(reshape(y(1:10000),100,100))</span></p>
<p style="margin-right: 0px; margin-left: 0px;"><span style="font-family: Tahoma; font-size: small;"><br>
</span></p>
<p style="margin-right: 0px; margin-left: 0px;"><span style="font-family: Tahoma; font-size: small;">The output plots are different from what I get if I use 1 processor. </span></p>
<p style="margin-right: 0px; margin-left: 0px; font-size: 11px; font-family: Menlo;">
<span style="font-family: Tahoma; font-size: small;"><br>
</span></p>
<p style="margin-right: 0px; margin-left: 0px; font-size: 11px; font-family: Menlo;">
<span style="font-family: Tahoma; font-size: small;">Best,</span></p>
<p style="margin-right: 0px; margin-left: 0px;"><font size="2">Hui</font></p>
<p style="margin-right: 0px; margin-left: 0px; font-size: 11px; font-family: Menlo;">
<span style="font-family: Tahoma; font-size: small;"><br>
</span></p>
</div>
</div>
</body>
</html>