bordi.h

This is the test module for incomplete block ordering strategies.

Authors

Xavier LACOSTElac.nosp@m.oste@labr.nosp@m.i.fr
Summary
bordi.hThis is the test module for incomplete block ordering strategies.
orderSplitSubdivide column blocks in column clocks of size blocksize.
orderSplit2Subdivide block columns in blocks of minimum size bsmin.
orderSplit3Splits column blocs such has there is one column block in front of each bloc.
symbolSplitSplits the symbol matrix.
symbolRustineDESCRIPTION TO FILL
These are the cost functions.This routine computes the factorization and solving cost of the given symbolic block matrix, whose nodes hold the number of DOFs given by the proper DOF structure.
symbolCostnTO FILL
bordiThis is the main function TO FILL

orderSplit

void orderSplit (Order * const ordeptr,
INT blocksize)

Subdivide column blocks in column clocks of size blocksize.

WARNING: unused

Parameters

ordeptrOrdering.
blocksizesize of block wanted.

orderSplit2

void orderSplit2 (Order * const ordeptr,
SCOTCH_Graph * const grphptr,
double rho,
INT bsmin)

Subdivide block columns in blocks of minimum size bsmin.  Size depends on rho parameter too.

WARNING: unused

Parameters

ordeptrOrdering.
grphptrGraph corresponding to the matrix.
rhoParameter to compute new bloc size.
bsminMinimal bloc size.

orderSplit3

void orderSplit3 (Order * const ordeptr,
SCOTCH_Graph * const grphptr,
SymbolMatrix * const matrsymb)

Splits column blocs such has there is one column block in front of each bloc.

Parameters

ordeptrOrdering.
grphptrGraph associated to the matrix.
matrsymbSymbol matrix.

symbolSplit

void symbolSplit (SymbolMatrix *matrsymb)

Splits the symbol matrix.

Parameters

matrsymbsymbol matrix

symbolRustine

void symbolRustine (SymbolMatrix *matrsymb,
SymbolMatrix * const matrsymb2)

DESCRIPTION TO FILL

Parameters

matrsymbSymbol matrix
matrsymb2Symbol matrix
Summary
These are the cost functions.This routine computes the factorization and solving cost of the given symbolic block matrix, whose nodes hold the number of DOFs given by the proper DOF structure.

These are the cost functions.

This routine computes the factorization and solving cost of the given symbolic block matrix, whose nodes hold the number of DOFs given by the proper DOF structure.  To ensure maximum accuracy and minimum loss of precision, costs are summed-up recursively.  It returns:

  • 0 : on success.
  • !0 : on error.
  • ********************************************

symbolCostn

int symbolCostn (const SymbolMatrix * const symbptr,
const Dof * const deofptr,
const byte * const keeptab,
const SymbolCostType typeval,
double * const nnzptr,
double * const opcptr)

TO FILL

Parameters

symbptrSymbolic matrix to evaluate
deofptrDOF structure associated with the matrix
keeptabFlag array for blocks to keep
typevalType of cost computation
nnzptrSize of the structure, to be filled
opcptrOperation count, to be filled

bordi

void bordi(int alpha,
SymbolMatrix *symbptr,
SCOTCH_Graph *graphptr,
Order *orderptr)

This is the main function TO FILL

Parameters

alpha - symbptr - graphptr - orderptr -

void orderSplit (Order * const ordeptr,
INT blocksize)
Subdivide column blocks in column clocks of size blocksize.
void orderSplit2 (Order * const ordeptr,
SCOTCH_Graph * const grphptr,
double rho,
INT bsmin)
Subdivide block columns in blocks of minimum size bsmin.
void orderSplit3 (Order * const ordeptr,
SCOTCH_Graph * const grphptr,
SymbolMatrix * const matrsymb)
Splits column blocs such has there is one column block in front of each bloc.
void symbolSplit (SymbolMatrix *matrsymb)
Splits the symbol matrix.
void symbolRustine (SymbolMatrix *matrsymb,
SymbolMatrix * const matrsymb2)
DESCRIPTION TO FILL
int symbolCostn (const SymbolMatrix * const symbptr,
const Dof * const deofptr,
const byte * const keeptab,
const SymbolCostType typeval,
double * const nnzptr,
double * const opcptr)
TO FILL
void bordi(int alpha,
SymbolMatrix *symbptr,
SCOTCH_Graph *graphptr,
Order *orderptr)
This is the main function TO FILL
Close