鲲鹏社区首页
中文
注册
开发者
我要评分
获取效率
正确性
完整性
易理解
在线提单
论坛求助

KmlAmgSolverCreate

创建迭代法求解器句柄。

接口定义

C Interface:KmlAmgStatus KmlAmgSolverCreate(KmlAmgSolverH* solver, const KmlAmgSolverOptions* options);

参数

参数名

类型

描述

输入/输出

solver

KmlAmgSolverH*

求解器句柄,solver不可为空指针

输入/输出

options

const KmlAmgSolverOptions*

求解器配置信息

输入

返回值

返回值

类型

描述

KMLAMG_SUCCESS

int

运行成功

KMLAMG_ERR_INVALID_PARAM

int

参数无效

KMLAMG_ERR_UNSUPPORTED

int

功能暂不支持

KMLAMG_ERR_NULL_POINTER

int

空指针

KMLAMG_ERR_NO_REQUIRED_FIELD

int

没有设置必需字段

KMLAMG_ERR_NO_MEMORY

int

内存分配失败

KMLAMG_ERR_UNKNOWN_TYPE

int

未知的类型

KMLAMG_ERR_UNEXPECTED_CALL_ORDER

int

预期之外的调用顺序

KMLAMG_ERR_NO_RESOURCE

int

资源未就绪

KMLAMG_ERR_INCONSISTENT

int

不同阶段传递的信息不一致

KMLAMG_ERR_UNKNOWN_ERROR

int

未知错误

结构体说明

KmlAmgSolverOptions结构体描述:

字段名

类型

描述

fieldMask

uint64_t

配置生效的字段掩码。非0的位代表配置对应字段指定的值,0的位代表使用默认值,可配置的掩码位请参见具体字段的说明。

valueType

KmlAmgValueType

Solver使用的矩阵数值类型,有如下值:

  • KMLAMG_VALUE_FP32表示float
  • KMLAMG_VALUE_FP64表示double

掩码位:KMLAMG_SOLVER_OPTIONS_VALUE_TYPE

indexType

KmlAmgIndexType

Solver使用的矩阵索引类型,有如下值:

  • KMLAMG_INDEX_INT32表示int32_t
  • KMLAMG_INDEX_INT64表示int64_t(暂不支持)

掩码位:KMLAMG_SOLVER_OPTIONS_INDEX_TYPE

solverType

KmlAmgSolverType

Solver使用算法类型,有如下值:

  • KMLAMG_SOLVER_NONE表示不使用任何迭代法
  • KMLAMG_SOLVER_CG表示使用CG算法(默认值)
  • KMLAMG_SOLVER_BICGSTAB表示使用bicgstab算法
  • KMLAMG_SOLVER_GMRES表示使用gmres算法

掩码位:KMLAMG_SOLVER_OPTIONS_TYPE

numThreads

int32_t

线程数,默认值为1

掩码位:KMLAMG_SOLVER_OPTIONS_NUM_THREADS

依赖

#include "amg4c.h"