problem of parallel MatAssembled
Lisandro Dalcin
dalcinl at gmail.com
Fri May 30 10:37:00 CDT 2008
On 5/30/08, Gong Ding <gdiso at ustc.edu> wrote:
> Hi,
> I use MatAssembled to determine if a parallel matrix (MPIAIJ) is assembled.
> One processor says 1 and another says 0. (Petsc-2.3.3-p2)
> The correct answer should be the same for all the processor I think.
> Is it a bug or I forget something?
Are you completelly sure that you collectively called at ALL processes
MatAssemblyBegin(A, MAT_FINAL_ASSEMBLY)
MatAssemblyEndA, MAT_FINAL_ASSEMBLY)
Please, note the MAT_FINAL_ASSEMBLY. If you used MAT_FLUSH_ASSEMBLY at
some process, then what you get is expected.
> BTW. I think a function as MatAddRowToRow is useful.
> I had implemented with MatGetRow and MatSetValues (or use Mat*Mat?).
Not sure what you are trying to do, please elaborate a bit more. Why a
call like this
PetscInt row = ...
PetscInt ncols = ...
PetscInt *cols_indices = ...
PetscScalar *cols_values = ...
MatSetValues(A, 1, &row, ncols, cols_indices, cols_values, ADD_VALUES)
is not enough for you?
--
Lisandro Dalcín
---------------
Centro Internacional de Métodos Computacionales en Ingeniería (CIMEC)
Instituto de Desarrollo Tecnológico para la Industria Química (INTEC)
Consejo Nacional de Investigaciones Científicas y Técnicas (CONICET)
PTLC - Güemes 3450, (3000) Santa Fe, Argentina
Tel/Fax: +54-(0)342-451.1594
More information about the petsc-users
mailing list