我要评分
获取效率
正确性
完整性
易理解

KmlScaissCsiSubPcSet?I?

Set the parameters related to the Block-Jacobi sub-preconditioners in the iterative solution.

Interface Definition

C interface:

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

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

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

int KmlScaissCsiSubPcSetDID(KmlScasolverTask **handle, enum KmlSolverPreconditionerParam param, int subn, 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

  • KML_RELAXATION_FACTOR indicates the parameters related to the SOR preconditioner.
  • KMLSS_DROP_FILL indicates the maximum number of elements to be retained per row for the ILUT preconditioner.
  • KMLSS_DROP_TOL indicates the threshold for retaining elements for the ILUT preconditioner.

Input

subn

int

Index of a sub-preconditioner.

Input

data

  • const int * in KmlScaissCsiSubPcSetSII/KmlScaissCsiSubPcSetDII
  • const float * in KmlScaissCsiSubPcSetSIS/KmlScaissCsiSubPcSetSLS
  • const double * in KmlScaissCsiSubPcSetDID/KmlScaissCsiSubPcSetDLD

Parameters related to the preconditioner.

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.