[petsc-dev] PCComputeExplicitOperator error

Barry Smith bsmith at mcs.anl.gov
Wed Aug 6 10:42:59 CDT 2014


  Fixed in maint, next and master

On Aug 4, 2014, at 1:35 PM, Mark Adams <mfadams at lbl.gov> wrote:

> I am getting a new-non-zero error in PCComputeExplicitOperator at the bottom of precon.c.  it looks like the matrix is set to have not memory:
> 
> 
> 
> PetscErrorCode  PCComputeExplicitOperator(PC pc,Mat *mat)
> 
> 
> 
>  ....
> 
> 
> 
>   if (size == 1) {    ierr = MatSetType(*mat,MATSEQDENSE);CHKERRQ(ierr);
> 
>     ierr = MatSeqDenseSetPreallocation(*mat,NULL);CHKERRQ(ierr);
> 
>   } else {
> 
>     ierr = MatSetType(*mat,MATMPIAIJ);CHKERRQ(ierr);
> 
>     ierr = MatMPIAIJSetPreallocation(*mat,0,NULL,0,NULL);CHKERRQ(ierr);
> 
>   }
> 
>  .....
> 
>     ierr = MatSetValues(*mat,m,rows,1,&i,array,INSERT_VALUES);CHKERRQ(ierr);
> 
> 
> 
> I get the error on this last line (#1835 precon.c).  Matt mentioned that this code needed work.  I can work on this but am not sure about the best way to proceed.  I am doing a full Schur complement and don't mind simply going through and solving for each column of A_01 in A_00^-1 * A_01.  I guess the pc->pmat is a matrix shell with (A_11 - A_10 * A_00^-1 * A_01).
> 
> should this just be a dense matrix in parallel as well as not?
> 
> Mark
> 
> 
> 




More information about the petsc-dev mailing list