<div dir="ltr"><div><div>In ex59 which is about pcbddc;<br>there is a code block for applying dirichlet boundaries;<br> if (dd.DBC_zerorows) {<br>  ierr = ComputeSpecialBoundaryIndices(dd,&dirichletIS,NULL);CHKERRQ(ierr);<br>  ierr =   MatSetOption(local_mat,MAT_KEEP_NONZERO_PATTERN,PETSC_TRUE);CHKERRQ(ierr);<br>  ierr = MatZeroRowsLocalIS(*A,dirichletIS,1.0,NULL,NULL);CHKERRQ(ierr);<br>  ierr = ISDestroy(&dirichletIS);CHKERRQ(ierr);<br> }<br><br></div>I replaced MatZeroRowsLocalIS function with MatZeroRowsColumnsLocalIS, but got following error;<br>"Need to provide local to global mapping to matrix first" from this line of code in MatZeroRowsColumnsLocal;<br><br>  if (!mat->cmap->mapping) SETERRQ(PetscObjectComm((PetscObject)mat),PETSC_ERR_ARG_WRONGSTATE,"Need to provide local to global mapping to matrix first");<br><br></div><div>As you know MatIS object is created by suppliying an ISLocalToGlobalMapping so it has this info.<br><br></div><div>I think MatIS should be revised in order to be used for MatZeroRowsColumnsLocalIS, I am a newby so dont know how to fix this.<br><br></div><div>Regards,<br><br></div><div>Alp<br></div><div><br></div></div>