MatRelax
Computes one relaxation sweep.
Synopsis
int MatRelax(Mat mat,Vec b,double omega,MatSORType flag,double shift,
int its,Vec x)
Collective on Mat and
Vec
Input Parameters
mat | - the matrix
|
b | - the right hand side
|
omega | - the relaxation factor
|
flag | - flag indicating the type of SOR (see below)
|
shift | - diagonal shift
|
its | - the number of iterations
|
Output Parameters
x -the solution (can contain an initial guess)
SOR Flags
SOR_FORWARD_SWEEP -forward SOR
SOR_BACKWARD_SWEEP -backward SOR
SOR_SYMMETRIC_SWEEP -SSOR (symmetric SOR)
SOR_LOCAL_FORWARD_SWEEP -local forward SOR
SOR_LOCAL_BACKWARD_SWEEP -local forward SOR
SOR_LOCAL_SYMMETRIC_SWEEP -local SSOR
SOR_APPLY_UPPER, SOR_APPLY_LOWER -applies
upper/lower triangular part of matrix to
vector (with omega)
SOR_ZERO_INITIAL_GUESS -zero initial guess
Notes
SOR_LOCAL_FORWARD_SWEEP, SOR_LOCAL_BACKWARD_SWEEP,
andSOR_LOCAL_SYMMETRIC_SWEEP perform seperate independent
smoothingson each processor.
Application programmers will not generally use MatRelax() directly,
but instead will employ the SLES/PC interface.
Notes for Advanced Users
The flags are implemented as bitwise inclusive or operations.
For example, use (SOR_ZERO_INITIAL_GUESS | SOR_SYMMETRIC_SWEEP)
to specify a zero initial guess for SSOR.
Keywords
matrix, relax, relaxation, sweep
Location: src/mat/interface/matrix.c
Matrix Index
Table of Contents