> On Jun 3, 2016, at 10:13 AM, Paul Urbanczyk <[email protected]> wrote:
> 
> For the benefit of anyone else who happens to run into this issue...
> 
> Earlier in my code, I had used the function DMDAGetAO(DM da, AO *ao), and 
> then destroyed the AO at the end of the function with AODestroy.
> 
> I'm guessing that, when I did this, I destroyed the AO for the DM, so when it 
> came time to view the matrix, PETSc could not convert the numbering for 
> display.
> 
> Does this sound right or make sense?

   Yes. For PETSc "Get" operations there is sometimes a corresponding "Restore" 
operation and sometimes not but one should never Destroy() an object obtained 
with Get (unless one increased the reference count on the object themselves) 
because it will cause a hanging reference that can cause a crash later.  I'll 
check the manual page for DMDAGetAO to make sure it indicates this.
  
   Barry

> Thanks,
> Paul
> 
> On 05/27/2016 06:43 PM, Matthew Knepley wrote:
>> On Fri, May 27, 2016 at 8:38 PM, Paul Urbanczyk <[email protected]> wrote:
>> On 05/27/2016 05:44 PM, Matthew Knepley wrote:
>>> On Fri, May 27, 2016 at 6:34 PM, Paul Urbanczyk <[email protected]> wrote:
>>> Hello,
>>> 
>>> I'm having trouble with the MatView function drawing the matrix 
>>> structure(s) when I execute my code on multiple processors.
>>> 
>>> When I run on a single processor, the code runs fine, and the graphics 
>>> window displays cleanly.
>>> 
>>> Lets start with an example. I do this
>>> 
>>>   cd $PETSC_DIR/src/snes/examples/tutorials
>>>   make ex19
>>> 
>>> Make sure it runs
>>> 
>>>   ./ex19 -snes_monitor
>>> 
>>> Make sure it runs in parallel (maybe you need 
>>> $PETSC_DIR/$PETSC_ARCH/bin/mpiexec)
>>> 
>>>   mpiexec -n 2 ./ex19 -snes_monitor
>>> 
>>> Make sure it can draw
>>> 
>>>   mpiexec -n 2 ./ex19 -snes_monitor -mat_view draw -draw_pause 1
>>> 
>>> This runs fine for me. Can you try it?
>>> 
>>>   Thanks,
>>> 
>>>      Matt
>> Hello Matt,
>> 
>> Yes, this example seems to run just fine. How should I proceed?
>> 
>> I am not sure what you are doing in your code. Can you try and change one of 
>> these examples
>> to do something like what you do? SNEX ex19 seems like it does things mostly 
>> the way you
>> describe.
>> 
>>   Matt
>>  
>> 
>> -Paul
>>> 
>>> When I run with multiple processors, I get error messages (see below).
>>> 
>>> The matrices are constructed with DMCreateMatrix(da, &A_matrix).
>>> 
>>> I then set the values with 
>>> MatSetValuesStencil(A_matrix,1,&row,2,col_A,value_A,INSERT_VALUES).
>>> 
>>> Finally, I call MatAssemblyBegin(A_matrix,MAT_FINAL_ASSEMBLY) and 
>>> MatAssemblyEnd(A_matrix,MAT_FINAL_ASSEMBLY).
>>> 
>>> I also test that the matrices are assembled with MatAssembled(A_matrix, 
>>> &is_assembled_bool), and it appears they are successfully assembled.
>>> 
>>> Any help/advice is greatly appreciated.
>>> 
>>> Thanks in advance!
>>> 
>>> -Paul Urbanczyk
>>> 
>>> [0]PETSC ERROR: --------------------- Error Message 
>>> --------------------------------------------------------------
>>> [0]PETSC ERROR: Invalid argument
>>> [0]PETSC ERROR: Wrong type of object: Parameter # 1
>>> [0]PETSC ERROR: See http://www.mcs.anl.gov/petsc/documentation/faq.html for 
>>> trouble shooting.
>>> [0]PETSC ERROR: Petsc Release Version 3.7.1, unknown
>>> [0]PETSC ERROR: ./urbanSCFD on a arch-linux2-c-debug named prometheus by 
>>> gomer Fri May 27 16:29:01 2016
>>> [0]PETSC ERROR: Configure options --with-cc=mpicc --with-cxx=mpicxx 
>>> --with-fc=mpif90
>>> [0]PETSC ERROR: #1 AOApplicationToPetsc() line 267 in 
>>> /home/gomer/local/petsc/src/vec/is/ao/interface/ao.c
>>> [0]PETSC ERROR: #2 MatView_MPI_DA() line 557 in 
>>> /home/gomer/local/petsc/src/dm/impls/da/fdda.c
>>> [0]PETSC ERROR: #3 MatView() line 901 in 
>>> /home/gomer/local/petsc/src/mat/interface/matrix.c
>>> [1]PETSC ERROR: --------------------- Error Message 
>>> --------------------------------------------------------------
>>> [1]PETSC ERROR: Invalid argument
>>> [1]PETSC ERROR: Wrong type of object: Parameter # 1
>>> [1]PETSC ERROR: See http://www.mcs.anl.gov/petsc/documentation/faq.html for 
>>> trouble shooting.
>>> [1]PETSC ERROR: Petsc Release Version 3.7.1, unknown
>>> [1]PETSC ERROR: ./urbanSCFD on a arch-linux2-c-debug named prometheus by 
>>> gomer Fri May 27 16:29:01 2016
>>> [1]PETSC ERROR: Configure options --with-cc=mpicc --with-cxx=mpicxx 
>>> --with-fc=mpif90
>>> [1]PETSC ERROR: #1 AOApplicationToPetsc() line 267 in 
>>> /home/gomer/local/petsc/src/vec/is/ao/interface/ao.c
>>> [1]PETSC ERROR: #2 MatView_MPI_DA() line 557 in 
>>> /home/gomer/local/petsc/src/dm/impls/da/fdda.c
>>> [1]PETSC ERROR: #3 MatView() line 901 in 
>>> /home/gomer/local/petsc/src/mat/interface/matrix.c
>>> [0]PETSC ERROR: --------------------- Error Message 
>>> --------------------------------------------------------------
>>> [0]PETSC ERROR: Invalid argument
>>> [1]PETSC ERROR: --------------------- Error Message 
>>> --------------------------------------------------------------
>>> [1]PETSC ERROR: Invalid argument
>>> [1]PETSC ERROR: Wrong type of object: Parameter # 1
>>> [1]PETSC ERROR: See http://www.mcs.anl.gov/petsc/documentation/faq.html for 
>>> trouble shooting.
>>> [1]PETSC ERROR: Petsc Release Version 3.7.1, unknown
>>> [1]PETSC ERROR: ./urbanSCFD on a arch-linux2-c-debug named prometheus by 
>>> gomer Fri May 27 16:29:01 2016
>>> [1]PETSC ERROR: Configure options --with-cc=mpicc --with-cxx=mpicxx 
>>> --with-fc=mpif90
>>> [1]PETSC ERROR: #4 AOApplicationToPetsc() line 267 in 
>>> /home/gomer/local/petsc/src/vec/is/ao/interface/ao.c
>>> [1]PETSC ERROR: #5 MatView_MPI_DA() line 557 in 
>>> /home/gomer/local/petsc/src/dm/impls/da/fdda.c
>>> [1]PETSC ERROR: #6 MatView() line 901 in 
>>> /home/gomer/local/petsc/src/mat/interface/matrix.c
>>> [0]PETSC ERROR: Wrong type of object: Parameter # 1
>>> [0]PETSC ERROR: See http://www.mcs.anl.gov/petsc/documentation/faq.html for 
>>> trouble shooting.
>>> [0]PETSC ERROR: Petsc Release Version 3.7.1, unknown
>>> [0]PETSC ERROR: ./urbanSCFD on a arch-linux2-c-debug named prometheus by 
>>> gomer Fri May 27 16:29:01 2016
>>> [0]PETSC ERROR: Configure options --with-cc=mpicc --with-cxx=mpicxx 
>>> --with-fc=mpif90
>>> [0]PETSC ERROR: #4 AOApplicationToPetsc() line 267 in 
>>> /home/gomer/local/petsc/src/vec/is/ao/interface/ao.c
>>> [0]PETSC ERROR: #5 MatView_MPI_DA() line 557 in 
>>> /home/gomer/local/petsc/src/dm/impls/da/fdda.c
>>> [0]PETSC ERROR: #6 MatView() line 901 in 
>>> /home/gomer/local/petsc/src/mat/interface/matrix.c
>>> 
>>> 
>>> 
>>> 
>>> 
>>> -- 
>>> What most experimenters take for granted before they begin their 
>>> experiments is infinitely more interesting than any results to which their 
>>> experiments lead.
>>> -- Norbert Wiener
>> 
>> 
>> 
>> 
>> -- 
>> What most experimenters take for granted before they begin their experiments 
>> is infinitely more interesting than any results to which their experiments 
>> lead.
>> -- Norbert Wiener
> 

Reply via email to