<div dir="ltr"><div dir="ltr">On Wed, Feb 9, 2022 at 5:56 AM Yann Jobic <<a href="mailto:yann.jobic@univ-amu.fr">yann.jobic@univ-amu.fr</a>> wrote:<br></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Dear All,<br>
<br>
I'm facing a strange problem. I did not succeed in putting some values <br>
in an MPI matrix. I'm using Petsc 3.16.4. The matrix is pre-allocated, <br>
with some zeroes at the right position.<br>
<br>
To explain the context, it's a finit elements code, thus in the tangent <br>
matrix creation, i've got a first loop over the elements, and feed the <br>
matrix accordingly. This part is working. I'm using ADD_VALUES.<br>
<br>
I then have to put the periodic boundary conditions on some nodes, that <br>
is to say that i've got 1 at the diagonal, and -1 on the mirror element <br>
of the designated ddl  (i've got a Newton-Raphson minimisation <br>
procedure). I'm using INSERT_VALUES here.<br>
<br>
According to the documentation, i should do :<br>
<br>
Loop over Elements<br>
call MatSetValues<br>
end loop<br>
call MatAssemblyBegin(A,MAT_FLUSH_ASSEMBLY,ierr);CHKERRA(ierr)<br>
call MatAssemblyEnd(A,MAT_FLUSH_ASSEMBLY,ierr);CHKERRA(ierr)<br>
<br>
Loop over periodic nodes<br>
call MatSetValue<br>
end loop<br>
call MatAssemblyBegin(A,MAT_FINAL_ASSEMBLY,ierr);CHKERRA(ierr)<br>
call MatAssemblyEnd(A,MAT_FINAL_ASSEMBLY,ierr);CHKERRA(ierr)<br>
<br>
But it's not working. I don't have those values from the periodic <br>
boundary condition in the global matrix. The return value of MatSetValue <br>
is 0.<br>
<br>
I tried valgrind, but memory access looks ok. I really don't know how to <br>
debug this. Do you have any idea of what could happen here ?<br>
Debug ideas ?<br></blockquote><div><br></div><div>This is strange since we have tests for this kind of insertion. I would make a tiny</div><div>code that adds two neighboring cells and a periodic boundary between the other side.</div><div>If that fails it will be easy for us to look at the figure out what is happening.</div><div><br></div><div>  Thanks,</div><div><br></div><div>     Matt</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
Many thanks,<br>
<br>
Best Regards,<br>
<br>
Yann<br>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div>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><br></div><div><a href="http://www.cse.buffalo.edu/~knepley/" target="_blank">https://www.cse.buffalo.edu/~knepley/</a><br></div></div></div></div></div></div></div></div>