Example which build a global laplacian and solves the system using Murge interface.
This example is independant of the Murged solver used.
The solved problem is very simple :
2 -1 0 0 ... 0 1 1 -1 2 -1 0 ... 0 0 1 .... x . = . 0 ... 2 -1 0 . . 0 ... -1 2 -1 0 1 0 ... 0 -1 2 1 1
M. FAVERGE, J. GAIDAMOUR, P. HENON , X. LACOSTE
|murge-global||Example which build a global laplacian and solves the system using Murge interface.|
|MURGE_CALL||Execute call fonction and test the return value.|
|DIAG_VALUE||The value of the diagonal elements of the matrix|
|EXTRA_DIAG_VALUE||The value of the extra diagonal elements of the matrix.|
|main||Main function of murge-dist example, solving laplacian.|
Main function of murge-dist example, solving laplacian.
Initialize MURGE and default solver options,
Enter the graph in centralised mode, edge by edge using MURGE_GraphGlobalIJV
Fill the ditributed matrix, in one MURGE_MatrixGlobalIJV call.
Set the right hand side member using MURGE_SetGlobalRHS.
Solve the problem and get the local solution using MURGE_GetGlobalSolution.
Distribute the graph on the processors, compress the columns array and use the built CSCd to call PaStiX.
INTS MURGE_GraphGlobalIJV( INTS id, INTS N, INTL NNZ, INTS * ROWS, INTS * COLS, INTS root )
Add the given global Compress Sparse Column matrix to the matrix.
INTS MURGE_MatrixGlobalIJV( INTS id, INTS N, INTL NNZ, INTS * ROWS, INTS * COLS, COEF * values, INTS root, INTS op, INTS sym )
INTS MURGE_SetGlobalRHS( INTS id, COEF * b, INTS root, INTS op )
INTS MURGE_GetGlobalSolution( INTS id, COEF * x, INTS root )