中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助

KmlScaissCsiPcSet?I?

设置迭代求解的预条件子相关参数,当前仅支持为block jacobi预条件子设置相关参数。

接口定义

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);

参数

参数名

类型

描述

输入/输出

handle

KmlScasolverTask **

求解器句柄,传入之前步骤的变量。

输入/输出

param

enum KmlSolverParam

  • KMLSS_BLOCK_METHOD表示每个分块中的预条件子类型。
  • KMLSS_NUM_BLOCKS表示每个进程中的分块数量。
  • KMLSS_BLOCK_SIZES表示每个进程中的分块大小。

输入

data

  • 在KmlScaissCsiPcSetSII、KmlScaissCsiPcSetDII中为const int *。
  • 在KmlScaissCsiPcSetSIS中为const float *。
  • 在KmlScaissCsiPcSetDID中为const double *。

预条件子相关参数(如预条件子类型、分块数量、分块大小)。

当前可选择的预条件子类型:

  1. ILU预条件子:KMLSS_ILU。
  2. ICC预条件子:KMLSS_ICC。
  3. SOR预条件子:KMLSS_SOR。
  4. ILUT预条件子:KMLSS_ILUT。

输入

nd

int

data数组元素个数。

输入

返回值

返回值

类型

描述

KMLSS_NO_ERROR

int

正常执行。

KMLSS_DATA_SIZE

int

参数nd不等于1。

KMLSS_NULL_ARGUMENT

int

handle,data中存在空参数。

KMLSS_BAD_SELECTOR

int

param为无效参数。

KMLSS_BAD_PRECONDITIONER

int

选择的预条件子暂未实现。

依赖

#include "kml_scaiss.h"

示例代码请参见示例