Rate This Document
Findability
Accuracy
Completeness
Readability

KmlScaissCsiPcSet?I?

Set the preconditioner-related parameters for iterative solution. Currently, only the parameters related to the Block JACOBI preconditioner can be set.

Interface Definition

C interface:

int KmlScaissCsiPcSetSII(KmlScasolverTask **handle, enum KmlSolverPreconditionerParam param, const int *data, int nd);

int KmlScaissCsiPcSetSIS(KmlScasolverTask **handle, enum KmlSolverPreconditionerParam param, const float *data, int nd);

int KmlScaissCsiPcSetDII(KmlScasolverTask **handle, enum KmlSolverPreconditionerParam param, const int *data, int nd);

int KmlScaissCsiPcSetDID(KmlScasolverTask **handle, enum KmlSolverPreconditionerParam param, const double *data, int nd);

Parameters

Parameter

Type

Description

Input/Output

handle

KmlScasolverTask **

Solver handle, which is a variable passed from a previous step.

Input/Output

param

enum KmlSolverParam

  • KMLSS_BLOCK_METHOD indicates the preconditioner type in each block.
  • KMLSS_NUM_BLOCKS indicates the number of blocks in each process.
  • KMLSS_BLOCK_SIZES indicates the size of blocks in each process.

Input

data

  • const int * in KmlScaissCsiPcSetSII/KmlScaissCsiPcSetDII
  • const float * in KmlScaissCsiPcSetSIS
  • const double * in KmlScaissCsiPcSetDID

Preconditioner-related parameters (such as the preconditioner type, number of blocks, and block size)

Available preconditioner types:

  1. ILU preconditioner: KMLSS_ILU
  2. ICC preconditioner: KMLSS_ICC
  3. SOR preconditioner: KMLSS_SOR
  4. ILUT preconditioner: KMLSS_ILUT

Input

nd

int

Number of elements in the data array.

Input

Return Value

Return Value

Type

Description

KMLSS_NO_ERROR

int

Normal execution.

KMLSS_DATA_SIZE

int

The value of nd is not 1.

KMLSS_NULL_ARGUMENT

int

A null argument exists in {handle, data}.

KMLSS_BAD_SELECTOR

int

param is invalid.

KMLSS_BAD_PRECONDITIONER

int

The selected preconditioner has not been implemented.

Dependencies

#include "kml_scaiss.h"

For details about the sample code, see Samples.