petsc-3.7.1 2016-05-15
Report Typos and Errors

MatAssemblyBegin

Begins assembling the matrix. This routine should be called after completing all calls to MatSetValues().

Synopsis

#include "petscmat.h" 
PetscErrorCode MatAssemblyBegin(Mat mat,MatAssemblyType type)
Collective on Mat Many br

Input Parameters

mat - the matrix Many br
type - type of assembly, either MAT_FLUSH_ASSEMBLY or MAT_FINAL_ASSEMBLY Many br

Notes

MatSetValues() generally caches the values. The matrix is ready to Many bruse only after MatAssemblyBegin() and MatAssemblyEnd() have been called. Many brUse MAT_FLUSH_ASSEMBLY when switching between ADD_VALUES and INSERT_VALUES Many brin MatSetValues(); use MAT_FINAL_ASSEMBLY for the final assembly before Many brusing the matrix. Many br

ALL processes that share a matrix MUST call MatAssemblyBegin() and MatAssemblyEnd() the SAME NUMBER of times, and each time with the Many brsame flag of MAT_FLUSH_ASSEMBLY or MAT_FINAL_ASSEMBLY for all processes. Thus you CANNOT locally change from ADD_VALUES to INSERT_VALUES, that is Many bra global collective operation requring all processes that share the matrix. Many br

Space for preallocated nonzeros that is not filled by a call to MatSetValues() or a related routine are compressed Many brout by assembly. If you intend to use that extra space on a subsequent assembly, be sure to insert explicit zeros Many brbefore MAT_FINAL_ASSEMBLY so the space is not compressed out. Many br

Many br

See Also

MatAssemblyEnd(), MatSetValues(), MatAssembled()

Level:beginner
Location:
src/mat/interface/matrix.c
Index of all Mat routines
Table of Contents for all manual pages
Index of all manual pages

Examples

src/mat/examples/tutorials/ex2.c.html
src/mat/examples/tutorials/ex5.c.html
src/mat/examples/tutorials/ex8.c.html
src/mat/examples/tutorials/ex12.c.html
src/mat/examples/tutorials/ex15.c.html
src/mat/examples/tutorials/ex16.c.html
src/mat/examples/tutorials/ex17.c.html
src/ksp/pc/examples/tutorials/ex1.c.html
src/ksp/pc/examples/tutorials/ex2.c.html
src/ksp/ksp/examples/tutorials/ex1.c.html
src/ksp/ksp/examples/tutorials/ex2.c.html