KmlAmgPrecondSetSetupOptions
设置构建预条件子所需要的参数。
接口定义
C Interface:KmlAmgStatus KmlAmgPrecondSetSetupOptions(KmlAmgPrecondH precond, const KmlAmgPrecondSetupOptions* options);
参数
参数名 |
类型 |
描述 |
输入/输出 |
|---|---|---|---|
precond |
KmlAmgPrecondH |
预条件子句柄 |
输入/输出 |
options |
KmlAmgPrecondSetupOptions |
预条件子设置的选项 |
输入 |
返回值
返回值 |
类型 |
描述 |
|---|---|---|
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 |
未知错误 |
结构体说明
KmlAmgPrecondSetupOptions结构体描述:
字段名 |
类型 |
描述 |
|---|---|---|
fieldMask |
uint64_t |
配置生效的字段掩码。非0的位代表配置对应字段指定的值,0的位代表使用默认值,可配置的掩码位请参见具体字段的说明。 |
partitionAlgo |
KmlAmgPartitionAlgo |
对矩阵进行重排,有如下值:
掩码位:KMLAMG_PRECOND_SETUP_OPTIONS_PARTITION |
reusePartition |
int8_t |
重复使用上次setup的重排(暂不支持) 掩码位:KMLAMG_PRECOND_SETUP_OPTIONS_REUSE_PARTITION |
strongThreshold |
double |
AMG做网格粗化时使用的强阈值,默认值为0.25 掩码位:KMLAMG_PRECOND_SETUP_OPTIONS_STRONG_THRESHOLD |
maxLevels |
int32_t |
AMG的最大网格层数,默认值为8 掩码位:KMLAMG_PRECOND_SETUP_OPTIONS_MAX_LEVELS |
coarsenType |
KmlAmgPrecondAmgCoarsenType |
AMG的粗化类型,有如下值:
掩码位:KMLAMG_PRECOND_SETUP_OPTIONS_COARSEN_TYPE |
interpType |
KmlAmgPrecondAmgInterpType |
AMG的插值类型,有如下值:
掩码位:KMLAMG_PRECOND_SETUP_OPTIONS_INTERP_TYPE |
downSmoothType |
KmlAmgPrecondAmgSmoothType |
前平滑算子类型,有如下值:
掩码位:KMLAMG_PRECOND_SETUP_OPTIONS_DOWN_SMOOTH_TYPE |
upSmoothType |
KmlAmgPrecondAmgSmoothType |
后平滑算子类型,有如下值:
掩码位:KMLAMG_PRECOND_SETUP_OPTIONS_UP_SMOOTH_TYPE |
coarsestSmoothType |
KmlAmgPrecondAmgSmoothType |
最粗层平滑算子类型,有如下值:
掩码位:KMLAMG_PRECOND_SETUP_OPTIONS_COARSEST_SMOOTH_TYPE |
依赖
#include "amg4c.h"