Re: [petsc-users] Parallel Matrix Causes a Deadlock

2018-01-29 Thread Smith, Barry F.
> On Jan 29, 2018, at 3:18 AM, Ali Berk Kahraman > wrote: > > Yes, that is exactly what I am trying to do. > > In the documentation it says that MatGetRow cannot be used to alter the > entries, it is only for examining them. So if I understand correctly, do you >

Re: [petsc-users] Parallel Matrix Causes a Deadlock

2018-01-29 Thread Ali Berk Kahraman
Yes, that is exactly what I am trying to do. In the documentation it says that MatGetRow cannot be used to alter the entries, it is only for examining them. So if I understand correctly, do you suggest: 1:MatGetRow, get the row 2:MatSetValues, set the values 3:Do not call assembly, instead

Re: [petsc-users] Parallel Matrix Causes a Deadlock

2018-01-28 Thread Smith, Barry F.
From your code it looks like you are accessing values in a single row, changing them and then putting them back in the same row at the same index locations? If this is the case you should use MatGetRow() to process the values, change the numerical entries in that row as needed and then

Re: [petsc-users] Parallel Matrix Causes a Deadlock

2018-01-28 Thread Smith, Barry F.
In your code there is NO reason to call the MatAssemblyBegin/End where you do. Just pull it out and call it once. I submit this is the same for any other code. Please explain enough about your code (or send it) that has to call the assembly routines a different number of times. You just pull

Re: [petsc-users] Parallel Matrix Causes a Deadlock

2018-01-28 Thread Smith, Barry F.
You are assuming that all processes enter this loop an identical number of times for(loop2=ownbegin;loop2