petsc-dev 2014-07-25
Report Typos and Errors

MatAssemblyEnd

Completes assembling the matrix. This routine should be called after MatAssemblyBegin().

Synopsis

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

Input Parameters

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

Options Database Keys

-mat_view ::ascii_info - Prints info on matrix at conclusion of MatEndAssembly()
-mat_view ::ascii_info_detail - Prints more detailed info
-mat_view - Prints matrix in ASCII format
-mat_view ::ascii_matlab - Prints matrix in Matlab format
-mat_view draw - PetscDraws nonzero structure of matrix, using MatView() and PetscDrawOpenX().
-display <name> - Sets display name (default is host)
-draw_pause <sec> - Sets number of seconds to pause after display
-mat_view socket - Sends matrix to socket, can be accessed from Matlab (See Users-Manual: Chapter 10 Using MATLAB with PETSc )
-viewer_socket_machine <machine>- . -viewer_socket_port <port>
-mat_view binary - save matrix to file in binary format
-viewer_binary_filename <name>- Notes: MatSetValues() generally caches the values. The matrix is ready to use only after MatAssemblyBegin() and MatAssemblyEnd() have been called. Use MAT_FLUSH_ASSEMBLY when switching between ADD_VALUES and INSERT_VALUES in MatSetValues(); use MAT_FINAL_ASSEMBLY for the final assembly before using the matrix.

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

See Also

MatAssemblyBegin(), MatSetValues(), PetscDrawOpenX(), PetscDrawCreate(), MatView(), MatAssembled(), PetscViewerSocketOpen()

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