---
title: KmlAmgSolverSetSetupOptions
description: "设置迭代法求解器的参数。"
url: https://www.hikunpeng.com/document/detail/zh/kunpenghpcs/hpckit/devg/kunpengaccel_kml_0992.html
sourcePath: /source/zh/kunpenghpcs/hpckit/devg/kunpengaccel_kml_0992.html
indexId: b30499b526d1e49cf13ea9508cf5a2e82656db17be847ec664675d070533815d61
---
# KmlAmgSolverSetSetupOptions

设置迭代法求解器的参数。

#### 接口定义

C Interface：KmlAmgStatus KmlAmgSolverSetSetupOptions(KmlAmgSolverH solver, const KmlAmgSolverSetupOptions* options);


#### 参数

| 参数名 | 类型 | 描述 | 输入/输出 |
| --- | --- | --- | --- |
| solver | KmlAmgSolverH | 迭代法求解器句柄 | 输入/输出 |
| options | const KmlAmgSolverSetupOptions\* | 迭代法配置选项 | 输入 |


#### 返回值

| 返回值 | 类型 | 描述 |
| --- | --- | --- |
| 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 | 未知错误 |


#### 结构体说明

KmlAmgSolverSetupOptions结构体描述：

| 字段名 | 类型 | 描述 |
| --- | --- | --- |
| fieldMask | uint64\_t | 配置生效的字段掩码。非0的位代表配置对应字段指定的值，0的位代表使用默认值，可配置的掩码位请参见具体字段的说明 |
| partitionAlgo | KmlAmgPartitionAlgo | 对矩阵进行重排，有如下值： KMLAMG\_PARTITION\_NONE表示不进行重排（默认值） KMLAMG\_PARTITION\_KRDR表示使用krdr算法重排 掩码位：KMLAMG\_SOLVER\_SETUP\_OPTIONS\_PARTITION |
| reusePartition | int8\_t | 重复使用上一次setup的重排（暂不支持） 掩码位：KMLAMG\_SOLVER\_SETUP\_OPTIONS\_REUSE\_PARTITION |
| restartLen | int | 表示gmres的重启长度，只有当solverType为KMLAMG\_SOLVER\_GMRES时生效，默认值为30 掩码位：KMLAMG\_SOLVER\_SETUP\_OPTIONS\_RESTART\_LEN |


#### 依赖

#include "amg4c.h"
